rsyntaxtextarea-2.5.0.orig/0000755000175000001440000000000012231031523014376 5ustar benusersrsyntaxtextarea-2.5.0.orig/src/0000755000175000001440000000000012201172610015165 5ustar benusersrsyntaxtextarea-2.5.0.orig/src/org/0000755000175000001440000000000012200540536015761 5ustar benusersrsyntaxtextarea-2.5.0.orig/src/org/fife/0000755000175000001440000000000012200540536016672 5ustar benusersrsyntaxtextarea-2.5.0.orig/src/org/fife/io/0000755000175000001440000000000012202002500017263 5ustar benusersrsyntaxtextarea-2.5.0.orig/src/org/fife/io/UnicodeWriter.java0000644000175000001440000001620012202002500022710 0ustar benusers/* * 09/24/2004 * * UnicodeWriter.java - Writes Unicode output with the proper BOM. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.io; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.UnsupportedEncodingException; import java.io.Writer; /** * Writes Unicode text to an output stream. If the specified encoding is a * Unicode, then the text is preceded by the proper Unicode BOM. If it is any * other encoding, this class behaves just like OutputStreamWriter. * This class is here because Java's OutputStreamWriter apparently * doesn't believe in writing BOMs. *

* * For optimum performance, it is recommended that you wrap all instances of * UnicodeWriter with a java.io.BufferedWriter. * * @author Robert Futrell * @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. */ public static final String PROPERTY_WRITE_UTF8_BOM = "UnicodeWriter.writeUtf8BOM"; /** * The writer actually doing the writing. */ private OutputStreamWriter internalOut; private static final byte[] UTF8_BOM = new byte[] { (byte)0xEF, (byte)0xBB, (byte)0xBF }; private static final byte[] UTF16LE_BOM = new byte[] { (byte)0xFF, (byte)0xFE }; 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. * * @param fileName The file to which to write the Unicode output. * @param encoding The encoding to use. * @throws UnsupportedEncodingException If the specified encoding is not * supported. * @throws IOException If an IO exception occurs. */ public UnicodeWriter(String fileName, String encoding) throws UnsupportedEncodingException, 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. * * @param file The file to which to write the Unicode output. * @param encoding The encoding to use. * @throws UnsupportedEncodingException If the specified encoding is not * supported. * @throws IOException If an IO exception occurs. */ public UnicodeWriter(File file, String encoding) throws UnsupportedEncodingException, IOException { this(new FileOutputStream(file), encoding); } /** * Creates a new writer. * * @param out The output stream to write. * @param encoding The encoding to use. * @throws UnsupportedEncodingException If the specified encoding is not * supported. * @throws IOException If an IO exception occurs. */ public UnicodeWriter(OutputStream out, String encoding) throws UnsupportedEncodingException, IOException { init(out, encoding); } /** * Closes this writer. * * @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. */ @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). * * @return The encoding of the stream. */ public String getEncoding() { return internalOut.getEncoding(); } /** * Returns whether UTF-8 files should have a BOM in them when written. * * @return Whether to write a BOM for UTF-8 files. */ public static boolean getWriteUtf8BOM() { String prop = System.getProperty(PROPERTY_WRITE_UTF8_BOM); if (prop!=null && Boolean.valueOf(prop).equals(Boolean.FALSE)) { return false; } return true; } /** * 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 UnsupportedEncodingException If the specified encoding isn't * supported. * @throws IOException If an I/O error occurs while writing a BOM. */ private void init(OutputStream out, String encoding) throws UnsupportedEncodingException, IOException { internalOut = new OutputStreamWriter(out, encoding); // Write the proper BOM if they specified a Unicode encoding. // NOTE: Creating an OutputStreamWriter with encoding "UTF-16" DOES // DOES write out the BOM; "UTF-16LE", "UTF-16BE", "UTF-32", "UTF-32LE" // and "UTF-32BE" don't. if ("UTF-8".equals(encoding)) { if (getWriteUtf8BOM()) { out.write(UTF8_BOM, 0, UTF8_BOM.length); } } else if ("UTF-16LE".equals(encoding)) { out.write(UTF16LE_BOM, 0, UTF16LE_BOM.length); } else if (/*"UTF-16".equals(encoding) || */"UTF-16BE".equals(encoding)) { out.write(UTF16BE_BOM, 0, UTF16BE_BOM.length); } else if ("UTF-32LE".equals(encoding)) { out.write(UTF32LE_BOM, 0, UTF32LE_BOM.length); } else if ("UTF-32".equals(encoding) || "UTF-32BE".equals(encoding)) { out.write(UTF32BE_BOM, 0, UTF32BE_BOM.length); } } /** * 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. */ @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. */ @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. */ @Override public void write(String str, int off, int len) throws IOException { internalOut.write(str, off, len); } }rsyntaxtextarea-2.5.0.orig/src/org/fife/io/DocumentReader.java0000644000175000001440000001145212202002500023032 0ustar benusers/* * 02/24/2004 * * DocumentReader.java - A reader for javax.swing.text.Document * objects. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.io; import java.io.Reader; import javax.swing.text.BadLocationException; import javax.swing.text.Document; import javax.swing.text.Segment; /** * A Reader for javax.swing.text.Document objects. * * @author Robert Futrell * @version 1.0 */ public class DocumentReader extends Reader { /** * The stream's position in the document. */ private long position; /** * A remembered position in the document. */ private long mark; /** * The document we're working on. */ private Document document; /** * Used for fast character access. */ private Segment segment; /** * Constructor. * * @param document The document we're 'reading'. */ public DocumentReader(Document document) { position = 0; mark = -1; this.document = document; this.segment = new Segment(); } /** * This currently does nothing... */ @Override public void close() { } /** * Marks the present position in the stream. Subsequent calls to * reset() will reposition the stream to this point. * * @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. */ @Override public boolean markSupported() { return true; } /** * Reads the single character at the current position in the document. */ @Override public int read() { if(position>=document.getLength()) { return -1; // Read past end of document. } try { document.getText((int)position,1, segment); position++; return segment.array[segment.offset]; } catch (BadLocationException ble) { /* Should never happen?? */ ble.printStackTrace(); return -1; } } /** * Read array.length characters from the beginning * of the document into array. * * @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. */ @Override public int read(char cbuf[], int off, int len) { int k; if(position>=document.getLength()) { return -1; // Read past end of document. } k = len; if((position+k)>=document.getLength()) k = document.getLength() - (int)position; if(off + k >= cbuf.length) k = cbuf.length - off; try { document.getText((int)position, k, segment); position += k; System.arraycopy(segment.array,segment.offset, cbuf,off, k); return k; } catch (BadLocationException ble) { /* Should never happen ? */ return -1; } } /** * 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. */ @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. */ @Override public void reset() { if(mark==-1) { position = 0; } else { position = mark; mark = -1; } } /** * Skips characters. This will not 'skip' past the end of the document. * * @param n The number of characters to skip. * @return The number of characters actually skipped. */ @Override public long skip(long n) { if (position+n<=document.getLength()) { position += n; return n; } long temp = position; 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. * * @param pos The position in the document to move to. */ public void seek(long pos) { position = Math.min(pos, document.getLength()); } }rsyntaxtextarea-2.5.0.orig/src/org/fife/io/package.html0000644000175000001440000000007312200540536021562 0ustar benusers Utility I/O classes. rsyntaxtextarea-2.5.0.orig/src/org/fife/io/UnicodeReader.java0000644000175000001440000002055312202002500022644 0ustar benusers/* * 09/23/2004 * * UnicodeReader.java - A reader for Unicode input streams that is capable of * discerning which particular encoding is being used via the BOM. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.io; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.IOException; import java.io.PushbackInputStream; import java.io.Reader; /** * A reader capable of identifying Unicode streams by their BOMs. This class * will recognize the following encodings: *

* If the stream is not found to be any of the above, then a default encoding * is used for reading. The user can specify this default encoding, or a system * default will be used.

* * For optimum performance, it is recommended that you wrap all instances of * UnicodeReader with a java.io.BufferedReader.

* * This class is mostly ripped off from the workaround in the description of * Java Bug 4508058. * * @author Robert Futrell * @version 0.9 */ public class UnicodeReader extends Reader { /** * The input stream from which we're really reading. */ private InputStreamReader internalIn = null; /** * The encoding being used. We keep our own instead of using the string * returned by java.io.InputStreamReader since that class * does not return user-friendly names. */ private String encoding; /** * The size of a BOM. */ private static final int BOM_SIZE = 4; /** * This utility constructor is here because you will usually use a * UnicodeReader on files.

* Creates a reader using the encoding specified by the BOM in the file; * if there is no recognized BOM, then a system default encoding is used. * * @param file The file from which you want to read. * @throws IOException If an error occurs when checking for/reading the * BOM. * @throws FileNotFoundException If the file does not exist, is a * directory, or cannot be opened for reading. * @throws SecurityException If a security manager exists and its * checkRead method denies read access to the file. */ public UnicodeReader(String file) throws IOException, FileNotFoundException, SecurityException { this(new File(file)); } /** * This utility constructor is here because you will usually use a * UnicodeReader on files.

* Creates a reader using the encoding specified by the BOM in the file; * if there is no recognized BOM, then a system default encoding is used. * * @param file The file from which you want to read. * @throws IOException If an error occurs when checking for/reading the * BOM. * @throws FileNotFoundException If the file does not exist, is a * directory, or cannot be opened for reading. * @throws SecurityException If a security manager exists and its * checkRead method denies read access to the file. */ public UnicodeReader(File file) throws IOException, FileNotFoundException, SecurityException { this(new FileInputStream(file)); } /** * This utility constructor is here because you will usually use a * UnicodeReader on files.

* Creates a reader using the encoding specified by the BOM in the file; * if there is no recognized BOM, then a specified default encoding is * used. * * @param file The file from which you want to read. * @param defaultEncoding The encoding to use if no BOM is found. If * this value is null, a system default is used. * @throws IOException If an error occurs when checking for/reading the * BOM. * @throws FileNotFoundException If the file does not exist, is a * directory, or cannot be opened for reading. * @throws SecurityException If a security manager exists and its * checkRead method denies read access to the file. */ public UnicodeReader(File file, String defaultEncoding) throws IOException, FileNotFoundException, SecurityException { this(new FileInputStream(file), defaultEncoding); } /** * Creates a reader using the encoding specified by the BOM in the file; * if there is no recognized BOM, then a system default encoding is used. * * @param in The input stream from which to read. * @throws IOException If an error occurs when checking for/reading the * BOM. */ public UnicodeReader(InputStream in) throws IOException { this(in, null); } /** * Creates a reader using the encoding specified by the BOM in the file; * if there is no recognized BOM, then defaultEncoding is * used. * * @param in The input stream from which to read. * @param defaultEncoding The encoding to use if no recognized BOM is * found. If this value is null, a system default * is used. * @throws IOException If an error occurs when checking for/reading the * BOM. */ public UnicodeReader(InputStream in, String defaultEncoding) throws IOException { init(in, defaultEncoding); } /** * Closes this reader. */ @Override public void close() throws IOException { internalIn.close(); } /** * Returns the encoding being used to read this input stream (i.e., the * encoding of the file). If a BOM was recognized, then the specific * Unicode type is returned; otherwise, either the default encoding passed * into the constructor or the system default is returned. * * @return The encoding of the stream. */ public String getEncoding() { return encoding; } /** * Read-ahead four bytes and check for BOM marks. Extra bytes are * unread back to the stream, only BOM bytes are skipped. * * @param defaultEncoding The encoding to use if no BOM was recognized. If * this value is null, then a system default is used. * @throws IOException If an error occurs when trying to read a BOM. */ protected void init(InputStream in, String defaultEncoding) throws IOException { PushbackInputStream tempIn = new PushbackInputStream(in, BOM_SIZE); byte bom[] = new byte[BOM_SIZE]; int n, unread; n = tempIn.read(bom, 0, bom.length); if ((bom[0]==(byte)0x00) && (bom[1]==(byte)0x00) && (bom[2]==(byte)0xFE) && (bom[3]==(byte)0xFF)) { encoding = "UTF-32BE"; unread = n - 4; } else if (n==BOM_SIZE && // Last 2 bytes are 0; could be an empty UTF-16 (bom[0]==(byte)0xFF) && (bom[1]==(byte)0xFE) && (bom[2]==(byte)0x00) && (bom[3]==(byte)0x00)) { encoding = "UTF-32LE"; unread = n - 4; } else if ((bom[0]==(byte)0xEF) && (bom[1]==(byte)0xBB) && (bom[2]==(byte)0xBF)) { encoding = "UTF-8"; unread = n - 3; } else if ((bom[0]==(byte)0xFE) && (bom[1] == (byte)0xFF)) { encoding = "UTF-16BE"; unread = n - 2; } else if ((bom[0]==(byte)0xFF) && (bom[1]== (byte)0xFE)) { encoding = "UTF-16LE"; unread = n - 2; } else { // Unicode BOM mark not found, unread all bytes encoding = defaultEncoding; unread = n; } if (unread > 0) tempIn.unread(bom, (n - unread), unread); else if (unread < -1) tempIn.unread(bom, 0, 0); // Use given encoding if (encoding == null) { internalIn = new InputStreamReader(tempIn); encoding = internalIn.getEncoding(); // Get the default. } else { internalIn = new InputStreamReader(tempIn, encoding); } } /** * Read characters into a portion of an array. This method will block until * some input is available, an I/O error occurs, or the end of the stream * is reached. * * @param cbuf The buffer into which to read. * @param off The offset at which to start storing characters. * @param len The maximum number of characters to read. * * @return The number of characters read, or -1 if the end * of the stream has been reached. */ @Override public int read(char[] cbuf, int off, int len) throws IOException { return internalIn.read(cbuf, off, len); } }rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/0000755000175000001440000000000012200540536017307 5ustar benusersrsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/0000755000175000001440000000000012206726410022560 5ustar benusersrsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/TokenOrientedView.java0000644000175000001440000000453512201172436027035 0ustar benusers/* * 08/06/2004 * * TokenOrientedView.java - An interface for the syntax-highlighting token- * oriented views for token-oriented methods. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea; /** * An interface for the syntax-highlighting token oriented views for * token-oriented methods. This way callers won't need to know what specific * class a view is an instance of to access its tokens.

* * Currently, this interface is only useful for obtaining token lists for * "physical lines" (i.e., a word-wrapped view's logical lines may be * represented as several physical lines, thus getting the "physical line" above * a given position may prove complicated). * * @author Robert Futrell * @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. * * @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. */ public 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. * * @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. */ public Token getTokenListForPhysicalLineBelow(int offset); }rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/WrappedSyntaxView.java0000644000175000001440000013214612202002500027055 0ustar benusers/* * 08/06/2004 * * WrappedSyntaxView.java - Test implementation of WrappedSyntaxView that * is also aware of RSyntaxTextArea's different fonts per token type. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea; import java.awt.*; import javax.swing.text.*; import javax.swing.text.Position.Bias; import javax.swing.event.*; import org.fife.ui.rsyntaxtextarea.TokenUtils.TokenSubList; import org.fife.ui.rsyntaxtextarea.folding.Fold; import org.fife.ui.rsyntaxtextarea.folding.FoldManager; import org.fife.ui.rtextarea.Gutter; /** * The view used by {@link RSyntaxTextArea} when word wrap is enabled. * * @author Robert Futrell * @version 0.2 */ public class WrappedSyntaxView extends BoxView implements TabExpander, RSTAView { boolean widthChanging; int tabBase; int tabSize; /** * This is reused to keep from allocating/deallocating. */ private Segment s, drawSeg; /** * Another variable initialized once to keep from allocating/deallocating. */ private Rectangle tempRect; /** * Cached for each paint() call so each drawView() call has access to it. */ private RSyntaxTextArea host; private FontMetrics metrics; private TokenImpl tempToken; private TokenImpl lineCountTempToken; // /** // * The end-of-line marker. // */ // 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. */ private static final int MIN_WIDTH = 20; /** * Creates a new WrappedSyntaxView. Lines will be wrapped * on character boundaries. * * @param elem the element underlying the view */ public WrappedSyntaxView(Element elem) { super(elem, Y_AXIS); tempToken = new TokenImpl(); s = new Segment(); drawSeg = new Segment(); 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. */ protected int calculateBreakPosition(int p0, Token tokenList, float x0) { //System.err.println("------ beginning calculateBreakPosition() --------"); int p = p0; RSyntaxTextArea textArea = (RSyntaxTextArea)getContainer(); float currentWidth = getWidth(); if (currentWidth==Integer.MAX_VALUE) currentWidth = getPreferredSpan(X_AXIS); // Make sure width>0; this is a huge hack to fix a bug where // loading text into an RTextArea before it is visible if word wrap // is enabled causes an infinite loop in calculateBreakPosition() // because of the 0-width! We cannot simply check in setSize() // because the width is set to 0 somewhere else too somehow... currentWidth = Math.max(currentWidth, MIN_WIDTH); Token t = tokenList; while (t!=null && t.isPaintable()) { // FIXME: Replace the code below with the commented-out line below. This will // allow long tokens to be broken at embedded spaces (such as MLC's). But it // currently throws BadLocationExceptions sometimes... float tokenWidth = t.getWidth(textArea, this, x0); if (tokenWidth>currentWidth) { // If the current token alone is too long for this line, // break at a character boundary. if (p==p0) { return t.getOffsetBeforeX(textArea, this, 0, currentWidth); } // Return the first non-whitespace char (i.e., don't start // off the continuation of a wrapped line with whitespace). return t.isWhitespace() ? p+t.length() : p; //return getBreakLocation(t, fm, x0, currentWidth, this); } currentWidth -= tokenWidth; x0 += tokenWidth; p += t.length(); //System.err.println("*** *** *** token fit entirely (width==" + tokenWidth + "), adding " + t.textCount + " to p, now p==" + p); t = t.getNextToken(); } //System.err.println("... ... whole line fits; returning p==" + p); //System.err.println("------ ending calculateBreakPosition() --------"); // return p; return p + 1; } //private int getBreakLocation(Token t, FontMetrics fm, int x0, int x, // TabExpander e) { // Segment s = new Segment(); // s.array = t.text; // s.offset = t.getTextOffset(); // s.count = t.textCount; // 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. * * @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. * * @param line * @param y * @param alloc */ private void childAllocation2(int line, int y, Rectangle alloc) { alloc.x += getOffset(X_AXIS, line); alloc.y += y; alloc.width = getSpan(X_AXIS, line); alloc.height = getSpan(Y_AXIS, line); // FIXME: This is required due to a bug that I can't track down. The // top margin is being added twice somewhere in wrapped views, so we // have to adjust for it here. alloc.y -= host.getMargin().top; } /** * 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. */ protected void drawView(TokenPainter painter, Graphics2D g, Rectangle r, View view, int fontHeight, int y) { float x = r.x; LayeredHighlighter h = (LayeredHighlighter)host.getHighlighter(); RSyntaxDocument document = (RSyntaxDocument)getDocument(); Element map = getElement(); int p0 = view.getStartOffset(); int lineNumber = map.getElementIndex(p0); int p1 = view.getEndOffset();// - 1; setSegment(p0,p1-1, document, drawSeg); //System.err.println("drawSeg=='" + drawSeg + "' (p0/p1==" + p0 + "/" + p1 + ")"); int start = p0 - drawSeg.offset; Token token = document.getTokenListForLine(lineNumber); // If this line is an empty line, then the token list is simply a // null token. In this case, the line highlight will be skipped in // the loop below, so unfortunately we must manually do it here. if (token!=null && token.getType()==Token.NULL) { h.paintLayeredHighlights(g, p0,p1, r, host, this); return; } // Loop through all tokens in this view and paint them! while (token!=null && token.isPaintable()) { int p = calculateBreakPosition(p0, token, x); x = r.x; h.paintLayeredHighlights(g, p0,p, r, host, this); while (token!=null && token.isPaintable() && token.getEndOffset()-1View 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) { float x = r.x; LayeredHighlighter h = (LayeredHighlighter)host.getHighlighter(); RSyntaxDocument document = (RSyntaxDocument)getDocument(); Element map = getElement(); int p0 = view.getStartOffset(); int lineNumber = map.getElementIndex(p0); int p1 = view.getEndOffset();// - 1; setSegment(p0,p1-1, document, drawSeg); //System.err.println("drawSeg=='" + drawSeg + "' (p0/p1==" + p0 + "/" + p1 + ")"); int start = p0 - drawSeg.offset; Token token = document.getTokenListForLine(lineNumber); // If this line is an empty line, then the token list is simply a // null token. In this case, the line highlight will be skipped in // the loop below, so unfortunately we must manually do it here. if (token!=null && token.getType()==Token.NULL) { h.paintLayeredHighlights(g, p0,p1, r, host, this); return; } // Loop through all tokens in this view and paint them! while (token!=null && token.isPaintable()) { int p = calculateBreakPosition(p0, token, x); x = r.x; h.paintLayeredHighlights(g, p0,p, r, host, this); while (token!=null && token.isPaintable() && token.getEndOffset()-1token.getOffset()) { tempToken.copyFrom(token); tempToken.textCount = selStart - tempToken.getOffset(); x = painter.paint(tempToken,g,x,y,host, this); tempToken.textCount = token.length(); tempToken.makeStartAt(selStart); // Clone required since token and tempToken must be // different tokens for else statement below token = new TokenImpl(tempToken); } int selCount = Math.min(token.length(), selEnd-token.getOffset()); if (selCount==token.length()) { x = painter.paintSelected(token, g, x,y, host, this); } else { tempToken.copyFrom(token); tempToken.textCount = selCount; x = painter.paintSelected(tempToken, g, x,y, host, this); tempToken.textCount = token.length(); tempToken.makeStartAt(token.getOffset() + selCount); token = tempToken; x = painter.paint(token, g, x,y, host, this); } } // Selection ends in this token else if (token.containsPosition(selEnd)) { tempToken.copyFrom(token); tempToken.textCount = selEnd - tempToken.getOffset(); x = painter.paintSelected(tempToken, g, x,y, host, this); tempToken.textCount = token.length(); tempToken.makeStartAt(selEnd); token = tempToken; x = painter.paint(token, g, x,y, host, this); } // This token is entirely selected else if (token.getOffset()>=selStart && token.getEndOffset()<=selEnd) { x = painter.paintSelected(token, g, x,y, host, this); } // This token is entirely unselected else { x = painter.paint(token, g, x,y, host, this); } token = token.getNextToken(); } // If there's a token that's going to be split onto the next line if (token!=null && token.isPaintable() && token.getOffset()token.getOffset()) { tempToken.copyFrom(token); tempToken.textCount = selStart - tempToken.getOffset(); x = painter.paint(tempToken,g,x,y,host, this); tempToken.textCount = token.length(); tempToken.makeStartAt(selStart); // Clone required since token and tempToken must be // different tokens for else statement below token = new TokenImpl(tempToken); } int selCount = Math.min(token.length(), selEnd-token.getOffset()); if (selCount==token.length()) { x = painter.paintSelected(token, g, x,y, host, this); } else { tempToken.copyFrom(token); tempToken.textCount = selCount; x = painter.paintSelected(tempToken, g, x,y, host, this); tempToken.textCount = token.length(); tempToken.makeStartAt(token.getOffset() + selCount); token = tempToken; x = painter.paint(token, g, x,y, host, this); } } // Selection ends in this token else if (token.containsPosition(selEnd)) { tempToken.copyFrom(token); tempToken.textCount = selEnd - tempToken.getOffset(); x = painter.paintSelected(tempToken, g, x,y, host, this); tempToken.textCount = token.length(); tempToken.makeStartAt(selEnd); token = tempToken; x = painter.paint(token, g, x,y, host, this); } // This token is entirely selected else if (token.getOffset()>=selStart && token.getEndOffset()<=selEnd) { x = painter.paintSelected(token, g, x,y, host, this); } // This token is entirely unselected else { x = painter.paint(token, g, x,y, host, this); } token = new TokenImpl(orig); ((TokenImpl)token).makeStartAt(p); } p0 = (p==p0) ? p1 : p; y += fontHeight; } // End of while (token!=null && token.isPaintable()). // NOTE: We should re-use code from Token (paintBackground()) here, // but don't because I'm just too lazy. if (host.getEOLMarkersVisible()) { g.setColor(host.getForegroundForTokenType(Token.WHITESPACE)); g.setFont(host.getFontForTokenType(Token.WHITESPACE)); g.drawString("\u00B6", x, 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 */ @Override public Shape getChildAllocation(int index, Shape a) { if (a != null) { Shape ca = getChildAllocationImpl(index, a); if ((ca != null) && (!isAllocationValid())) { // The child allocation may not have been set yet. Rectangle r = (ca instanceof Rectangle) ? (Rectangle) ca : ca .getBounds(); if ((r.width == 0) && (r.height == 0)) { return null; } } return ca; } 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 * @return The allocation to the child */ public Shape getChildAllocationImpl(int line, Shape a) { Rectangle alloc = getInsideAllocation(a); host = (RSyntaxTextArea)getContainer(); FoldManager fm = host.getFoldManager(); int y = alloc.y; // TODO: Make cached getOffset() calls for Y_AXIS valid even for // folding, to speed this up! for (int i=0; isetParent 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 */ @Override protected void loadChildren(ViewFactory f) { Element e = getElement(); int n = e.getElementCount(); if (n > 0) { View[] added = new View[n]; for (int i = 0; i < n; i++) added[i] = new WrappedLine(e.getElement(i)); replace(0, 0, added); } } @Override public Shape modelToView(int pos, Shape a, Position.Bias b) throws BadLocationException { if (! isAllocationValid()) { Rectangle alloc = a.getBounds(); setSize(alloc.width, alloc.height); } boolean isBackward = (b == Position.Bias.Backward); int testPos = (isBackward) ? Math.max(0, pos - 1) : pos; if(isBackward && testPos < getStartOffset()) { return null; } int vIndex = getViewIndexAtPosition(testPos); if ((vIndex != -1) && (vIndex < getViewCount())) { View v = getView(vIndex); if(v != null && testPos >= v.getStartOffset() && testPos < v.getEndOffset()) { Shape childShape = getChildAllocation(vIndex, a); if (childShape == null) { // We are likely invalid, fail. return null; } Shape retShape = v.modelToView(pos, childShape, b); if(retShape == null && v.getEndOffset() == pos) { if(++vIndex < getViewCount()) { v = getView(vIndex); retShape = v.modelToView(pos, getChildAllocation(vIndex, a), b); } } return retShape; } } 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.

* * 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: *

* @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 public Shape modelToView(int p0, Position.Bias b0, int p1, Position.Bias b1, Shape a) throws BadLocationException { Shape s0 = modelToView(p0, a, b0); Shape s1; if (p1 ==getEndOffset()) { try { s1 = modelToView(p1, a, b1); } catch (BadLocationException ble) { s1 = null; } if (s1 == null) { // Assume extends left to right. Rectangle alloc = (a instanceof Rectangle) ? (Rectangle)a : a.getBounds(); s1 = new Rectangle(alloc.x + alloc.width - 1, alloc.y, 1, alloc.height); } } else { s1 = modelToView(p1, a, b1); } Rectangle r0 = s0.getBounds(); Rectangle r1 = (s1 instanceof Rectangle) ? (Rectangle) s1 : s1.getBounds(); if (r0.y != r1.y) { // If it spans lines, force it to be the width of the view. Rectangle alloc = (a instanceof Rectangle) ? (Rectangle)a : a.getBounds(); r0.x = alloc.x; r0.width = alloc.width; } r0.add(r1); // The next line is the only difference between this method and // View's implementation. We're subtracting the width of the second // character. This is because this method is used by Highlighter // implementations to get the area to "highlight", and if we don't do // this, one character too many is highlighted thanks to our // modelToView() implementation returning the actual width of the // character requested! if (p1>p0) r0.width -= r1.width; 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. * * @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 */ public float nextTabStop(float x, int tabOffset) { if (tabSize == 0) return x; int ntabs = ((int) x - tabBase) / tabSize; return tabBase + ((ntabs + 1) * 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. */ @Override public void paint(Graphics g, Shape a) { Rectangle alloc = (a instanceof Rectangle) ? (Rectangle)a : a.getBounds(); tabBase = alloc.x; Graphics2D g2d = (Graphics2D)g; host = (RSyntaxTextArea)getContainer(); int ascent = host.getMaxAscent(); int fontHeight = host.getLineHeight(); FoldManager fm = host.getFoldManager(); TokenPainter painter = host.getTokenPainter(); Element root = getElement(); // Whether token styles should always be painted, even in selections int selStart = host.getSelectionStart(); int selEnd = host.getSelectionEnd(); boolean useSelectedTextColor = host.getUseSelectedTextColor(); int n = getViewCount(); // Number of lines. int x = alloc.x + getLeftInset(); tempRect.y = alloc.y + getTopInset(); Rectangle clip = g.getClipBounds(); for (int i = 0; i < n; i++) { tempRect.x = x + getOffset(X_AXIS, i); //tempRect.y = y + getOffset(Y_AXIS, i); tempRect.width = getSpan(X_AXIS, i); tempRect.height = getSpan(Y_AXIS, i); //System.err.println("For line " + i + ": tempRect==" + tempRect); if (tempRect.intersects(clip)) { Element lineElement = root.getElement(i); int startOffset = lineElement.getStartOffset(); int endOffset = lineElement.getEndOffset()-1; // Why always "-1"? View view = getView(i); if (!useSelectedTextColor || selStart==selEnd || (startOffset>=selEnd || endOffsetSegment 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. */ private void setSegment(int p0, int p1, Document document, Segment seg) { try { //System.err.println("... in setSharedSegment, p0/p1==" + p0 + "/" + p1); document.getText(p0, p1-p0, seg); //System.err.println("... in setSharedSegment: s=='" + s + "'; line/numLines==" + line + "/" + numLines); } catch (BadLocationException ble) { // Never happens 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. * * @param width the width >= 0 * @param height the height >= 0 */ @Override public void setSize(float width, float height) { updateMetrics(); if ((int) width != getWidth()) { // invalidate the view itself since the childrens // desired widths will be based upon this views width. preferenceChanged(null, true, true); widthChanging = true; } super.setSize(width, height); widthChanging = false; } /** * Update the child views in response to a * document event. */ void updateChildren(DocumentEvent e, Shape a) { Element elem = getElement(); DocumentEvent.ElementChange ec = e.getChange(elem); // This occurs when syntax highlighting only changes on lines // (i.e. beginning a multiline comment). if (e.getType()==DocumentEvent.EventType.CHANGE) { //System.err.println("Updating the damage due to a CHANGE event..."); // FIXME: Make me repaint more intelligently. getContainer().repaint(); //damageLineRange(startLine,endLine, a, host); } else if (ec != null) { // the structure of this element changed. Element[] removedElems = ec.getChildrenRemoved(); Element[] addedElems = ec.getChildrenAdded(); View[] added = new View[addedElems.length]; for (int i = 0; i < addedElems.length; i++) added[i] = new WrappedLine(addedElems[i]); //System.err.println("Replacing " + removedElems.length + // " children with " + addedElems.length); replace(ec.getIndex(), removedElems.length, added); // should damge a little more intelligently. if (a != null) { preferenceChanged(null, true, true); getContainer().repaint(); } } // 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; if (! isAllocationValid()) { Rectangle alloc = a.getBounds(); setSize(alloc.width, alloc.height); } // Get the child view for the line at (x,y), and ask it for the // specific offset. Rectangle alloc = getInsideAllocation(a); View v = getViewAtPoint((int) x, (int) y, alloc); if (v != null) { offs = v.viewToModel(x, y, alloc, bias); } // Code folding may have hidden the last line. If so, return the last // visible offset instead of the last offset. if (host.isCodeFoldingEnabled() && v==getView(getViewCount()-1) && offs==v.getEndOffset()-1) { offs = host.getLastVisibleOffset(); } return offs; } /** * {@inheritDoc} */ public int yForLine(Rectangle alloc, int line) throws BadLocationException { return yForLineContaining(alloc, getElement().getElement(line).getStartOffset()); //return alloc.y + getOffset(Y_AXIS, line); } /** * {@inheritDoc} */ public int yForLineContaining(Rectangle alloc, int offs) throws BadLocationException { if (isAllocationValid()) { // TODO: make cached Y_AXIS offsets valid even with folding enabled // to speed this back up! Rectangle r = (Rectangle)modelToView(offs, alloc, Bias.Forward); if (r!=null) { if (host.isCodeFoldingEnabled()) { int line = host.getLineOfOffset(offs); FoldManager fm = host.getFoldManager(); if (fm.isLineHidden(line)) { return -1; } } return r.y; } } 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. */ class WrappedLine extends View { int nlines; WrappedLine(Element elem) { super(elem); } /** * Calculate the number of lines that will be rendered * by logical line when it is wrapped. */ final int calculateLineCount() { int nlines = 0; int startOffset = getStartOffset(); int p1 = getEndOffset(); // Get the token list for this line so we don't have to keep // recomputing it if this logical line spans multiple physical // lines. RSyntaxTextArea textArea = (RSyntaxTextArea)getContainer(); RSyntaxDocument doc = (RSyntaxDocument)getDocument(); Element map = doc.getDefaultRootElement(); int line = map.getElementIndex(startOffset); Token tokenList = doc.getTokenListForLine(line); float x0 = 0;// FIXME: should be alloc.x!! alloc.x;//0; //System.err.println(">>> calculateLineCount: " + startOffset + "-" + p1); for (int p0=startOffset; p0>> >>> calculated number of lines for this view (line " + line + "/" + numLines + ": " + nlines); */ return nlines; } /** * 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. * @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); } } /** * 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 * @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. * * @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. */ @Override public Shape modelToView(int pos, Shape a, Position.Bias b) throws BadLocationException { //System.err.println("--- begin modelToView ---"); Rectangle alloc = a.getBounds(); RSyntaxTextArea textArea = (RSyntaxTextArea)getContainer(); alloc.height = textArea.getLineHeight();//metrics.getHeight(); alloc.width = 1; int p0 = getStartOffset(); int p1 = getEndOffset(); int testP = (b == Position.Bias.Forward) ? pos : Math.max(p0, pos - 1); // Get the token list for this line so we don't have to keep // recomputing it if this logical line spans multiple physical // lines. RSyntaxDocument doc = (RSyntaxDocument)getDocument(); Element map = doc.getDefaultRootElement(); int line = map.getElementIndex(p0); Token tokenList = doc.getTokenListForLine(line); float x0 = alloc.x;//0; while (p0 < p1) { 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 p0) { alloc = RSyntaxUtilities.getLineWidthUpTo( textArea, s, p0, pos, WrappedSyntaxView.this, alloc, alloc.x); } //System.err.println("--- end modelToView ---"); return alloc; } p0 = (p == p0) ? p1 : p; //System.err.println("... ... Incrementing y"); alloc.y += alloc.height; } throw new BadLocationException(null, pos); } /** * 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 * @see View#viewToModel */ @Override public int viewToModel(float fx, float fy, Shape a, Position.Bias[] bias) { // PENDING(prinz) implement bias properly bias[0] = Position.Bias.Forward; Rectangle alloc = (Rectangle) a; RSyntaxDocument doc = (RSyntaxDocument)getDocument(); int x = (int) fx; int y = (int) fy; if (y < alloc.y) { // above the area covered by this icon, so the the position // is assumed to be the start of the coverage for this view. return getStartOffset(); } else if (y > alloc.y + alloc.height) { // below the area covered by this icon, so the the position // is assumed to be the end of the coverage for this view. return getEndOffset() - 1; } else { // positioned within the coverage of this view vertically, // so we figure out which line the point corresponds to. // if the line is greater than the number of lines // contained, then simply use the last line as it represents // the last possible place we can position to. RSyntaxTextArea textArea = (RSyntaxTextArea)getContainer(); alloc.height = textArea.getLineHeight(); int p1 = getEndOffset(); // Get the token list for this line so we don't have to keep // recomputing it if this logical line spans multiple // physical lines. Element map = doc.getDefaultRootElement(); int p0 = getStartOffset(); int line = map.getElementIndex(p0); Token tlist = doc.getTokenListForLine(line); // Look at each physical line-chunk of this logical line. while (p0=alloc.y) && (y<(alloc.y+alloc.height))) { // Point is to the left of the line if (x < alloc.x) { return p0; } // Point is to the right of the line else if (x > alloc.x + alloc.width) { return p - 1; } // Point is in this physical line! else { // Start at alloc.x since this chunk starts // at the beginning of a physical line. int n = tlist.getListOffset(textArea, WrappedSyntaxView.this, alloc.x, x); // NOTE: We needed to add the max() with // p0 as getTokenListForLine returns -1 // for empty lines (just a null token). // How did this work before? // FIXME: Have null tokens have their // offset but a -1 length. return Math.max(Math.min(n, p1-1), p0); } // End of else. } // End of if ((y>=alloc.y) && ... p0 = (p == p0) ? p1 : p; alloc.y += alloc.height; } // End of while (p0%2F", * removed). */ private String fileName; /** * Constructor. * * @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. * * @return The full path to use. */ private String createFileFullPath() { String fullPath = url.toString(); fullPath = fullPath.replaceFirst("://([^:]+)(?:.+)@", "://$1@"); return fullPath; } /** * Creates the "prettied-up" filename to use. * * @return The base name of the file of this URL. */ private String createFileName() { String fileName = url.getPath(); if (fileName.startsWith("/%2F/")) { // Absolute path fileName = fileName.substring(4); } else if (fileName.startsWith("/")) { // All others fileName = fileName.substring(1); } 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). * * @return The last time this file was modified. This will always be * {@link TextEditorPane#LAST_MODIFIED_UNKNOWN} for URL's. */ @Override protected long getActualLastModified() { return TextEditorPane.LAST_MODIFIED_UNKNOWN; } /** * {@inheritDoc} */ @Override public String getFileFullPath() { return fileFullPath; } /** * {@inheritDoc} */ @Override public String getFileName() { return fileName; } /** * {@inheritDoc} */ @Override protected InputStream getInputStream() throws IOException { return url.openStream(); } /** * {@inheritDoc} */ @Override protected OutputStream getOutputStream() throws IOException { return url.openConnection().getOutputStream(); } /** * Returns whether this file location is a local file. * * @return Whether this is a local file. * @see #isLocalAndExists() */ @Override 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. * * @return false always. * @see #isLocal() */ @Override public boolean isLocalAndExists() { return false; } }rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/RSyntaxTextAreaHighlighter.java0000644000175000001440000003131212202002500030627 0ustar benusers/* * 04/23/2009 * * RSyntaxTextAreaHighlighter.java - Highlighter for RTextAreas. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea; import java.awt.Color; import java.awt.Graphics; import java.awt.Insets; import java.awt.Rectangle; import java.awt.Shape; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import javax.swing.plaf.TextUI; import javax.swing.plaf.basic.BasicTextUI.BasicHighlighter; import javax.swing.text.BadLocationException; import javax.swing.text.Document; import javax.swing.text.Element; import javax.swing.text.Highlighter; import javax.swing.text.JTextComponent; import javax.swing.text.LayeredHighlighter; import javax.swing.text.Position; import javax.swing.text.View; import org.fife.ui.rsyntaxtextarea.parser.Parser; import org.fife.ui.rsyntaxtextarea.parser.ParserNotice; import org.fife.ui.rtextarea.RTextArea; /** * 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.

* * Most of this code is copied from javax.swing.text.DefaultHighlighter; * unfortunately, we cannot re-use much of it since it is package private. * * @author Robert Futrell * @version 1.0 */ public class RSyntaxTextAreaHighlighter extends BasicHighlighter { /** * The text component we are the highlighter for. */ private RTextArea textArea; /** * 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. */ 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. */ public RSyntaxTextAreaHighlighter() { markedOccurrences = new ArrayList(); parserHighlights = new ArrayList(0); // Often unused } /** * Adds a special "marked occurrence" highlight. * * @param start * @param end * @param p * @return A tag to reference the highlight later. * @throws BadLocationException * @see #clearMarkOccurrencesHighlights() */ Object addMarkedOccurrenceHighlight(int start, int end, MarkOccurrencesHighlightPainter p) throws BadLocationException { Document doc = textArea.getDocument(); TextUI mapper = textArea.getUI(); // Always layered highlights for marked occurrences. HighlightInfoImpl i = new LayeredHighlightInfoImpl(); i.painter = p; i.p0 = doc.createPosition(start); // HACK: Use "end-1" to prevent chars the user types at the "end" of // the highlight to be absorbed into the highlight (default Highlight // behavior). i.p1 = doc.createPosition(end-1); markedOccurrences.add(i); mapper.damageRange(textArea, start, end); return i; } /** * Adds a special "marked occurrence" highlight. * * @param notice The notice from a {@link Parser}. * @return A tag with which to reference the highlight. * @throws BadLocationException * @see #clearParserHighlights() * @see #clearParserHighlights(Parser) */ HighlightInfo addParserHighlight(ParserNotice notice, HighlightPainter p) throws BadLocationException { Document doc = textArea.getDocument(); TextUI mapper = textArea.getUI(); int start = notice.getOffset(); int end = 0; if (start==-1) { // Could just define an invalid line number int line = notice.getLine(); Element root = doc.getDefaultRootElement(); if (line>=0 && line i=parserHighlights.iterator(); i.hasNext(); ) { HighlightInfoImpl info = (HighlightInfoImpl)i.next(); if (info.notice.getParser()==parser) { if (info instanceof LayeredHighlightInfoImpl) { LayeredHighlightInfoImpl lhi = (LayeredHighlightInfoImpl)info; if (lhi.width > 0 && lhi.height > 0) { textArea.repaint(lhi.x, lhi.y, lhi.width, lhi.height); } } else { TextUI ui = textArea.getUI(); ui.damageRange(textArea, info.getStartOffset(),info.getEndOffset()); //safeDamageRange(info.p0, info.p1); } i.remove(); } } } /** * {@inheritDoc} */ @Override public void deinstall(JTextComponent c) { this.textArea = null; 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. * * @return The list of marked occurrences, or an empty list if none. The * contents of this list will be of type {@link DocumentRange}. */ public List getMarkedOccurrences() { List list = new ArrayList(markedOccurrences.size()); for (HighlightInfo info : markedOccurrences) { int start = info.getStartOffset(); int end = info.getEndOffset() + 1; // HACK DocumentRange range = new DocumentRange(start, end); list.add(range); } return list; } /** * {@inheritDoc} */ @Override public void install(JTextComponent c) { super.install(c); this.textArea = (RTextArea)c; } /** * Renders the highlights. * * @param g the graphics context */ @Override public void paint(Graphics g) { paintList(g, markedOccurrences); super.paint(g); paintList(g, parserHighlights); } private void paintList(Graphics g, List highlights) { int len = highlights.size(); for (int i = 0; i < len; i++) { HighlightInfo info = highlights.get(i); if (!(info instanceof LayeredHighlightInfoImpl)) { // Avoid allocating unless we need it. Rectangle a = textArea.getBounds(); Insets insets = textArea.getInsets(); a.x = insets.left; a.y = insets.top; a.width -= insets.left + insets.right; a.height -= insets.top + insets.bottom; for (; i < len; i++) { info = markedOccurrences.get(i); if (!(info instanceof LayeredHighlightInfoImpl)) { Color c = ((HighlightInfoImpl)info).getColor(); Highlighter.HighlightPainter p = info.getPainter(); if (c!=null && p instanceof ChangeableColorHighlightPainter) { ((ChangeableColorHighlightPainter)p).setColor(c); } p.paint(g, info.getStartOffset(), info.getEndOffset(), a, textArea); } } } } } /** * When leaf Views (such as LabelView) are rendering they should * call into this method. If a highlight is in the given region it will * be drawn immediately. * * @param g Graphics used to draw * @param p0 starting offset of view * @param p1 ending offset of view * @param viewBounds Bounds of View * @param editor JTextComponent * @param view View instance being rendered */ @Override public void paintLayeredHighlights(Graphics g, int p0, int p1, Shape viewBounds, JTextComponent editor, View view) { paintListLayered(g, p0,p1, viewBounds, editor, view, markedOccurrences); super.paintLayeredHighlights(g, p0, p1, viewBounds, editor, view); paintListLayered(g, p0,p1, viewBounds, editor, view, parserHighlights); } private void paintListLayered(Graphics g, int p0, int p1, Shape viewBounds, JTextComponent editor, View view, List highlights) { for (int i=highlights.size()-1; i>=0; i--) { Object tag = highlights.get(i); if (tag instanceof LayeredHighlightInfoImpl) { LayeredHighlightInfoImpl lhi = (LayeredHighlightInfoImpl)tag; int start = lhi.getStartOffset(); int end = lhi.getEndOffset(); if ((p0 < start && p1 > start) || (p0 >= start && p0 < end)) { lhi.paintLayeredHighlights(g, p0, p1, viewBounds, editor, view); } } } } private void repaintListHighlight(HighlightInfo info) { if (info instanceof LayeredHighlightInfoImpl) { LayeredHighlightInfoImpl lhi = (LayeredHighlightInfoImpl)info; if (lhi.width > 0 && lhi.height > 0) { textArea.repaint(lhi.x, lhi.y, lhi.width, lhi.height); } } else { TextUI ui = textArea.getUI(); ui.damageRange(textArea, info.getStartOffset(),info.getEndOffset()); //safeDamageRange(info.p0, info.p1); } } /** * Removes a parser highlight from this view. * * @param tag The reference to the highlight. * @see #addParserHighlight(ParserNotice, javax.swing.text.Highlighter.HighlightPainter) */ void removeParserHighlight(HighlightInfo tag) { repaintListHighlight(tag); parserHighlights.remove(tag); } public static interface HighlightInfo extends Highlighter.Highlight { } private static class HighlightInfoImpl implements HighlightInfo { private Position p0; private Position p1; protected Highlighter.HighlightPainter painter; private ParserNotice notice;//Color color; // Used only by Parser highlights. public Color getColor() { //return color; Color color = null; if (notice!=null) { color = notice.getColor(); if (color==null) { color = DEFAULT_PARSER_NOTICE_COLOR; } } return color; } public int getStartOffset() { return p0.getOffset(); } public int getEndOffset() { return p1.getOffset(); } public Highlighter.HighlightPainter getPainter() { return painter; } } private static class LayeredHighlightInfoImpl extends HighlightInfoImpl { private int x; private int y; private int width; private int height; void union(Shape bounds) { if (bounds == null) { return; } Rectangle alloc = (bounds instanceof Rectangle) ? (Rectangle)bounds : bounds.getBounds(); if (width == 0 || height == 0) { x = alloc.x; y = alloc.y; width = alloc.width; height = alloc.height; } else { width = Math.max(x + width, alloc.x + alloc.width); height = Math.max(y + height, alloc.y + alloc.height); x = Math.min(x, alloc.x); width -= x; y = Math.min(y, alloc.y); height -= y; } } /** * Restricts the region based on the receivers offsets and messages * the painter to paint the region. */ void paintLayeredHighlights(Graphics g, int p0, int p1, Shape viewBounds, JTextComponent editor, View view) { int start = getStartOffset(); int end = getEndOffset(); // Restrict the region to what we represent p0 = Math.max(start, p0); p1 = Math.min(end, p1); if (getColor()!=null && (painter instanceof ChangeableColorHighlightPainter)) { ((ChangeableColorHighlightPainter)painter).setColor(getColor()); } // Paint the appropriate region using the painter and union // the effected region with our bounds. union(((LayeredHighlighter.LayerPainter)painter).paintLayer (g, p0, p1, viewBounds, editor, view)); } } }rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/SyntaxConstants.java0000644000175000001440000001303712201172642026607 0ustar benusers/* * 03/08/2004 * * SyntaxConstants.java - Constants used by RSyntaxTextArea and friends. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ 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 * highlighting.

* * By default, all RSyntaxTextAreas can render all of these * languages, but this can be changed (the list can be augmented or completely * overwritten) on a per-text area basis. What languages can be rendered is * actually managed by the {@link TokenMakerFactory} installed on the text * area's {@link RSyntaxDocument}. By default, all * RSyntaxDocumenets have a factory installed capable of handling * all of these languages. * * @author Robert Futrell * @version 1.0 */ public interface SyntaxConstants { /** * Style meaning don't syntax highlight anything. */ public static final String SYNTAX_STYLE_NONE = "text/plain"; /** * Style for highlighting ActionScript. */ public static final String SYNTAX_STYLE_ACTIONSCRIPT = "text/actionscript"; /** * Style for highlighting x86 assembler. */ public static final String SYNTAX_STYLE_ASSEMBLER_X86 = "text/asm"; /** * Style for highlighting BBCode. */ public static final String SYNTAX_STYLE_BBCODE = "text/bbcode"; /** * Style for highlighting C. */ public static final String SYNTAX_STYLE_C = "text/c"; /** * Style for highlighting Clojure. */ public static final String SYNTAX_STYLE_CLOJURE = "text/clojure"; /** * Style for highlighting C++. */ public static final String SYNTAX_STYLE_CPLUSPLUS = "text/cpp"; /** * Style for highlighting C#. */ public static final String SYNTAX_STYLE_CSHARP = "text/cs"; /** * Style for highlighting CSS. */ public static final String SYNTAX_STYLE_CSS = "text/css"; /** * Style for highlighting Delphi/Pascal. */ public static final String SYNTAX_STYLE_DELPHI = "text/delphi"; /** * Style for highlighting DTD files. */ public static final String SYNTAX_STYLE_DTD = "text/dtd"; /** * Style for highlighting Fortran. */ public static final String SYNTAX_STYLE_FORTRAN = "text/fortran"; /** * Style for highlighting Groovy. */ public static final String SYNTAX_STYLE_GROOVY = "text/groovy"; /** * Style for highlighting .htaccess files. */ public static final String SYNTAX_STYLE_HTACCESS = "text/htaccess"; /** * Style for highlighting HTML. */ public static final String SYNTAX_STYLE_HTML = "text/html"; /** * Style for highlighting Java. */ public static final String SYNTAX_STYLE_JAVA = "text/java"; /** * Style for highlighting JavaScript. */ public static final String SYNTAX_STYLE_JAVASCRIPT = "text/javascript"; /** * Style for highlighting JSON. */ public static final String SYNTAX_STYLE_JSON = "text/json"; /** * Style for highlighting JSP. */ public static final String SYNTAX_STYLE_JSP = "text/jsp"; /** * Style for highlighting LaTeX. */ public static final String SYNTAX_STYLE_LATEX = "text/latex"; /** * Style for highlighting Lisp. */ public static final String SYNTAX_STYLE_LISP = "text/lisp"; /** * Style for highlighting Lua. */ public static final String SYNTAX_STYLE_LUA = "text/lua"; /** * Style for highlighting makefiles. */ public static final String SYNTAX_STYLE_MAKEFILE = "text/makefile"; /** * Style for highlighting MXML. */ public static final String SYNTAX_STYLE_MXML = "text/mxml"; /** * Style for highlighting NSIS install scripts. */ public static final String SYNTAX_STYLE_NSIS = "text/nsis"; /** * Style for highlighting Perl. */ public static final String SYNTAX_STYLE_PERL = "text/perl"; /** * Style for highlighting PHP. */ public static final String SYNTAX_STYLE_PHP = "text/php"; /** * Style for highlighting properties files. */ public static final String SYNTAX_STYLE_PROPERTIES_FILE = "text/properties"; /** * Style for highlighting Python. */ public static final String SYNTAX_STYLE_PYTHON = "text/python"; /** * Style for highlighting Ruby. */ public static final String SYNTAX_STYLE_RUBY = "text/ruby"; /** * Style for highlighting SAS keywords. */ public static final String SYNTAX_STYLE_SAS = "text/sas"; /** * Style for highlighting Scala. */ public static final String SYNTAX_STYLE_SCALA = "text/scala"; /** * Style for highlighting SQL. */ public static final String SYNTAX_STYLE_SQL = "text/sql"; /** * Style for highlighting Tcl. */ public static final String SYNTAX_STYLE_TCL = "text/tcl"; /** * Style for highlighting UNIX shell keywords. */ public static final String SYNTAX_STYLE_UNIX_SHELL = "text/unix"; /** * Style for highlighting Visual Basic. */ public static final String SYNTAX_STYLE_VISUAL_BASIC = "text/vb"; /** * Style for highlighting Windows batch files. */ public static final String SYNTAX_STYLE_WINDOWS_BATCH = "text/bat"; /** * Style for highlighting XML. */ public static final String SYNTAX_STYLE_XML = "text/xml"; }rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/0000755000175000001440000000000012202240146023660 5ustar benusersrsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/CSSTokenMaker.flex0000644000175000001440000003373612202002500027153 0ustar benusers/* * 09/03/2005 * * CSSTokenMaker.java - Token maker for CSS 3 files. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.*; /** * 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * 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.
  • *
  • You should NOT call yylex() on the generated scanner * directly; rather, you should use getTokenList as you would * with any other TokenMaker instance.
  • *
* * @author Robert Futrell * @version 0.4 * */ %% %public %class CSSTokenMaker %extends AbstractJFlexTokenMaker %unicode %type org.fife.ui.rsyntaxtextarea.Token %{ /** * Internal type denoting a line ending in a CSS property. */ public static final int INTERNAL_CSS_PROPERTY = -1; /** * Internal type denoting a line ending in a CSS property value. */ 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. */ 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. */ 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. */ public static final int INTERNAL_CSS_MLC = -(3<<11); /** * The state previous CSS-related state we were in before going into a CSS * string, multi-line comment, etc. */ private int cssPrevState; /** * 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. * * @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. * @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. */ 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. */ 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. */ @Override public void addToken(char[] array, int start, int end, int tokenType, int startOffset) { super.addToken(array, start,end, tokenType, startOffset); zzStartRead = zzMarkedPos; } /** * Returns true since CSS uses curly braces. * * @return true always. */ public boolean getCurlyBracesDenoteCodeBlocks() { return true; } /** * 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. */ public Token getTokenList(Segment text, int initialTokenType, int startOffset) { resetTokenList(); this.offsetShift = -text.offset + startOffset; cssPrevState = YYINITIAL; // Shouldn't be necessary // Start off in the proper state. int state = Token.NULL; 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 = Token.NULL; } } start = text.offset; s = text; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); return new TokenImpl(); } } /** * Refills the input buffer. * * @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. * * 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 */ 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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = zzPushbackPos = s.offset; zzLexicalState = YYINITIAL; zzReader = reader; zzAtBOL = true; zzAtEOF = false; } %} Digit = ([0-9]) Letter = ([A-Za-z]) LetterOrUnderscore = ({Letter}|[_]) LetterOrUnderscoreOrDash = ({LetterOrUnderscore}|[\-]) CSS_SelectorPiece = (("*"|"."|{LetterOrUnderscoreOrDash})({LetterOrUnderscoreOrDash}|"."|{Digit})*) CSS_PseudoClass = (":"("root"|"nth-child"|"nth-last-child"|"nth-of-type"|"nth-last-of-type"|"first-child"|"last-child"|"first-of-type"|"last-of-type"|"only-child"|"only-of-type"|"empty"|"link"|"visited"|"active"|"hover"|"focus"|"target"|"lang"|"enabled"|"disabled"|"checked"|":first-line"|":first-letter"|":before"|":after"|"not")) CSS_AtKeyword = ("@"{CSS_SelectorPiece}) CSS_Id = ("#"{CSS_SelectorPiece}) CSS_Separator = ([;\(\)\[\]]) WhiteSpace = ([ \t]+) MlcStart = ("/*") MlcEnd = ("*/") CSS_Property = ([\*]?{LetterOrUnderscoreOrDash}({LetterOrUnderscoreOrDash}|{Digit})*) CSS_ValueChar = ({LetterOrUnderscoreOrDash}|[\\/]) CSS_Value = ({CSS_ValueChar}*) CSS_Function = ({CSS_Value}\() CSS_Digits = ([\-]?{Digit}+([0-9\.]+)?(pt|pc|in|mm|cm|em|ex|px|ms|s|%)?) CSS_Hex = ("#"[0-9a-fA-F]+) CSS_Number = ({CSS_Digits}|{CSS_Hex}) URLGenDelim = ([:\/\?#\[\]@]) URLSubDelim = ([\!\$&'\(\)\*\+,;=]) URLUnreserved = ({LetterOrUnderscore}|{Digit}|[\-\.\~]) URLCharacter = ({URLGenDelim}|{URLSubDelim}|{URLUnreserved}|[%]) URLCharacters = ({URLCharacter}*) URLEndCharacter = ([\/\$]|{Letter}|{Digit}) URL = (((https?|f(tp|ile))"://"|"www.")({URLCharacters}{URLEndCharacter})?) %state CSS_PROPERTY %state CSS_VALUE %state CSS_STRING %state CSS_CHAR_LITERAL %state CSS_C_STYLE_COMMENT %% { {CSS_SelectorPiece} { addToken(Token.DATA_TYPE); } {CSS_PseudoClass} { addToken(Token.RESERVED_WORD); } ":" { /* Unknown pseudo class */ addToken(Token.DATA_TYPE); } {CSS_AtKeyword} { addToken(Token.REGEX); } {CSS_Id} { addToken(Token.VARIABLE); } "{" { addToken(Token.SEPARATOR); yybegin(CSS_PROPERTY); } [,] { addToken(Token.IDENTIFIER); } \" { start = zzMarkedPos-1; cssPrevState = zzLexicalState; yybegin(CSS_STRING); } \' { start = zzMarkedPos-1; cssPrevState = zzLexicalState; yybegin(CSS_CHAR_LITERAL); } [+>~\^$\|=] { addToken(Token.OPERATOR); } {CSS_Separator} { addToken(Token.SEPARATOR); } {WhiteSpace} { addToken(Token.WHITESPACE); } {MlcStart} { start = zzMarkedPos-2; cssPrevState = zzLexicalState; yybegin(CSS_C_STYLE_COMMENT); } . { /*System.out.println("yyinitial: " + yytext());*/ addToken(Token.IDENTIFIER); } "\n" | <> { addNullToken(); return firstToken; } } { {CSS_Property} { addToken(Token.RESERVED_WORD); } "}" { addToken(Token.SEPARATOR); yybegin(YYINITIAL); } ":" { addToken(Token.OPERATOR); yybegin(CSS_VALUE); } {WhiteSpace} { addToken(Token.WHITESPACE); } {MlcStart} { start = zzMarkedPos-2; cssPrevState = zzLexicalState; yybegin(CSS_C_STYLE_COMMENT); } . { /*System.out.println("css_property: " + yytext());*/ addToken(Token.IDENTIFIER); } "\n" | <> { addEndToken(INTERNAL_CSS_PROPERTY); return firstToken; } } { {CSS_Value} { addToken(Token.IDENTIFIER); } "!important" { addToken(Token.ANNOTATION); } {CSS_Function} { int temp = zzMarkedPos - 2; addToken(zzStartRead, temp, Token.FUNCTION); addToken(zzMarkedPos-1, zzMarkedPos-1, Token.SEPARATOR); zzStartRead = zzCurrentPos = zzMarkedPos; } {CSS_Number} { addToken(Token.LITERAL_NUMBER_DECIMAL_INT); } \" { start = zzMarkedPos-1; cssPrevState = zzLexicalState; yybegin(CSS_STRING); } \' { start = zzMarkedPos-1; cssPrevState = zzLexicalState; yybegin(CSS_CHAR_LITERAL); } ")" { /* End of a function */ addToken(Token.SEPARATOR); } [;] { addToken(Token.OPERATOR); yybegin(CSS_PROPERTY); } [,\.] { addToken(Token.IDENTIFIER); } "}" { addToken(Token.SEPARATOR); yybegin(YYINITIAL); } {WhiteSpace} { addToken(Token.WHITESPACE); } {MlcStart} { start = zzMarkedPos-2; cssPrevState = zzLexicalState; yybegin(CSS_C_STYLE_COMMENT); } . { /*System.out.println("css_value: " + yytext());*/ addToken(Token.IDENTIFIER); } "\n" | <> { addEndToken(INTERNAL_CSS_VALUE); return firstToken; } } { [^\n\\\"]+ {} \\.? { /* Skip escaped chars. */ } \" { addToken(start,zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); yybegin(cssPrevState); } \n | <> { addToken(start,zzStartRead-1, Token.LITERAL_STRING_DOUBLE_QUOTE); addEndToken(INTERNAL_CSS_STRING - cssPrevState); return firstToken; } } { [^\n\\\']+ {} \\.? { /* Skip escaped chars. */ } \' { addToken(start,zzStartRead, Token.LITERAL_CHAR); yybegin(cssPrevState); } \n | <> { addToken(start,zzStartRead-1, Token.LITERAL_CHAR); addEndToken(INTERNAL_CSS_CHAR - cssPrevState); return firstToken; } } { [^hwf\n\*]+ {} {URL} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_MULTILINE); start = zzMarkedPos; } [hwf] {} {MlcEnd} { addToken(start,zzStartRead+1, Token.COMMENT_MULTILINE); yybegin(cssPrevState); } \* {} \n | <> { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addEndToken(INTERNAL_CSS_MLC - cssPrevState); return firstToken; } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/CSSTokenMaker.java0000644000175000001440000007643112202002500027135 0ustar benusers/* The following code was generated by JFlex 1.4.1 on 2/12/12 12:51 AM */ /* * 09/03/2005 * * CSSTokenMaker.java - Token maker for CSS 3 files. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.*; /** * 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * 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.
  • *
  • You should NOT call yylex() on the generated scanner * directly; rather, you should use getTokenList as you would * with any other TokenMaker instance.
  • *
* * @author Robert Futrell * @version 0.4 * */ public class CSSTokenMaker extends AbstractJFlexTokenMaker { /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ public static final int CSS_C_STYLE_COMMENT = 5; public static final int YYINITIAL = 0; public static final int CSS_STRING = 3; public static final int CSS_VALUE = 2; public static final int CSS_PROPERTY = 1; public static final int CSS_CHAR_LITERAL = 4; /** * Translates characters to character classes */ private static final String ZZ_CMAP_PACKED = "\11\0\1\40\1\61\25\0\1\40\1\63\1\56\1\36\1\52\1\45"+ "\1\47\1\57\1\43\1\64\1\5\1\51\1\55\1\4\1\6\1\41"+ "\12\1\1\7\1\37\1\0\1\51\1\60\1\47\1\35\6\46\24\2"+ "\1\50\1\42\1\50\1\60\1\3\1\0\1\21\1\34\1\15\1\20"+ "\1\26\1\23\1\33\1\14\1\16\1\2\1\30\1\17\1\27\1\13"+ "\1\11\1\25\1\2\1\10\1\22\1\12\1\32\1\31\1\53\1\44"+ "\1\24\1\2\1\54\1\60\1\62\1\51\uff81\0"; /** * Translates characters to character classes */ private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED); /** * Translates DFA states to action switch labels. */ private static final int [] ZZ_ACTION = zzUnpackAction(); private static final String ZZ_ACTION_PACKED_0 = "\2\0\1\1\3\0\1\2\1\3\1\4\2\2\1\5"+ "\1\6\1\2\1\7\1\10\1\1\1\11\1\12\1\13"+ "\1\14\1\15\1\14\1\16\1\14\1\17\1\20\1\21"+ "\1\22\2\1\1\21\1\23\1\1\1\24\1\25\1\21"+ "\1\26\1\27\1\30\1\31\1\32\1\27\1\33\1\34"+ "\5\27\1\35\15\0\1\36\1\37\1\40\2\0\1\22"+ "\3\0\1\22\1\0\1\30\1\41\41\0\1\15\17\0"+ "\1\42\47\0\1\43"; private static int [] zzUnpackAction() { int [] result = new int[167]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } private static int zzUnpackAction(String packed, int offset, int [] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } 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\65\0\152\0\237\0\324\0\u0109\0\u013e\0\u0173"+ "\0\u01a8\0\u01dd\0\u0212\0\u013e\0\u0247\0\u027c\0\u013e\0\u013e"+ "\0\u013e\0\u013e\0\u013e\0\u013e\0\u013e\0\u02b1\0\u02e6\0\u013e"+ "\0\u027c\0\u013e\0\u013e\0\u013e\0\u031b\0\u0350\0\u0385\0\u03ba"+ "\0\u013e\0\u03ef\0\u013e\0\u013e\0\u0424\0\u013e\0\u0459\0\u048e"+ "\0\u013e\0\u013e\0\u04c3\0\u013e\0\u013e\0\u04f8\0\u052d\0\u0562"+ "\0\u0597\0\u05cc\0\u013e\0\u0601\0\u0636\0\u066b\0\u06a0\0\u06d5"+ "\0\u070a\0\u073f\0\u0774\0\u07a9\0\u07de\0\u0813\0\u0848\0\u087d"+ "\0\u08b2\0\u08e7\0\u013e\0\u091c\0\u0951\0\u013e\0\u0986\0\u09bb"+ "\0\u09f0\0\u03ba\0\u0a25\0\u013e\0\u013e\0\u0a5a\0\u0a8f\0\u0ac4"+ "\0\u0af9\0\u0b2e\0\u0b63\0\u0b98\0\u0bcd\0\u0c02\0\u0c37\0\u0c6c"+ "\0\u0ca1\0\u0cd6\0\u0d0b\0\u0d40\0\u0d75\0\u0daa\0\u0ddf\0\u0e14"+ "\0\u0e49\0\u0e7e\0\u0eb3\0\u0ee8\0\u0f1d\0\u0f52\0\u0f87\0\u0fbc"+ "\0\u0ff1\0\u1026\0\u105b\0\u1090\0\u10c5\0\u10fa\0\u013e\0\u112f"+ "\0\u1164\0\u1199\0\u11ce\0\u1203\0\u1238\0\u126d\0\u12a2\0\u12d7"+ "\0\u130c\0\u1341\0\u1376\0\u13ab\0\u13e0\0\u1415\0\u144a\0\u147f"+ "\0\u14b4\0\u14e9\0\u151e\0\u1553\0\u1588\0\u15bd\0\u15f2\0\u1627"+ "\0\u165c\0\u1691\0\u16c6\0\u16fb\0\u1730\0\u144a\0\u1765\0\u179a"+ "\0\u17cf\0\u1804\0\u1839\0\u186e\0\u18a3\0\u18d8\0\u190d\0\u1942"+ "\0\u1977\0\u19ac\0\u19e1\0\u1a16\0\u1a4b\0\u1a80\0\u1ab5\0\u1aea"+ "\0\u1b1f\0\u1b54\0\u1b89\0\u1bbe\0\u1bf3\0\u1c28\0\u013e"; private static int [] zzUnpackRowMap() { int [] result = new int[167]; int offset = 0; offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result); return result; } private static int zzUnpackRowMap(String packed, int offset, int [] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ int l = packed.length(); while (i < l) { int high = packed.charAt(i++) << 16; result[j++] = high | packed.charAt(i++); } return j; } /** * The transition table of the DFA */ private static final int [] ZZ_TRANS = zzUnpackTrans(); private static final String ZZ_TRANS_PACKED_0 = "\2\7\5\10\1\11\25\10\1\12\1\13\1\14\1\15"+ "\1\16\1\7\1\14\1\10\1\7\1\10\1\7\1\14"+ "\2\17\1\10\1\20\1\21\1\22\1\23\1\17\1\24"+ "\2\7\1\14\2\25\3\26\1\27\1\25\1\30\25\26"+ "\3\25\1\15\1\31\2\25\1\26\1\25\1\26\4\25"+ "\1\26\5\25\1\32\1\33\2\25\1\34\1\35\2\36"+ "\1\37\1\34\1\21\1\34\25\36\1\34\1\40\1\41"+ "\1\15\1\42\1\36\1\43\1\36\1\34\1\36\4\34"+ "\1\36\1\34\1\21\1\22\1\23\1\34\1\44\1\33"+ "\1\45\1\46\42\47\1\50\13\47\1\51\2\47\1\52"+ "\3\47\42\53\1\50\14\53\1\54\1\53\1\55\3\53"+ "\5\56\1\57\6\56\1\60\6\56\1\61\27\56\1\62"+ "\5\56\1\63\3\56\66\0\4\10\1\0\1\10\1\0"+ "\25\10\7\0\1\10\1\0\1\10\4\0\1\10\20\0"+ "\1\64\1\65\1\66\1\67\1\70\1\71\1\72\1\0"+ "\1\73\1\74\1\75\1\0\1\76\2\0\1\77\2\0"+ "\1\100\35\0\5\101\1\0\25\101\7\0\1\101\1\0"+ "\1\101\4\0\1\101\13\0\5\102\1\0\25\102\7\0"+ "\1\102\1\0\1\102\4\0\1\102\51\0\1\15\31\0"+ "\1\103\60\0\4\26\3\0\25\26\7\0\1\26\1\0"+ "\1\26\4\0\1\26\13\0\3\26\3\0\25\26\7\0"+ "\1\26\1\0\1\26\4\0\1\26\12\0\1\35\4\0"+ "\1\35\6\0\1\104\1\105\3\0\1\106\2\0\1\107"+ "\1\110\1\111\15\0\1\106\21\0\3\36\3\0\25\36"+ "\4\0\2\36\1\43\1\36\1\0\1\36\4\0\1\36"+ "\12\0\1\35\3\36\3\0\25\36\4\0\2\36\1\43"+ "\1\36\1\0\1\36\4\0\1\36\12\0\1\112\13\0"+ "\1\112\2\0\2\112\1\0\1\112\2\0\1\112\5\0"+ "\1\112\11\0\1\112\20\0\3\36\1\103\2\0\25\36"+ "\4\0\2\36\1\43\1\36\1\0\1\36\4\0\1\36"+ "\27\0\1\113\46\0\42\47\1\0\13\47\1\0\2\47"+ "\1\0\3\47\61\114\1\0\3\114\42\53\1\0\14\53"+ "\1\0\1\53\1\0\3\53\5\56\1\0\6\56\1\0"+ "\6\56\1\0\27\56\1\0\5\56\1\0\3\56\41\0"+ "\1\115\35\0\1\116\64\0\1\117\3\0\1\120\121\0"+ "\1\121\32\0\1\122\1\0\1\123\10\0\1\124\41\0"+ "\1\125\66\0\1\126\72\0\1\127\54\0\1\130\1\131"+ "\63\0\1\132\67\0\1\133\66\0\1\134\2\0\1\135"+ "\61\0\1\136\63\0\1\137\60\0\1\140\4\0\1\141"+ "\61\0\1\142\13\0\1\143\53\0\1\144\47\0\4\101"+ "\1\0\1\101\1\0\25\101\7\0\1\101\1\0\1\101"+ "\4\0\1\101\12\0\4\102\1\0\1\102\1\0\25\102"+ "\7\0\1\102\1\0\1\102\4\0\1\102\40\0\1\106"+ "\50\0\1\106\63\0\1\106\2\0\1\106\26\0\1\106"+ "\47\0\1\106\14\0\1\106\42\0\1\106\4\0\1\106"+ "\64\0\1\145\47\0\1\146\77\0\1\147\56\0\1\150"+ "\120\0\1\151\34\0\1\152\57\0\1\153\74\0\1\154"+ "\47\0\1\130\72\0\1\155\55\0\1\156\66\0\1\157"+ "\66\0\1\160\101\0\1\161\61\0\1\162\51\0\1\163"+ "\64\0\1\164\6\0\1\165\64\0\1\142\54\0\1\166"+ "\67\0\1\167\57\0\1\170\75\0\1\171\70\0\1\172"+ "\61\0\1\173\67\0\1\174\64\0\1\175\46\0\1\176"+ "\103\0\1\147\44\0\1\177\70\0\1\161\62\0\1\200"+ "\77\0\1\201\65\0\1\202\73\0\1\203\35\0\1\204"+ "\106\0\1\205\53\0\1\206\77\0\1\157\67\0\1\157"+ "\43\0\1\202\70\0\1\207\100\0\1\210\54\0\1\165"+ "\76\0\1\211\42\0\1\212\70\0\1\213\57\0\1\214"+ "\62\0\1\176\12\0\1\147\103\0\1\215\24\0\2\177"+ "\5\216\25\177\3\216\1\0\1\177\1\0\1\216\1\177"+ "\1\216\1\177\3\216\2\177\1\0\1\216\1\0\1\216"+ "\3\0\2\216\22\0\1\217\53\0\1\220\57\0\1\221"+ "\106\0\1\130\47\0\1\222\3\0\1\223\1\0\1\224"+ "\55\0\1\157\104\0\1\225\65\0\1\226\55\0\1\157"+ "\61\0\1\225\71\0\1\157\52\0\1\225\62\0\1\227"+ "\115\0\1\177\35\0\1\230\62\0\1\226\65\0\1\222"+ "\3\0\1\223\72\0\1\231\55\0\1\232\71\0\1\170"+ "\71\0\1\233\64\0\1\157\50\0\1\234\56\0\1\235"+ "\64\0\1\236\76\0\1\237\66\0\1\157\65\0\1\240"+ "\62\0\1\241\57\0\1\242\71\0\1\233\60\0\1\243"+ "\67\0\1\244\7\0\1\245\62\0\1\246\52\0\1\247"+ "\65\0\1\226\63\0\1\152\77\0\1\226\37\0"; private static int [] zzUnpackTrans() { int [] result = new int[7261]; int offset = 0; offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result); return result; } private static int zzUnpackTrans(String packed, int offset, int [] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); value--; do result[j++] = value; while (--count > 0); } return j; } /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; private static final int ZZ_PUSHBACK_2BIG = 2; /* error messages for the codes above */ private static final String ZZ_ERROR_MSG[] = { "Unkown internal scanner error", "Error: could not match input", "Error: pushback value was too large" }; /** * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute(); private static final String ZZ_ATTRIBUTE_PACKED_0 = "\2\0\1\1\3\0\1\11\4\1\1\11\2\1\7\11"+ "\2\1\1\11\1\1\3\11\4\1\1\11\1\1\2\11"+ "\1\1\1\11\2\1\2\11\1\1\2\11\5\1\1\11"+ "\15\0\2\1\1\11\2\0\1\11\3\0\1\1\1\0"+ "\2\11\41\0\1\11\17\0\1\1\47\0\1\11"; private static int [] zzUnpackAttribute() { int [] result = new int[167]; int offset = 0; offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result); return result; } private static int zzUnpackAttribute(String packed, int offset, int [] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } return j; } /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ private int zzState; /** the current lexical state */ private int zzLexicalState = YYINITIAL; /** this buffer contains the current text to be matched and is the source of the yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ private int zzMarkedPos; /** the current text position in the buffer */ private int zzCurrentPos; /** startRead marks the beginning of the yytext() string in the buffer */ private int zzStartRead; /** endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** zzAtEOF == true <=> the scanner is at the EOF */ private boolean zzAtEOF; /* user code: */ /** * Internal type denoting a line ending in a CSS property. */ public static final int INTERNAL_CSS_PROPERTY = -1; /** * Internal type denoting a line ending in a CSS property value. */ 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. */ 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. */ 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. */ public static final int INTERNAL_CSS_MLC = -(3<<11); /** * The state previous CSS-related state we were in before going into a CSS * string, multi-line comment, etc. */ private int cssPrevState; /** * 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. * * @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. * @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. */ 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. */ 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. */ @Override public void addToken(char[] array, int start, int end, int tokenType, int startOffset) { super.addToken(array, start,end, tokenType, startOffset); zzStartRead = zzMarkedPos; } /** * Returns true since CSS uses curly braces. * * @return true always. */ @Override public boolean getCurlyBracesDenoteCodeBlocks() { return true; } /** * 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. */ public Token getTokenList(Segment text, int initialTokenType, int startOffset) { resetTokenList(); this.offsetShift = -text.offset + startOffset; cssPrevState = YYINITIAL; // Shouldn't be necessary // Start off in the proper state. int state = Token.NULL; 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 = Token.NULL; } } start = text.offset; s = text; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); return new TokenImpl(); } } /** * Refills the input buffer. * * @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. * * 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 */ 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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = s.offset; zzLexicalState = YYINITIAL; 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. */ public CSSTokenMaker(java.io.Reader in) { this.zzReader = in; } /** * Creates a new scanner. * There is also java.io.Reader version of this constructor. * * @param in the java.io.Inputstream to read input from. */ public CSSTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } /** * Unpacks the compressed character translation table. * * @param packed the packed character translation table * @return the unpacked character translation table */ private static char [] zzUnpackCMap(String packed) { char [] map = new char[0x10000]; int i = 0; /* index in packed string */ int j = 0; /* index in unpacked array */ while (i < 134) { int count = packed.charAt(i++); char value = packed.charAt(i++); do map[j++] = value; while (--count > 0); } return map; } /** * Closes the input stream. */ public final void yyclose() throws java.io.IOException { zzAtEOF = true; /* indicate end of file */ zzEndRead = zzStartRead; /* invalidate buffer */ if (zzReader != null) zzReader.close(); } /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } /** * Enters a 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 yylength()-1. * * @return the character at position pos */ public final char yycharat(int pos) { return zzBuffer[zzStartRead+pos]; } /** * Returns the length of the matched text region. */ public final int yylength() { return zzMarkedPos-zzStartRead; } /** * Reports an error that occured while scanning. * * In a wellformed scanner (no or only correct usage of * yypushback(int) and a match-all fallback rule) this method * will only be called with things that "Can't Possibly Happen". * If this method is called, something is seriously wrong * (e.g. a JFlex bug producing a faulty scanner etc.). * * Usual syntax/scanner level error handling should be done * in error fallback rules. * * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; try { message = ZZ_ERROR_MSG[errorCode]; } catch (ArrayIndexOutOfBoundsException e) { message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR]; } throw new Error(message); } /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * * @param number the number of characters to be read again. * This number must not be greater than yylength()! */ public void yypushback(int number) { if ( number > yylength() ) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } /** * Resumes scanning until the next regular expression is matched, * the end of input is encountered or an I/O-Error occurs. * * @return the next token * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; int zzAction; // cached fields: int zzCurrentPosL; int zzMarkedPosL; int zzEndReadL = zzEndRead; char [] zzBufferL = zzBuffer; char [] zzCMapL = ZZ_CMAP; int [] zzTransL = ZZ_TRANS; int [] zzRowMapL = ZZ_ROWMAP; int [] zzAttrL = ZZ_ATTRIBUTE; while (true) { zzMarkedPosL = zzMarkedPos; zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; else if (zzAtEOF) { zzInput = YYEOF; break zzForAction; } else { // store back cached positions zzCurrentPos = zzCurrentPosL; zzMarkedPos = zzMarkedPosL; boolean eof = zzRefill(); // get translated positions and possibly new buffer zzCurrentPosL = zzCurrentPos; zzMarkedPosL = zzMarkedPos; zzBufferL = zzBuffer; zzEndReadL = zzEndRead; if (eof) { zzInput = YYEOF; break zzForAction; } else { zzInput = zzBufferL[zzCurrentPosL++]; } } int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ]; if (zzNext == -1) break zzForAction; zzState = zzNext; int zzAttributes = zzAttrL[zzState]; if ( (zzAttributes & 1) == 1 ) { zzAction = zzState; zzMarkedPosL = zzCurrentPosL; if ( (zzAttributes & 8) == 8 ) break zzForAction; } } } // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { case 4: { /* Unknown pseudo class */ addToken(Token.DATA_TYPE); } case 36: break; case 11: { addNullToken(); return firstToken; } case 37: break; case 27: { addToken(start,zzStartRead, Token.LITERAL_CHAR); yybegin(cssPrevState); } case 38: break; case 15: { addEndToken(INTERNAL_CSS_PROPERTY); return firstToken; } case 39: break; case 22: { /* End of a function */ addToken(Token.SEPARATOR); } case 40: break; case 6: { addToken(Token.WHITESPACE); } case 41: break; case 2: { /*System.out.println("yyinitial: " + yytext());*/ addToken(Token.IDENTIFIER); } case 42: break; case 32: { start = zzMarkedPos-2; cssPrevState = zzLexicalState; yybegin(CSS_C_STYLE_COMMENT); } case 43: break; case 14: { addToken(Token.OPERATOR); yybegin(CSS_VALUE); } case 44: break; case 13: { addToken(Token.RESERVED_WORD); } case 45: break; case 31: { addToken(Token.VARIABLE); } case 46: break; case 5: { addToken(Token.SEPARATOR); } case 47: break; case 16: { addToken(Token.SEPARATOR); yybegin(YYINITIAL); } case 48: break; case 26: { addToken(start,zzStartRead-1, Token.LITERAL_STRING_DOUBLE_QUOTE); addEndToken(INTERNAL_CSS_STRING - cssPrevState); return firstToken; } case 49: break; case 1: { addToken(Token.IDENTIFIER); } case 50: break; case 19: { addToken(Token.OPERATOR); yybegin(CSS_PROPERTY); } case 51: break; case 9: { start = zzMarkedPos-1; cssPrevState = zzLexicalState; yybegin(CSS_STRING); } case 52: break; case 30: { addToken(Token.REGEX); } case 53: break; case 12: { /*System.out.println("css_property: " + yytext());*/ addToken(Token.IDENTIFIER); } case 54: break; case 17: { /*System.out.println("css_value: " + yytext());*/ addToken(Token.IDENTIFIER); } case 55: break; case 33: { addToken(start,zzStartRead+1, Token.COMMENT_MULTILINE); yybegin(cssPrevState); } case 56: break; case 24: { /* Skip escaped chars. */ } case 57: break; case 3: { addToken(Token.DATA_TYPE); } case 58: break; case 10: { start = zzMarkedPos-1; cssPrevState = zzLexicalState; yybegin(CSS_CHAR_LITERAL); } case 59: break; case 35: { addToken(Token.ANNOTATION); } case 60: break; case 25: { addToken(start,zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); yybegin(cssPrevState); } case 61: break; case 20: { int temp = zzMarkedPos - 2; addToken(zzStartRead, temp, Token.FUNCTION); addToken(zzMarkedPos-1, zzMarkedPos-1, Token.SEPARATOR); zzStartRead = zzCurrentPos = zzMarkedPos; } case 62: break; case 8: { addToken(Token.SEPARATOR); yybegin(CSS_PROPERTY); } case 63: break; case 28: { addToken(start,zzStartRead-1, Token.LITERAL_CHAR); addEndToken(INTERNAL_CSS_CHAR - cssPrevState); return firstToken; } case 64: break; case 34: { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_MULTILINE); start = zzMarkedPos; } case 65: break; case 21: { addEndToken(INTERNAL_CSS_VALUE); return firstToken; } case 66: break; case 29: { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addEndToken(INTERNAL_CSS_MLC - cssPrevState); return firstToken; } case 67: break; case 18: { addToken(Token.LITERAL_NUMBER_DECIMAL_INT); } case 68: break; case 7: { addToken(Token.OPERATOR); } case 69: break; case 23: { } case 70: 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 168: break; case YYINITIAL: { addNullToken(); return firstToken; } case 169: break; case CSS_STRING: { addToken(start,zzStartRead-1, Token.LITERAL_STRING_DOUBLE_QUOTE); addEndToken(INTERNAL_CSS_STRING - cssPrevState); return firstToken; } case 170: break; case CSS_VALUE: { addEndToken(INTERNAL_CSS_VALUE); return firstToken; } case 171: break; case CSS_PROPERTY: { addEndToken(INTERNAL_CSS_PROPERTY); return firstToken; } case 172: break; case CSS_CHAR_LITERAL: { addToken(start,zzStartRead-1, Token.LITERAL_CHAR); addEndToken(INTERNAL_CSS_CHAR - cssPrevState); return firstToken; } case 173: break; default: return null; } } else { zzScanError(ZZ_NO_MATCH); } } } } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/JavaScriptTokenMaker.flex0000644000175000001440000007653112202237654030615 0ustar benusers/* * 02/05/2012 * * JavaScriptTokenMaker.java - Parses a document into JavaScript tokens. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.*; /** * 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * 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.
  • *
  • You should NOT call yylex() on the generated scanner * 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 %unicode %type org.fife.ui.rsyntaxtextarea.Token %{ /** * Token type specifying we're in a JavaScript multiline comment. */ private static final int INTERNAL_IN_JS_MLC = -8; /** * Token type specifying we're in a JavaScript documentation comment. */ private static final int INTERNAL_IN_JS_COMMENT_DOCUMENTATION = -9; /** * Token type specifying we're in an invalid multi-line JS string. */ private static final int INTERNAL_IN_JS_STRING_INVALID = -10; /** * Token type specifying we're in a valid multi-line JS string. */ private static final int INTERNAL_IN_JS_STRING_VALID = -11; /** * 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. */ private static final int INTERNAL_IN_JS_CHAR_VALID = -13; private static final int INTERNAL_E4X = -14; private static final int INTERNAL_E4X_INTAG = -15; private static final int INTERNAL_E4X_MARKUP_PROCESSING_INSTRUCTION = -16; private static final int INTERNAL_IN_E4X_COMMENT = -17; private static final int INTERNAL_E4X_DTD = -18; private static final int INTERNAL_E4X_DTD_INTERNAL = -19; private static final int INTERNAL_E4X_ATTR_SINGLE = -20; private static final int INTERNAL_E4X_ATTR_DOUBLE = -21; private static final int INTERNAL_E4X_MARKUP_CDATA = -22; /** * When in the JS_STRING state, whether the current string is valid. */ private boolean validJSString; /** * Whether we're in an internal DTD. Only valid if in an e4x DTD. */ private boolean e4x_inInternalDtd; /** * The previous e4x state. Only valid if in an e4x state. */ private int e4x_prevState; /** * The version of JavaScript being highlighted. */ private static String jsVersion; /** * Whether e4x is being highlighted. */ private static boolean e4xSupported; /** * Language state set on JS tokens. Must be 0. */ private static final int LANG_INDEX_DEFAULT = 0; /** * Language state set on E4X tokens. */ private static final int LANG_INDEX_E4X = 1; /** * Constructor. This must be here because JFlex does not generate a * no-parameter constructor. */ public JavaScriptTokenMaker() { super(); } static { jsVersion = "1.0"; e4xSupported = true; } /** * 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. */ 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. * @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. */ 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. */ 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. */ @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). * */ 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; } return type; } /** * Returns the JavaScript version being highlighted. * * @return Supported JavaScript version. * @see #isJavaScriptCompatible(String) */ public static String getJavaScriptVersion() { return jsVersion; } /** * {@inheritDoc} */ @Override public String[] getLineCommentStartAndEnd() { 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. * * @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) { resetTokenList(); this.offsetShift = -text.offset + startOffset; validJSString = true; e4x_prevState = YYINITIAL; e4x_inInternalDtd = false; int languageIndex = LANG_INDEX_DEFAULT; // 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; 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; s = text; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); return new TokenImpl(); } } /** * Returns whether e4x is being highlighted. * * @return Whether e4x is being highlighted. * @see #setE4xSupported(boolean) */ public static boolean isE4xSupported() { return e4xSupported; } /** * 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. */ 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. * * @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. * * @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. */ 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. * * 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 */ 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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = zzPushbackPos = s.offset; zzLexicalState = YYINITIAL; zzReader = reader; zzAtBOL = true; zzAtEOF = false; } %} Whitespace = ([ \t\f]+) LineTerminator = ([\n]) Letter = [A-Za-z] NonzeroDigit = [1-9] Digit = ("0"|{NonzeroDigit}) HexDigit = ({Digit}|[A-Fa-f]) OctalDigit = ([0-7]) LetterOrDigit = ({Letter}|{Digit}) EscapedSourceCharacter = ("u"{HexDigit}{HexDigit}{HexDigit}{HexDigit}) NonSeparator = ([^\t\f\r\n\ \(\)\{\}\[\]\;\,\.\=\>\<\!\~\?\:\+\-\*\/\&\|\^\%\"\']|"#"|"\\") IdentifierStart = ({Letter}|"_"|"$") IdentifierPart = ({IdentifierStart}|{Digit}|("\\"{EscapedSourceCharacter})) JS_MLCBegin = "/*" JS_DocCommentBegin = "/**" JS_MLCEnd = "*/" JS_LineCommentBegin = "//" JS_IntegerHelper1 = (({NonzeroDigit}{Digit}*)|"0") JS_IntegerHelper2 = ("0"(([xX]{HexDigit}+)|({OctalDigit}*))) JS_IntegerLiteral = ({JS_IntegerHelper1}[lL]?) JS_HexLiteral = ({JS_IntegerHelper2}[lL]?) JS_FloatHelper1 = ([fFdD]?) JS_FloatHelper2 = ([eE][+-]?{Digit}+{JS_FloatHelper1}) JS_FloatLiteral1 = ({Digit}+"."({JS_FloatHelper1}|{JS_FloatHelper2}|{Digit}+({JS_FloatHelper1}|{JS_FloatHelper2}))) JS_FloatLiteral2 = ("."{Digit}+({JS_FloatHelper1}|{JS_FloatHelper2})) JS_FloatLiteral3 = ({Digit}+{JS_FloatHelper2}) JS_FloatLiteral = ({JS_FloatLiteral1}|{JS_FloatLiteral2}|{JS_FloatLiteral3}|({Digit}+[fFdD])) JS_ErrorNumberFormat = (({JS_IntegerLiteral}|{JS_HexLiteral}|{JS_FloatLiteral}){NonSeparator}+) JS_Separator = ([\(\)\{\}\[\]\]]) JS_Separator2 = ([\;,.]) JS_NonAssignmentOperator = ("+"|"-"|"<="|"^"|"++"|"<"|"*"|">="|"%"|"--"|">"|"/"|"!="|"?"|">>"|"!"|"&"|"=="|":"|">>"|"~"|"|"|"&&"|">>>") JS_AssignmentOperator = ("="|"-="|"*="|"/="|"|="|"&="|"^="|"+="|"%="|"<<="|">>="|">>>=") JS_Operator = ({JS_NonAssignmentOperator}|{JS_AssignmentOperator}) JS_Identifier = ({IdentifierStart}{IdentifierPart}*) JS_ErrorIdentifier = ({NonSeparator}+) JS_Regex = ("/"([^\*\\/]|\\.)([^/\\]|\\.)*"/"[gim]*) JS_E4xAttribute = ("@"{Letter}{LetterOrDigit}*) JS_BlockTag = ("abstract"|"access"|"alias"|"augments"|"author"|"borrows"| "callback"|"classdesc"|"constant"|"constructor"|"constructs"| "copyright"|"default"|"deprecated"|"desc"|"enum"|"event"| "example"|"exports"|"external"|"file"|"fires"|"global"| "ignore"|"inner"|"instance"|"kind"|"lends"|"license"| "link"|"member"|"memberof"|"method"|"mixes"|"mixin"|"module"| "name"|"namespace"|"param"|"private"|"property"|"protected"| "public"|"readonly"|"requires"|"return"|"returns"|"see"|"since"| "static"|"summary"|"this"|"throws"|"todo"| "type"|"typedef"|"variation"|"version") JS_InlineTag = ("link"|"linkplain"|"linkcode"|"tutorial") e4x_NameStartChar = ([\:A-Z_a-z]) e4x_NameChar = ({e4x_NameStartChar}|[\-\.0-9]) e4x_TagName = ({e4x_NameStartChar}{e4x_NameChar}*) e4x_Identifier = ([^ \t\n<&;]+) e4x_EndXml = ([;]) e4x_EntityReference = ([&][^; \t]*[;]?) e4x_InTagIdentifier = ([^ \t\n\"\'=\/>]+) e4x_CDataBegin = ("") URLGenDelim = ([:\/\?#\[\]@]) URLSubDelim = ([\!\$&'\(\)\*\+,;=]) URLUnreserved = ({LetterOrDigit}|"_"|[\-\.\~]) URLCharacter = ({URLGenDelim}|{URLSubDelim}|{URLUnreserved}|[%]) URLCharacters = ({URLCharacter}*) URLEndCharacter = ([\/\$]|{LetterOrDigit}) URL = (((https?|f(tp|ile))"://"|"www.")({URLCharacters}{URLEndCharacter})?) %state JS_STRING %state JS_CHAR %state JS_MLC %state JS_DOCCOMMENT %state JS_EOL_COMMENT %state E4X %state E4X_COMMENT %state E4X_PI %state E4X_DTD %state E4X_INTAG %state E4X_INATTR_DOUBLE %state E4X_INATTR_SINGLE %state E4X_CDATA %% { // ECMA 3+ keywords. "break" | "continue" | "delete" | "else" | "for" | "function" | "if" | "in" | "new" | "this" | "typeof" | "var" | "void" | "while" | "with" { addToken(Token.RESERVED_WORD); } "return" { addToken(Token.RESERVED_WORD_2); } //e4X "each" {if(e4xSupported){ addToken(Token.RESERVED_WORD);} else {addToken(Token.IDENTIFIER);} } //JavaScript 1.7 "let" {if(isJavaScriptCompatible("1.7")){ addToken(Token.RESERVED_WORD);} else {addToken(Token.IDENTIFIER);} } // e4x miscellaneous {JS_E4xAttribute} { addToken(isE4xSupported() ? Token.MARKUP_TAG_ATTRIBUTE : Token.ERROR_IDENTIFIER); } // Reserved (but not yet used) ECMA keywords. "abstract" { addToken(Token.RESERVED_WORD); } "boolean" { addToken(Token.DATA_TYPE); } "byte" { addToken(Token.DATA_TYPE); } "case" { addToken(Token.RESERVED_WORD); } "catch" { addToken(Token.RESERVED_WORD); } "char" { addToken(Token.DATA_TYPE); } "class" { addToken(Token.RESERVED_WORD); } "const" { addToken(Token.RESERVED_WORD); } "debugger" { addToken(Token.RESERVED_WORD); } "default" { addToken(Token.RESERVED_WORD); } "do" { addToken(Token.RESERVED_WORD); } "double" { addToken(Token.DATA_TYPE); } "enum" { addToken(Token.RESERVED_WORD); } "export" { addToken(Token.RESERVED_WORD); } "extends" { addToken(Token.RESERVED_WORD); } "final" { addToken(Token.RESERVED_WORD); } "finally" { addToken(Token.RESERVED_WORD); } "float" { addToken(Token.DATA_TYPE); } "goto" { addToken(Token.RESERVED_WORD); } "implements" { addToken(Token.RESERVED_WORD); } "import" { addToken(Token.RESERVED_WORD); } "instanceof" { addToken(Token.RESERVED_WORD); } "int" { addToken(Token.DATA_TYPE); } "interface" { addToken(Token.RESERVED_WORD); } "long" { addToken(Token.DATA_TYPE); } "native" { addToken(Token.RESERVED_WORD); } "package" { addToken(Token.RESERVED_WORD); } "private" { addToken(Token.RESERVED_WORD); } "protected" { addToken(Token.RESERVED_WORD); } "public" { addToken(Token.RESERVED_WORD); } "short" { addToken(Token.DATA_TYPE); } "static" { addToken(Token.RESERVED_WORD); } "super" { addToken(Token.RESERVED_WORD); } "switch" { addToken(Token.RESERVED_WORD); } "synchronized" { addToken(Token.RESERVED_WORD); } "throw" { addToken(Token.RESERVED_WORD); } "throws" { addToken(Token.RESERVED_WORD); } "transient" { addToken(Token.RESERVED_WORD); } "try" { addToken(Token.RESERVED_WORD); } "volatile" { addToken(Token.RESERVED_WORD); } "null" { addToken(Token.RESERVED_WORD); } // Literals. "false" | "true" { addToken(Token.LITERAL_BOOLEAN); } "NaN" { addToken(Token.RESERVED_WORD); } "Infinity" { addToken(Token.RESERVED_WORD); } // Functions. "eval" | "parseInt" | "parseFloat" | "escape" | "unescape" | "isNaN" | "isFinite" { addToken(Token.FUNCTION); } {LineTerminator} { addNullToken(); return firstToken; } {JS_Identifier} { addToken(Token.IDENTIFIER); } {Whitespace} { addToken(Token.WHITESPACE); } /* String/Character literals. */ [\'] { start = zzMarkedPos-1; validJSString = true; yybegin(JS_CHAR); } [\"] { start = zzMarkedPos-1; validJSString = true; yybegin(JS_STRING); } /* Comment literals. */ "/**/" { addToken(Token.COMMENT_MULTILINE); } {JS_MLCBegin} { start = zzMarkedPos-2; yybegin(JS_MLC); } {JS_DocCommentBegin} { start = zzMarkedPos-3; yybegin(JS_DOCCOMMENT); } {JS_LineCommentBegin} { start = zzMarkedPos-2; yybegin(JS_EOL_COMMENT); } /* Attempt to identify regular expressions (not foolproof) - do after comments! */ {JS_Regex} { 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; } } // 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; } } /* Separators. */ {JS_Separator} { addToken(Token.SEPARATOR); } {JS_Separator2} { addToken(Token.IDENTIFIER); } /* Operators. */ [\+]?"="{Whitespace}*"<" { 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 } {JS_Operator} { addToken(Token.OPERATOR); } /* Numbers */ {JS_IntegerLiteral} { addToken(Token.LITERAL_NUMBER_DECIMAL_INT); } {JS_HexLiteral} { addToken(Token.LITERAL_NUMBER_HEXADECIMAL); } {JS_FloatLiteral} { addToken(Token.LITERAL_NUMBER_FLOAT); } {JS_ErrorNumberFormat} { addToken(Token.ERROR_NUMBER_FORMAT); } {JS_ErrorIdentifier} { addToken(Token.ERROR_IDENTIFIER); } /* Ended with a line not in a string or comment. */ <> { addNullToken(); return firstToken; } /* Catch any other (unhandled) characters and flag them as bad. */ . { addToken(Token.ERROR_IDENTIFIER); } } { [^\n\\\"]+ {} \\x{HexDigit}{2} {} \\x { /* Invalid latin-1 character \xXX */ validJSString = false; } \\u{HexDigit}{4} {} \\u { /* Invalid Unicode character \\uXXXX */ validJSString = false; } \\. { /* Skip all escaped chars. */ } \\ { /* 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; } \" { int type = validJSString ? Token.LITERAL_STRING_DOUBLE_QUOTE : Token.ERROR_STRING_DOUBLE; addToken(start,zzStartRead, type); yybegin(YYINITIAL); } \n | <> { addToken(start,zzStartRead-1, Token.ERROR_STRING_DOUBLE); addNullToken(); return firstToken; } } { [^\n\\\']+ {} \\x{HexDigit}{2} {} \\x { /* Invalid latin-1 character \xXX */ validJSString = false; } \\u{HexDigit}{4} {} \\u { /* Invalid Unicode character \\uXXXX */ validJSString = false; } \\. { /* Skip all escaped chars. */ } \\ { /* 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; } \' { int type = validJSString ? Token.LITERAL_CHAR : Token.ERROR_CHAR; addToken(start,zzStartRead, type); yybegin(YYINITIAL); } \n | <> { addToken(start,zzStartRead-1, Token.ERROR_CHAR); addNullToken(); return firstToken; } } { // JavaScript MLC's. This state is essentially Java's MLC state. [^hwf\n\*]+ {} {URL} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_EOL); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_EOL); start = zzMarkedPos; } [hwf] {} {JS_MLCEnd} { yybegin(YYINITIAL); addToken(start,zzStartRead+1, Token.COMMENT_MULTILINE); } \* {} \n | <> { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addEndToken(INTERNAL_IN_JS_MLC); return firstToken; } } { [^hwf\@\{\n\<\*]+ {} {URL} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_DOCUMENTATION); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_DOCUMENTATION); start = zzMarkedPos; } [hwf] {} "@"{JS_BlockTag} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_DOCUMENTATION); addToken(temp,zzMarkedPos-1, Token.COMMENT_KEYWORD); start = zzMarkedPos; } "@" {} "{@"{JS_InlineTag}[^\}]*"}" { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_DOCUMENTATION); addToken(temp,zzMarkedPos-1, Token.COMMENT_KEYWORD); start = zzMarkedPos; } "{" {} \n { addToken(start,zzStartRead-1, Token.COMMENT_DOCUMENTATION); addEndToken(INTERNAL_IN_JS_COMMENT_DOCUMENTATION); return firstToken; } "<"[/]?({Letter}[^\>]*)?">" { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_DOCUMENTATION); addToken(temp,zzMarkedPos-1, Token.COMMENT_MARKUP); start = zzMarkedPos; } \< {} {JS_MLCEnd} { yybegin(YYINITIAL); addToken(start,zzStartRead+1, Token.COMMENT_DOCUMENTATION); } \* {} <> { yybegin(YYINITIAL); addToken(start,zzEndRead, Token.COMMENT_DOCUMENTATION); addEndToken(INTERNAL_IN_JS_COMMENT_DOCUMENTATION); return firstToken; } } { [^hwf\n]+ {} {URL} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_EOL); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_EOL); start = zzMarkedPos; } [hwf] {} \n | <> { addToken(start,zzStartRead-1, Token.COMMENT_EOL); addNullToken(); return firstToken; } } { "" { int temp = zzMarkedPos; addToken(start,zzStartRead+2, Token.MARKUP_COMMENT); start = temp; yybegin(e4x_prevState); } "-" {} {LineTerminator} | <> { addToken(start,zzStartRead-1, Token.MARKUP_COMMENT); addEndToken(INTERNAL_IN_E4X_COMMENT - e4x_prevState); return firstToken; } } { [^\n\?]+ {} "?>" { yybegin(E4X); addToken(start,zzStartRead+1, Token.MARKUP_PROCESSING_INSTRUCTION); } "?" {} {LineTerminator} | <> { addToken(start,zzStartRead-1, Token.MARKUP_PROCESSING_INSTRUCTION); addEndToken(INTERNAL_E4X_MARKUP_PROCESSING_INSTRUCTION); return firstToken; } } { [^\n\[\]<>]+ {} "" { yybegin(YYINITIAL); addToken(start,zzStartRead+2, Token.MARKUP_COMMENT); } "-" {} {LineTerminator} | <> { addToken(start,zzStartRead-1, Token.MARKUP_COMMENT); return firstToken; } } { [^\n>]+ {} ">" { yybegin(YYINITIAL); addToken(start,zzStartRead, Token.MARKUP_DTD); } {LineTerminator} | <> { addToken(start,zzStartRead-1, Token.MARKUP_DTD); return firstToken; } } { [Aa] | [aA][bB][bB][rR] | [aA][cC][rR][oO][nN][yY][mM] | [aA][dD][dD][rR][eE][sS][sS] | [aA][pP][pP][lL][eE][tT] | [aA][rR][eE][aA] | [aA][rR][tT][iI][cC][lL][eE] | [aA][sS][iI][dD][eE] | [aA][uU][dD][iI][oO] | [bB] | [bB][aA][sS][eE] | [bB][aA][sS][eE][fF][oO][nN][tT] | [bB][dD][oO] | [bB][gG][sS][oO][uU][nN][dD] | [bB][iI][gG] | [bB][lL][iI][nN][kK] | [bB][lL][oO][cC][kK][qQ][uU][oO][tT][eE] | [bB][oO][dD][yY] | [bB][rR] | [bB][uU][tT][tT][oO][nN] | [cC][aA][nN][vV][aA][sS] | [cC][aA][pP][tT][iI][oO][nN] | [cC][eE][nN][tT][eE][rR] | [cC][iI][tT][eE] | [cC][oO][dD][eE] | [cC][oO][lL] | [cC][oO][lL][gG][rR][oO][uU][pP] | [cC][oO][mM][mM][aA][nN][dD] | [cC][oO][mM][mM][eE][nN][tT] | [dD][dD] | [dD][aA][tT][aA][gG][rR][iI][dD] | [dD][aA][tT][aA][lL][iI][sS][tT] | [dD][aA][tT][aA][tT][eE][mM][pP][lL][aA][tT][eE] | [dD][eE][lL] | [dD][eE][tT][aA][iI][lL][sS] | [dD][fF][nN] | [dD][iI][aA][lL][oO][gG] | [dD][iI][rR] | [dD][iI][vV] | [dD][lL] | [dD][tT] | [eE][mM] | [eE][mM][bB][eE][dD] | [eE][vV][eE][nN][tT][sS][oO][uU][rR][cC][eE] | [fF][iI][eE][lL][dD][sS][eE][tT] | [fF][iI][gG][uU][rR][eE] | [fF][oO][nN][tT] | [fF][oO][oO][tT][eE][rR] | [fF][oO][rR][mM] | [fF][rR][aA][mM][eE] | [fF][rR][aA][mM][eE][sS][eE][tT] | [hH][123456] | [hH][eE][aA][dD] | [hH][eE][aA][dD][eE][rR] | [hH][rR] | [hH][tT][mM][lL] | [iI] | [iI][fF][rR][aA][mM][eE] | [iI][lL][aA][yY][eE][rR] | [iI][mM][gG] | [iI][nN][pP][uU][tT] | [iI][nN][sS] | [iI][sS][iI][nN][dD][eE][xX] | [kK][bB][dD] | [kK][eE][yY][gG][eE][nN] | [lL][aA][bB][eE][lL] | [lL][aA][yY][eE][rR] | [lL][eE][gG][eE][nN][dD] | [lL][iI] | [lL][iI][nN][kK] | [mM][aA][pP] | [mM][aA][rR][kK] | [mM][aA][rR][qQ][uU][eE][eE] | [mM][eE][nN][uU] | [mM][eE][tT][aA] | [mM][eE][tT][eE][rR] | [mM][uU][lL][tT][iI][cC][oO][lL] | [nN][aA][vV] | [nN][eE][sS][tT] | [nN][oO][bB][rR] | [nN][oO][eE][mM][bB][eE][dD] | [nN][oO][fF][rR][aA][mM][eE][sS] | [nN][oO][lL][aA][yY][eE][rR] | [nN][oO][sS][cC][rR][iI][pP][tT] | [oO][bB][jJ][eE][cC][tT] | [oO][lL] | [oO][pP][tT][gG][rR][oO][uU][pP] | [oO][pP][tT][iI][oO][nN] | [oO][uU][tT][pP][uU][tT] | [pP] | [pP][aA][rR][aA][mM] | [pP][lL][aA][iI][nN][tT][eE][xX][tT] | [pP][rR][eE] | [pP][rR][oO][gG][rR][eE][sS][sS] | [qQ] | [rR][uU][lL][eE] | [sS] | [sS][aA][mM][pP] | [sS][cC][rR][iI][pP][tT] | [sS][eE][cC][tT][iI][oO][nN] | [sS][eE][lL][eE][cC][tT] | [sS][eE][rR][vV][eE][rR] | [sS][mM][aA][lL][lL] | [sS][oO][uU][rR][cC][eE] | [sS][pP][aA][cC][eE][rR] | [sS][pP][aA][nN] | [sS][tT][rR][iI][kK][eE] | [sS][tT][rR][oO][nN][gG] | [sS][tT][yY][lL][eE] | [sS][uU][bB] | [sS][uU][pP] | [tT][aA][bB][lL][eE] | [tT][bB][oO][dD][yY] | [tT][dD] | [tT][eE][xX][tT][aA][rR][eE][aA] | [tT][fF][oO][oO][tT] | [tT][hH] | [tT][hH][eE][aA][dD] | [tT][iI][mM][eE] | [tT][iI][tT][lL][eE] | [tT][rR] | [tT][tT] | [uU] | [uU][lL] | [vV][aA][rR] | [vV][iI][dD][eE][oO] { addToken(Token.MARKUP_TAG_NAME); } {InTagIdentifier} { /* A non-recognized HTML tag name */ yypushback(yylength()); yybegin(INTAG); } . { /* Shouldn't happen */ yypushback(1); yybegin(INTAG); } <> { addToken(zzMarkedPos,zzMarkedPos, INTERNAL_INTAG); return firstToken; } } { {PHP_Start} { addToken(Token.SEPARATOR); phpInState = zzLexicalState; yybegin(PHP); } "/" { addToken(Token.MARKUP_TAG_DELIMITER); } {InTagIdentifier} { addToken(Token.MARKUP_TAG_ATTRIBUTE); } {Whitespace} { addToken(Token.WHITESPACE); } "=" { addToken(Token.OPERATOR); } "/>" { yybegin(YYINITIAL); addToken(Token.MARKUP_TAG_DELIMITER); } ">" { yybegin(YYINITIAL); addToken(Token.MARKUP_TAG_DELIMITER); } [\"] { start = zzMarkedPos-1; yybegin(INATTR_DOUBLE); } [\'] { start = zzMarkedPos-1; yybegin(INATTR_SINGLE); } <> { addToken(zzMarkedPos,zzMarkedPos, INTERNAL_INTAG); return firstToken; } } { {PHP_Start} { int temp=zzStartRead; if (zzStartRead>start) addToken(start,zzStartRead-1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); addToken(temp, zzMarkedPos-1, Token.SEPARATOR); phpInState = zzLexicalState; yybegin(PHP); } [^\"<]* {} "<" { /* Allowing "> { addToken(start,zzStartRead-1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); addEndToken(INTERNAL_ATTR_DOUBLE); return firstToken; } } { {PHP_Start} { int temp=zzStartRead; if (zzStartRead>start) addToken(start,zzStartRead-1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); addToken(temp, zzMarkedPos-1, Token.SEPARATOR); phpInState = zzLexicalState; yybegin(PHP); } [^\'<]* {} "<" { /* Allowing "> { addToken(start,zzStartRead-1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); addEndToken(INTERNAL_ATTR_SINGLE); return firstToken; } } { {PHP_Start} { addToken(Token.SEPARATOR); phpInState = zzLexicalState; yybegin(PHP); } {InTagIdentifier} { addToken(Token.MARKUP_TAG_ATTRIBUTE); } "/>" { addToken(Token.MARKUP_TAG_DELIMITER); yybegin(YYINITIAL); } "/" { addToken(Token.MARKUP_TAG_DELIMITER); } // Won't appear in valid HTML. {Whitespace} { addToken(Token.WHITESPACE); } "=" { addToken(Token.OPERATOR); } ">" { addToken(Token.MARKUP_TAG_DELIMITER); yybegin(JAVASCRIPT, LANG_INDEX_JS); } [\"] { start = zzMarkedPos-1; yybegin(INATTR_DOUBLE_SCRIPT); } [\'] { start = zzMarkedPos-1; yybegin(INATTR_SINGLE_SCRIPT); } <> { addToken(zzMarkedPos,zzMarkedPos, INTERNAL_INTAG_SCRIPT); return firstToken; } } { {PHP_Start} { int temp=zzStartRead; if (zzStartRead>start) addToken(start,zzStartRead-1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); addToken(temp, zzMarkedPos-1, Token.SEPARATOR); phpInState = zzLexicalState; yybegin(PHP); } [^\"<]* {} "<" { /* Allowing "> { addToken(start,zzStartRead-1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); addEndToken(INTERNAL_ATTR_DOUBLE_QUOTE_SCRIPT); return firstToken; } } { {PHP_Start} { int temp=zzStartRead; if (zzStartRead>start) addToken(start,zzStartRead-1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); addToken(temp, zzMarkedPos-1, Token.SEPARATOR); phpInState = zzLexicalState; yybegin(PHP); } [^\'<]* {} "<" { /* Allowing "> { addToken(start,zzStartRead-1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); addEndToken(INTERNAL_ATTR_SINGLE_QUOTE_SCRIPT); return firstToken; } } { {InTagIdentifier} { addToken(Token.MARKUP_TAG_ATTRIBUTE); } "/>" { addToken(Token.MARKUP_TAG_DELIMITER); yybegin(YYINITIAL); } "/" { addToken(Token.MARKUP_TAG_DELIMITER); } // Won't appear in valid HTML. {Whitespace} { addToken(Token.WHITESPACE); } "=" { addToken(Token.OPERATOR); } ">" { addToken(Token.MARKUP_TAG_DELIMITER); yybegin(CSS, LANG_INDEX_CSS); } [\"] { start = zzMarkedPos-1; yybegin(INATTR_DOUBLE_STYLE); } [\'] { start = zzMarkedPos-1; yybegin(INATTR_SINGLE_STYLE); } <> { addToken(zzMarkedPos,zzMarkedPos, INTERNAL_INTAG_STYLE); return firstToken; } } { [^\"]* {} [\"] { yybegin(INTAG_STYLE); addToken(start,zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); } <> { addToken(start,zzStartRead-1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); addEndToken(INTERNAL_ATTR_DOUBLE_QUOTE_STYLE); return firstToken; } } { [^\']* {} [\'] { yybegin(INTAG_STYLE); addToken(start,zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); } <> { addToken(start,zzStartRead-1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); addEndToken(INTERNAL_ATTR_SINGLE_QUOTE_STYLE); return firstToken; } } { {EndScriptTag} { 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); } // ECMA 3+ keywords. "break" | "continue" | "delete" | "else" | "for" | "function" | "if" | "in" | "new" | "this" | "typeof" | "var" | "void" | "while" | "with" { addToken(Token.RESERVED_WORD); } "return" { addToken(Token.RESERVED_WORD_2); } //JavaScript 1.6 "each" {if(JavaScriptTokenMaker.isJavaScriptCompatible("1.6")){ addToken(Token.RESERVED_WORD);} else {addToken(Token.IDENTIFIER);} } //JavaScript 1.7 "let" {if(JavaScriptTokenMaker.isJavaScriptCompatible("1.7")){ addToken(Token.RESERVED_WORD);} else {addToken(Token.IDENTIFIER);} } // Reserved (but not yet used) ECMA keywords. "abstract" { addToken(Token.RESERVED_WORD); } "boolean" { addToken(Token.DATA_TYPE); } "byte" { addToken(Token.DATA_TYPE); } "case" { addToken(Token.RESERVED_WORD); } "catch" { addToken(Token.RESERVED_WORD); } "char" { addToken(Token.DATA_TYPE); } "class" { addToken(Token.RESERVED_WORD); } "const" { addToken(Token.RESERVED_WORD); } "debugger" { addToken(Token.RESERVED_WORD); } "default" { addToken(Token.RESERVED_WORD); } "do" { addToken(Token.RESERVED_WORD); } "double" { addToken(Token.DATA_TYPE); } "enum" { addToken(Token.RESERVED_WORD); } "export" { addToken(Token.RESERVED_WORD); } "extends" { addToken(Token.RESERVED_WORD); } "final" { addToken(Token.RESERVED_WORD); } "finally" { addToken(Token.RESERVED_WORD); } "float" { addToken(Token.DATA_TYPE); } "goto" { addToken(Token.RESERVED_WORD); } "implements" { addToken(Token.RESERVED_WORD); } "import" { addToken(Token.RESERVED_WORD); } "instanceof" { addToken(Token.RESERVED_WORD); } "int" { addToken(Token.DATA_TYPE); } "interface" { addToken(Token.RESERVED_WORD); } "long" { addToken(Token.DATA_TYPE); } "native" { addToken(Token.RESERVED_WORD); } "package" { addToken(Token.RESERVED_WORD); } "private" { addToken(Token.RESERVED_WORD); } "protected" { addToken(Token.RESERVED_WORD); } "public" { addToken(Token.RESERVED_WORD); } "short" { addToken(Token.DATA_TYPE); } "static" { addToken(Token.RESERVED_WORD); } "super" { addToken(Token.RESERVED_WORD); } "switch" { addToken(Token.RESERVED_WORD); } "synchronized" { addToken(Token.RESERVED_WORD); } "throw" { addToken(Token.RESERVED_WORD); } "throws" { addToken(Token.RESERVED_WORD); } "transient" { addToken(Token.RESERVED_WORD); } "try" { addToken(Token.RESERVED_WORD); } "volatile" { addToken(Token.RESERVED_WORD); } "null" { addToken(Token.RESERVED_WORD); } // Literals. {BooleanLiteral} { addToken(Token.LITERAL_BOOLEAN); } "NaN" { addToken(Token.RESERVED_WORD); } "Infinity" { addToken(Token.RESERVED_WORD); } // Functions. "eval" | "parseInt" | "parseFloat" | "escape" | "unescape" | "isNaN" | "isFinite" { addToken(Token.FUNCTION); } {LineTerminator} { addEndToken(INTERNAL_IN_JS); return firstToken; } {JS_Identifier} { addToken(Token.IDENTIFIER); } {Whitespace} { addToken(Token.WHITESPACE); } /* String/Character literals. */ [\'] { start = zzMarkedPos-1; validJSString = true; yybegin(JS_CHAR); } [\"] { start = zzMarkedPos-1; validJSString = true; yybegin(JS_STRING); } /* Comment literals. */ "/**/" { addToken(Token.COMMENT_MULTILINE); } {JS_MLCBegin} { start = zzMarkedPos-2; yybegin(JS_MLC); } {JS_LineCommentBegin} { start = zzMarkedPos-2; yybegin(JS_EOL_COMMENT); } /* Attempt to identify regular expressions (not foolproof) - do after comments! */ {JS_Regex} { 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; } } // 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; } } /* Separators. */ {JS_Separator} { addToken(Token.SEPARATOR); } {JS_Separator2} { addToken(Token.IDENTIFIER); } {PHP_Start} { addToken(Token.SEPARATOR); phpInState = zzLexicalState; yybegin(PHP); } /* Operators. */ {JS_Operator} { addToken(Token.OPERATOR); } /* Numbers */ {JS_IntegerLiteral} { addToken(Token.LITERAL_NUMBER_DECIMAL_INT); } {JS_HexLiteral} { addToken(Token.LITERAL_NUMBER_HEXADECIMAL); } {JS_FloatLiteral} { addToken(Token.LITERAL_NUMBER_FLOAT); } {JS_ErrorNumberFormat} { addToken(Token.ERROR_NUMBER_FORMAT); } {JS_ErrorIdentifier} { addToken(Token.ERROR_IDENTIFIER); } /* Ended with a line not in a string or comment. */ <> { addEndToken(INTERNAL_IN_JS); return firstToken; } /* Catch any other (unhandled) characters and flag them as bad. */ . { addToken(Token.ERROR_IDENTIFIER); } } { [^\n\\\"]+ {} \n { addToken(start,zzStartRead-1, Token.ERROR_STRING_DOUBLE); addEndToken(INTERNAL_IN_JS); return firstToken; } \\x{HexDigit}{2} {} \\x { /* Invalid latin-1 character \xXX */ validJSString = false; } \\u{HexDigit}{4} {} \\u { /* Invalid Unicode character \\uXXXX */ validJSString = false; } \\. { /* Skip all escaped chars. */ } \\ { /* 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; } \" { int type = validJSString ? Token.LITERAL_STRING_DOUBLE_QUOTE : Token.ERROR_STRING_DOUBLE; addToken(start,zzStartRead, type); yybegin(JAVASCRIPT); } <> { addToken(start,zzStartRead-1, Token.ERROR_STRING_DOUBLE); addEndToken(INTERNAL_IN_JS); return firstToken; } } { [^\n\\\']+ {} \n { addToken(start,zzStartRead-1, Token.ERROR_CHAR); addEndToken(INTERNAL_IN_JS); return firstToken; } \\x{HexDigit}{2} {} \\x { /* Invalid latin-1 character \xXX */ validJSString = false; } \\u{HexDigit}{4} {} \\u { /* Invalid Unicode character \\uXXXX */ validJSString = false; } \\. { /* Skip all escaped chars. */ } \\ { /* 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; } \' { int type = validJSString ? Token.LITERAL_CHAR : Token.ERROR_CHAR; addToken(start,zzStartRead, type); yybegin(JAVASCRIPT); } <> { addToken(start,zzStartRead-1, Token.ERROR_CHAR); addEndToken(INTERNAL_IN_JS); return firstToken; } } { // JavaScript MLC's. This state is essentially Java's MLC state. [^hwf<\n\*]+ {} {URL} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_MULTILINE); start = zzMarkedPos; } [hwf] {} {EndScriptTag} { 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); } "<" {} \n { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addEndToken(INTERNAL_IN_JS_MLC); return firstToken; } {JS_MLCEnd} { yybegin(JAVASCRIPT); addToken(start,zzStartRead+1, Token.COMMENT_MULTILINE); } \* {} <> { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addEndToken(INTERNAL_IN_JS_MLC); return firstToken; } } { [^hwf<\n]+ {} {URL} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_EOL); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_EOL); start = zzMarkedPos; } [hwf] {} {EndScriptTag} { 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); } "<" {} \n { addToken(start,zzStartRead-1, Token.COMMENT_EOL); addEndToken(INTERNAL_IN_JS); return firstToken; } <> { addToken(start,zzStartRead-1, Token.COMMENT_EOL); addEndToken(INTERNAL_IN_JS); return firstToken; } } { {EndStyleTag} { 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); } {CSS_SelectorPiece} { addToken(Token.DATA_TYPE); } {CSS_PseudoClass} { addToken(Token.RESERVED_WORD); } ":" { /* Unknown pseudo class */ addToken(Token.DATA_TYPE); } {CSS_AtKeyword} { addToken(Token.REGEX); } {CSS_Id} { addToken(Token.VARIABLE); } "{" { addToken(Token.SEPARATOR); yybegin(CSS_PROPERTY); } [,] { addToken(Token.IDENTIFIER); } \" { start = zzMarkedPos-1; cssPrevState = zzLexicalState; yybegin(CSS_STRING); } \' { start = zzMarkedPos-1; cssPrevState = zzLexicalState; yybegin(CSS_CHAR_LITERAL); } [+>~\^$\|=] { addToken(Token.OPERATOR); } {CSS_Separator} { addToken(Token.SEPARATOR); } {Whitespace} { addToken(Token.WHITESPACE); } {CSS_MlcStart} { start = zzMarkedPos-2; cssPrevState = zzLexicalState; yybegin(CSS_C_STYLE_COMMENT); } . { /*System.out.println("CSS: " + yytext());*/ addToken(Token.IDENTIFIER); } "\n" | <> { addEndToken(INTERNAL_CSS); return firstToken; } } { {EndStyleTag} { 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); } {CSS_Property} { addToken(Token.RESERVED_WORD); } "}" { addToken(Token.SEPARATOR); yybegin(CSS); } ":" { addToken(Token.OPERATOR); yybegin(CSS_VALUE); } {Whitespace} { addToken(Token.WHITESPACE); } {CSS_MlcStart} { start = zzMarkedPos-2; cssPrevState = zzLexicalState; yybegin(CSS_C_STYLE_COMMENT); } . { /*System.out.println("css_property: " + yytext());*/ addToken(Token.IDENTIFIER); } "\n" | <> { addEndToken(INTERNAL_CSS_PROPERTY); return firstToken; } } { {EndStyleTag} { 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); } {CSS_Value} { addToken(Token.IDENTIFIER); } "!important" { addToken(Token.ANNOTATION); } {CSS_Function} { int temp = zzMarkedPos - 2; addToken(zzStartRead, temp, Token.FUNCTION); addToken(zzMarkedPos-1, zzMarkedPos-1, Token.SEPARATOR); zzStartRead = zzCurrentPos = zzMarkedPos; } {CSS_Number} { addToken(Token.LITERAL_NUMBER_DECIMAL_INT); } \" { start = zzMarkedPos-1; cssPrevState = zzLexicalState; yybegin(CSS_STRING); } \' { start = zzMarkedPos-1; cssPrevState = zzLexicalState; yybegin(CSS_CHAR_LITERAL); } ")" { /* End of a function */ addToken(Token.SEPARATOR); } [;] { addToken(Token.OPERATOR); yybegin(CSS_PROPERTY); } [,\.] { addToken(Token.IDENTIFIER); } "}" { addToken(Token.SEPARATOR); yybegin(CSS); } {Whitespace} { addToken(Token.WHITESPACE); } {CSS_MlcStart} { start = zzMarkedPos-2; cssPrevState = zzLexicalState; yybegin(CSS_C_STYLE_COMMENT); } . { /*System.out.println("css_value: " + yytext());*/ addToken(Token.IDENTIFIER); } "\n" | <> { addEndToken(INTERNAL_CSS_VALUE); return firstToken; } } { [^\n\\\"]+ {} \\.? { /* Skip escaped chars. */ } \" { addToken(start,zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); yybegin(cssPrevState); } \n | <> { addToken(start,zzStartRead-1, Token.LITERAL_STRING_DOUBLE_QUOTE); addEndToken(INTERNAL_CSS_STRING - cssPrevState); return firstToken; } } { [^\n\\\']+ {} \\.? { /* Skip escaped chars. */ } \' { addToken(start,zzStartRead, Token.LITERAL_CHAR); yybegin(cssPrevState); } \n | <> { addToken(start,zzStartRead-1, Token.LITERAL_CHAR); addEndToken(INTERNAL_CSS_CHAR - cssPrevState); return firstToken; } } { [^hwf\n\*]+ {} {URL} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_MULTILINE); start = zzMarkedPos; } [hwf] {} {CSS_MlcEnd} { addToken(start,zzStartRead+1, Token.COMMENT_MULTILINE); yybegin(cssPrevState); } \* {} \n | <> { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addEndToken(INTERNAL_CSS_MLC - cssPrevState); return firstToken; } } { "?>" { addToken(Token.MARKUP_TAG_DELIMITER); start = zzMarkedPos; yybegin(phpInState); } /* Error control operator */ ("@"{JS_Identifier}) { int count = yylength(); addToken(zzStartRead,zzStartRead, Token.FUNCTION); zzMarkedPos -= (count-1); //yypushback(count-1); } /* Keywords */ "__CLASS__" | "__DIR__" | "__FILE__" | "__FUNCTION__" | "__METHOD__" | "__NAMESPACE__" | "abstract" | "and" | "array" | "as" | "break" | "case" | "catch" | "cfunction" | "class" | "clone" | "const" | "continue" | "declare" | "default" | "die" | "do" | "echo" | "else" | "elseif" | "empty" | "enddeclare" | "endfor" | "endforeach" | "endif" | "endswitch" | "endwhile" | "eval" | "extends" | "final" | "for" | "foreach" | "function" | "global" | "goto" | "if" | "implements" | "include" | "include_once" | "interface" | "instanceof" | "isset" | "list" | "namespace" | "new" | "old_function" | "or" | "print" | "private" | "protected" | "public" | "require" | "require_once" | "static" | "switch" | "throw" | "try" | "unset" | "use" | "var" | "while" | "xor" | "parent" | "self" | "stdClass" { addToken(Token.RESERVED_WORD); } "exit" | "return" { addToken(Token.RESERVED_WORD_2); } /* Functions */ "__call" | "__construct" | "__getfunctions" | "__getlastrequest" | "__getlastresponse" | "__gettypes" | "__tostring" | "abs" | "acos" | "acosh" | "add" | ("add"("_namespace"|"_root"|"action"|"color"|"cslashes"|"entry"|"fill"|"function"|"shape"|"slashes"|"string")) | "aggregate" | "aggregate_info" | "aggregate_methods" | "aggregate_methods_by_list" | "aggregate_methods_by_regexp" | "aggregate_properties" | "aggregate_properties_by_list" | "aggregate_properties_by_regexp" | "aggregation_info" | "align" | ("apd_"("breakpoint"|"callstack"|"clunk"|"continue"|"croak"|"dump_function_table"|"dump_persistent_resources"|"dump_regular_resources"|"echo"|"get_active_symbols"|"set_pprof_trace"|"set_session"|"set_session_trace"|"set_socket_session_trace")) | "append" | "append_child" | "append_sibling" | "appendchild" | "appenddata" | ("array_"("change_key_case"|"chunk"|"combine"|"count_values"|"diff"|"diff_assoc"|"diff_key"|"diff_uassoc"|"diff_ukey"|"fill"|"filter"|"flip"|"intersect"|"intersect_assoc"|"intersect_key"|"intersect_uassoc"|"intersect_ukey"|"key_exists"|"keys"|"map"|"merge"|"merge_recursive"|"multisort"|"pad"|"pop"|"push"|"rand"|"reduce"|"reverse"|"search"|"shift"|"slice"|"splice"|"sum"|"udiff"|"udiff_assoc"|"udiff_uassoc"|"uintersect"|"uintersect_assoc"|"uintersect_uassoc"|"unique"|"unshift"|"values"|"walk"|"walk_recursive")) | "arsort" | "ascii2ebcdic" | "asin" | "asinh" | "asort" | "assert" | "assert_options" | "assign" | "assignelem" | "asxml" | "atan" | "atan2" | "atanh" | "attreditable" | "attributes" | "base64_decode" | "base64_encode" | "base_convert" | "basename" | "bcadd" | "bccomp" | "bcdiv" | "bcmod" | "bcmul" | "bcpow" | "bcpowmod" | "bcscale" | "bcsqrt" | "bcsub" | "begintransaction" | "bin2hex" | "bind_textdomain_codeset" | "bindcolumn" | "bindec" | "bindparam" | "bindtextdomain" | "bzclose" | "bzcompress" | "bzdecompress" | "bzerrno" | "bzerror" | "bzerrstr" | "bzflush" | "bzopen" | "bzread" | "bzwrite" | "cal_days_in_month" | "cal_from_jd" | "cal_info" | "cal_to_jd" | "call_user_func" | "call_user_func_array" | "call_user_method" | "call_user_method_array" | ("ccvs_"("add"|"auth"|"command"|"count"|"delete"|"done"|"init"|"lookup"|"new"|"report"|"return"|"reverse"|"sale"|"status"|"textvalue"|"void")) | "ceil" | "chdir" | "checkdate" | "checkdnsrr" | "checkin" | "checkout" | "chgrp" | "child_nodes" | "children" | "chmod" | "chop" | "chown" | "chr" | "chroot" | "chunk_split" | "class_exists" | "class_implements" | "class_parents" | "classkit_import" | "classkit_method_add" | "classkit_method_copy" | "classkit_method_redefine" | "classkit_method_remove" | "classkit_method_rename" | "clearstatcache" | "clone_node" | "clonenode" | "close" | "closedir" | "closelog" | "com" | "commit" | "compact" | "connect" | "connection_aborted" | "connection_status" | "connection_timeout" | "constant" | "content" | "convert_cyr_string" | "convert_uudecode" | "convert_uuencode" | "copy" | "cos" | "cosh" | "count" | "count_chars" | "crack_check" | "crack_closedict" | "crack_getlastmessage" | "crack_opendict" | "crc32" | ("create"("_attribute"|"_cdata_section"|"_comment"|"_element"|"_element_ns"|"_entity_reference"|"_function"|"_processing_instruction"|"_text_node"|"attribute"|"attributens"|"cdatasection"|"comment"|"document"|"documentfragment"|"documenttype"|"element"|"elementns"|"entityreference"|"processinginstruction"|"textnode")) | "crypt" | ("curl_"("close"|"copy_handle"|"errno"|"error"|"exec"|"getinfo"|"init"|"multi_add_handle"|"multi_close"|"multi_exec"|"multi_getcontent"|"multi_info_read"|"multi_init"|"multi_remove_handle"|"multi_select"|"setopt"|"version")) | "current" | "cybercash_base64_decode" | "cybercash_base64_encode" | "cybercash_decr" | "cybercash_encr" | "cyrus_authenticate" | "cyrus_bind" | "cyrus_close" | "cyrus_connect" | "cyrus_query" | "cyrus_unbind" | "data" | "date" | "date_sunrise" | "date_sunset" | "dblist" | "dbmclose" | "dbmdelete" | "dbmexists" | "dbmfetch" | "dbmfirstkey" | "dbminsert" | "dbmnextkey" | "dbmopen" | "dbmreplace" | "dbstat" | "dcgettext" | "dcngettext" | "dcstat" | "deaggregate" | "debug_backtrace" | "debug_print_backtrace" | "debug_zval_dump" | "debugger_off" | "debugger_on" | "decbin" | "dechex" | "decoct" | "decrement" | "define" | "define_syslog_variables" | "defined" | "deg2rad" | "delete" | "deletedata" | "description" | "dgettext" | ("dio_"("close"|"fcntl"|"open"|"read"|"seek"|"stat"|"tcsetattr"|"truncate"|"write")) | "dir" | "dirname" | "disk_free_space" | "disk_total_space" | "diskfreespace" | "dl" | "dngettext" | "dns_check_record" | "dns_get_mx" | "dns_get_record" | "doctype" | "document_element" | "dom_import_simplexml" | ("domxml_"("new_doc"|"open_file"|"open_mem"|"version"|"xmltree"|"xslt_stylesheet"|"xslt_stylesheet_doc"|"xslt_stylesheet_file")) | "dotnet" | "dotnet_load" | "doubleval" | "drawcurve" | "drawcurveto" | "drawline" | "drawlineto" | "dstanchors" | "dstofsrcanchors" | "dump_file" | "dump_mem" | "dump_node" | "each" | "easter_date" | "easter_days" | "ebcdic2ascii" | "end" | "entities" | "eof" | "erase" | "ereg" | "ereg_replace" | "eregi" | "eregi_replace" | "error_log" | "error_reporting" | "errorcode" | "errorinfo" | "escapeshellarg" | "escapeshellcmd" | "exec" | "execute" | "exif_imagetype" | "exif_read_data" | "exif_tagname" | "exif_thumbnail" | "exp" | "explode" | "expm1" | "export" | "extension_loaded" | "extract" | "ezmlm_hash" | "fclose" | "feof" | "fetch" | "fetchall" | "fetchsingle" | "fflush" | "fgetc" | "fgetcsv" | "fgets" | "fgetss" | "file" | ("file"("_exists"|"_get_contents"|"_put_contents"|"atime"|"ctime"|"group"|"inode"|"mtime"|"owner"|"perms"|"pro"|"pro_fieldcount"|"pro_fieldname"|"pro_fieldtype"|"pro_fieldwidth"|"pro_retrieve"|"pro_rowcount"|"size"|"type")) | "find" | "first_child" | "floatval" | "flock" | "floor" | "flush" | "fmod" | "fnmatch" | "fopen" | "fpassthru" | "fprintf" | "fputcsv" | "fputs" | "fread" | "free" | "frenchtojd" | "fribidi_log2vis" | "fscanf" | "fseek" | "fsockopen" | "fstat" | "ftell" | "ftok" | ("ftp_"("alloc"|"cdup"|"chdir"|"chmod"|"close"|"connect"|"delete"|"exec"|"fget"|"fput"|"get"|"get_option"|"login"|"mdtm"|"mkdir"|"nb_continue"|"nb_fget"|"nb_fput"|"nb_get"|"nb_put"|"nlist"|"pasv"|"put"|"pwd"|"quit"|"raw"|"rawlist"|"rename"|"rmdir"|"set_option"|"site"|"size"|"ssl_connect"|"systype")) | "ftruncate" | "ftstat" | "func_get_arg" | "func_get_args" | "func_num_args" | "function_exists" | "fwrite" | "gd_info" | "get" | ("get"("_attr"|"_attribute"|"_attribute_node"|"_browser"|"_cfg_var"|"_class"|"_class_methods"|"_class_vars"|"_content"|"_current_user"|"_declared_classes"|"_declared_interfaces"|"_defined_constants"|"_defined_functions"|"_defined_vars"|"_element_by_id"|"_elements_by_tagname"|"_extension_funcs"|"_headers"|"_html_translation_table"|"_include_path"|"_included_files"|"_loaded_extensions"|"_magic_quotes_gpc"|"_magic_quotes_runtime"|"_meta_tags"|"_nodes"|"_object_vars"|"_parent_class"|"_required_files"|"_resource_type"|"allheaders"|"atime"|"attr"|"attribute"|"attributenode"|"attributenodens"|"attributens"|"buffering"|"children"|"crc"|"ctime"|"cwd"|"date"|"depth"|"elem"|"elementbyid"|"elementsbytagname"|"elementsbytagnamens"|"env"|"filename"|"filetime"|"functions"|"group"|"height"|"hostbyaddr"|"hostbyname"|"hostbynamel"|"hostos"|"imagesize"|"inneriterator"|"inode"|"iterator"|"lastmod"|"method"|"mtime"|"mxrr"|"mygid"|"myinode"|"mypid"|"myuid"|"name"|"nameditem"|"nameditemns"|"opt"|"owner"|"packedsize"|"path"|"pathname"|"perms"|"position"|"protobyname"|"protobynumber"|"randmax"|"rusage"|"servbyname"|"servbyport"|"shape1"|"shape2"|"size"|"stats"|"subiterator"|"text"|"timeofday"|"type"|"unpackedsize"|"version"|"width")) | "glob" | "gmdate" | "gmmktime" | ("gmp_"("abs"|"add"|"and"|"clrbit"|"cmp"|"com"|"div"|"div_q"|"div_qr"|"div_r"|"divexact"|"fact"|"gcd"|"gcdext"|"hamdist"|"init"|"intval"|"invert"|"jacobi"|"legendre"|"mod"|"mul"|"neg"|"or"|"perfect_square"|"popcount"|"pow"|"powm"|"prob_prime"|"random"|"scan0"|"scan1"|"setbit"|"sign"|"sqrt"|"sqrtrem"|"strval"|"sub"|"xor")) | "gmstrftime" | "gregoriantojd" | ("gz"("close"|"compress"|"deflate"|"encode"|"eof"|"file"|"getc"|"gets"|"getss"|"inflate"|"open"|"passthru"|"puts"|"read"|"rewind"|"seek"|"tell"|"uncompress"|"write")) | "handle" | ("has"("_attribute"|"_attributes"|"_child_nodes"|"attribute"|"attributens"|"attributes"|"childnodes"|"children"|"feature"|"next"|"siblings")) | "header" | "headers_list" | "headers_sent" | "hebrev" | "hebrevc" | "hexdec" | "highlight_file" | "highlight_string" | "html_dump_mem" | "html_entity_decode" | "htmlentities" | "htmlspecialchars" | "http_build_query" | ("hw_"("array2objrec"|"changeobject"|"children"|"childrenobj"|"close"|"connect"|"connection_info"|"cp"|"deleteobject"|"docbyanchor"|"docbyanchorobj"|"document_attributes"|"document_bodytag"|"document_content"|"document_setcontent"|"document_size"|"dummy"|"edittext"|"error"|"errormsg"|"free_document"|"getanchors"|"getanchorsobj"|"getandlock"|"getchildcoll"|"getchildcollobj"|"getchilddoccoll"|"getchilddoccollobj"|"getobject"|"getobjectbyquery"|"getobjectbyquerycoll"|"getobjectbyquerycollobj"|"getobjectbyqueryobj"|"getparents"|"getparentsobj"|"getrellink"|"getremote"|"getremotechildren"|"getsrcbydestobj"|"gettext"|"getusername"|"identify"|"incollections"|"info"|"inscoll"|"insdoc"|"insertanchors"|"insertdocument"|"insertobject"|"mapid"|"modifyobject"|"mv"|"new_document"|"objrec2array"|"output_document"|"pconnect"|"pipedocument"|"root"|"setlinkroot"|"stat"|"unlock"|"who")) | "hwapi_hgcsp" | "hwstat" | "hypot" | ("ibase_"("add_user"|"affected_rows"|"backup"|"blob_add"|"blob_cancel"|"blob_close"|"blob_create"|"blob_echo"|"blob_get"|"blob_import"|"blob_info"|"blob_open"|"close"|"commit"|"commit_ret"|"connect"|"db_info"|"delete_user"|"drop_db"|"errcode"|"errmsg"|"execute"|"fetch_assoc"|"fetch_object"|"fetch_row"|"field_info"|"free_event_handler"|"free_query"|"free_result"|"gen_id"|"maintain_db"|"modify_user"|"name_result"|"num_fields"|"num_params"|"param_info"|"pconnect"|"prepare"|"query"|"restore"|"rollback"|"rollback_ret"|"server_info"|"service_attach"|"service_detach"|"set_event_handler"|"timefmt"|"trans"|"wait_event")) | "iconv" | ("iconv_"("get_encoding"|"mime_decode"|"mime_decode_headers"|"mime_encode"|"set_encoding"|"strlen"|"strpos"|"strrpos"|"substr")) | "identify" | "ignore_user_abort" | ("image"("2wbmp"|"_type_to_extension"|"_type_to_mime_type"|"alphablending"|"antialias"|"arc"|"char"|"charup"|"colorallocate"|"colorallocatealpha"|"colorat"|"colorclosest"|"colorclosestalpha"|"colorclosesthwb"|"colordeallocate"|"colorexact"|"colorexactalpha"|"colormatch"|"colorresolve"|"colorresolvealpha"|"colorset"|"colorsforindex"|"colorstotal"|"colortransparent"|"copy"|"copymerge"|"copymergegray"|"copyresampled"|"copyresized"|"create"|"createfromgd"|"createfromgd2"|"createfromgd2part"|"createfromgif"|"createfromjpeg"|"createfrompng"|"createfromstring"|"createfromwbmp"|"createfromxbm"|"createfromxpm"|"createtruecolor"|"dashedline"|"destroy"|"ellipse"|"fill"|"filledarc"|"filledellipse"|"filledpolygon"|"filledrectangle"|"filltoborder"|"filter"|"fontheight"|"fontwidth"|"ftbbox"|"fttext"|"gammacorrect"|"gd"|"gd2"|"gif"|"interlace"|"istruecolor"|"jpeg"|"layereffect"|"line"|"loadfont"|"palettecopy"|"png"|"polygon"|"psbbox"|"pscopyfont"|"psencodefont"|"psextendfont"|"psfreefont"|"psloadfont"|"psslantfont"|"pstext"|"rectangle"|"rotate"|"savealpha"|"setbrush"|"setpixel"|"setstyle"|"setthickness"|"settile"|"string"|"stringup"|"sx"|"sy"|"truecolortopalette"|"ttfbbox"|"ttftext"|"types"|"wbmp"|"xbm")) | ("imap_"("8bit"|"alerts"|"append"|"base64"|"binary"|"body"|"bodystruct"|"check"|"clearflag_full"|"close"|"createmailbox"|"delete"|"deletemailbox"|"errors"|"expunge"|"fetch_overview"|"fetchbody"|"fetchheader"|"fetchstructure"|"get_quota"|"get_quotaroot"|"getacl"|"getmailboxes"|"getsubscribed"|"header"|"headerinfo"|"headers"|"last_error"|"list"|"listmailbox"|"listscan"|"listsubscribed"|"lsub"|"mail"|"mail_compose"|"mail_copy"|"mail_move"|"mailboxmsginfo"|"mime_header_decode"|"msgno"|"num_msg"|"num_recent"|"open"|"ping"|"qprint"|"renamemailbox"|"reopen"|"rfc822_parse_adrlist"|"rfc822_parse_headers"|"rfc822_write_address"|"scanmailbox"|"search"|"set_quota"|"setacl"|"setflag_full"|"sort"|"status"|"subscribe"|"thread"|"timeout"|"uid"|"undelete"|"unsubscribe"|"utf7_decode"|"utf7_encode"|"utf8")) | "implode" | "import" | "import_request_variables" | "importnode" | "in_array" | "increment" | "inet_ntop" | "inet_pton" | "info" | ("ini_"("alter"|"get"|"get_all"|"restore"|"set")) | "insert" | "insert_before" | "insertanchor" | "insertbefore" | "insertcollection" | "insertdata" | "insertdocument" | "interface_exists" | "internal_subset" | "intval" | "ip2long" | "iptcembed" | "iptcparse" | ("is_"("a"|"array"|"blank_node"|"bool"|"callable"|"dir"|"double"|"executable"|"file"|"finite"|"float"|"infinite"|"int"|"integer"|"link"|"long"|"nan"|"null"|"numeric"|"object"|"readable"|"real"|"resource"|"scalar"|"soap_fault"|"string"|"subclass_of"|"uploaded_file"|"writable"|"writeable")) | ("is"("asp"|"comment"|"dir"|"dot"|"executable"|"file"|"html"|"id"|"jste"|"link"|"php"|"readable"|"samenode"|"supported"|"text"|"whitespaceinelementcontent"|"writable"|"xhtml"|"xml")) | "item" | "iterator_count" | "iterator_to_array" | "java_last_exception_clear" | "java_last_exception_get" | "jddayofweek" | "jdmonthname" | "jdtofrench" | "jdtogregorian" | "jdtojewish" | "jdtojulian" | "jdtounix" | "jewishtojd" | "join" | "jpeg2wbmp" | "juliantojd" | "key" | "krsort" | "ksort" | "langdepvalue" | "last_child" | "lastinsertid" | "lcg_value" | ("ldap_"("8859_to_t61"|"add"|"bind"|"close"|"compare"|"connect"|"count_entries"|"delete"|"dn2ufn"|"err2str"|"errno"|"error"|"explode_dn"|"first_attribute"|"first_entry"|"first_reference"|"free_result"|"get_attributes"|"get_dn"|"get_entries"|"get_option"|"get_values"|"get_values_len"|"list"|"mod_add"|"mod_del"|"mod_replace"|"modify"|"next_attribute"|"next_entry"|"next_reference"|"parse_reference"|"parse_result"|"read"|"rename"|"sasl_bind"|"search"|"set_option"|"set_rebind_proc"|"sort"|"start_tls"|"t61_to_8859"|"unbind")) | "levenshtein" | "link" | "linkinfo" | "load" | "loadhtml" | "loadhtmlfile" | "loadxml" | "localeconv" | "localtime" | "lock" | "log" | "log10" | "log1p" | "long2ip" | "lookupnamespaceuri" | "lookupprefix" | "lstat" | "ltrim" | "lzf_compress" | "lzf_decompress" | "lzf_optimized_for" | "mail" | "main" | "max" | ("mb_"("convert_case"|"convert_encoding"|"convert_kana"|"convert_variables"|"decode_mimeheader"|"decode_numericentity"|"detect_encoding"|"detect_order"|"encode_mimeheader"|"encode_numericentity"|"ereg"|"ereg_match"|"ereg_replace"|"ereg_search"|"ereg_search_getpos"|"ereg_search_getregs"|"ereg_search_init"|"ereg_search_pos"|"ereg_search_regs"|"ereg_search_setpos"|"eregi"|"eregi_replace"|"get_info"|"http_input"|"http_output"|"internal_encoding"|"language"|"list_encodings"|"output_handler"|"parse_str"|"preferred_mime_name"|"regex_encoding"|"regex_set_options"|"send_mail"|"split"|"strcut"|"strimwidth"|"strlen"|"strpos"|"strrpos"|"strtolower"|"strtoupper"|"strwidth"|"substitute_character"|"substr"|"substr_count")) | ("mcal_"("append_event"|"close"|"create_calendar"|"date_compare"|"date_valid"|"day_of_week"|"day_of_year"|"days_in_month"|"delete_calendar"|"delete_event"|"event_add_attribute"|"event_init"|"event_set_alarm"|"event_set_category"|"event_set_class"|"event_set_description"|"event_set_end"|"event_set_recur_daily"|"event_set_recur_monthly_mday"|"event_set_recur_monthly_wday"|"event_set_recur_none"|"event_set_recur_weekly"|"event_set_recur_yearly"|"event_set_start"|"event_set_title"|"expunge"|"fetch_current_stream_event"|"fetch_event"|"is_leap_year"|"list_alarms"|"list_events"|"next_recurrence"|"open"|"popen"|"rename_calendar"|"reopen"|"snooze"|"store_event"|"time_valid"|"week_of_year")) | ("mcrypt_"("cbc"|"cfb"|"create_iv"|"decrypt"|"ecb"|"enc_get_algorithms_name"|"enc_get_block_size"|"enc_get_iv_size"|"enc_get_key_size"|"enc_get_modes_name"|"enc_get_supported_key_sizes"|"enc_is_block_algorithm"|"enc_is_block_algorithm_mode"|"enc_is_block_mode"|"enc_self_test"|"encrypt"|"generic"|"generic_deinit"|"generic_end"|"generic_init"|"get_block_size"|"get_cipher_name"|"get_iv_size"|"get_key_size"|"list_algorithms"|"list_modes"|"module_close"|"module_get_algo_block_size"|"module_get_algo_key_size"|"module_get_supported_key_sizes"|"module_is_block_algorithm"|"module_is_block_algorithm_mode"|"module_is_block_mode"|"module_open"|"module_self_test"|"ofb")) | "md5" | "md5_file" | "mdecrypt_generic" | "memcache_debug" | "memory_get_usage" | "metaphone" | "method_exists" | "mhash" | "mhash_count" | "mhash_get_block_size" | "mhash_get_hash_name" | "mhash_keygen_s2k" | "microtime" | "mime_content_type" | "mimetype" | "min" | "ming_setcubicthreshold" | "ming_setscale" | "ming_useswfversion" | "mkdir" | "mktime" | "money_format" | "move" | "move_uploaded_file" | "movepen" | "movepento" | "moveto" | ("msession_"("connect"|"count"|"create"|"destroy"|"disconnect"|"find"|"get"|"get_array"|"get_data"|"inc"|"list"|"listvar"|"lock"|"plugin"|"randstr"|"set"|"set_array"|"set_data"|"timeout"|"uniq"|"unlock")) | "msg_get_queue" | "msg_receive" | "msg_remove_queue" | "msg_send" | "msg_set_queue" | "msg_stat_queue" | "msql" | "mt_getrandmax" | "mt_rand" | "mt_srand" | "name" | "natcasesort" | "natsort" | "next" | "next_sibling" | "nextframe" | "ngettext" | "nl2br" | "nl_langinfo" | ("node_"("name"|"type"|"value")) | "normalize" | "notations" | ("notes_"("body"|"copy_db"|"create_db"|"create_note"|"drop_db"|"find_note"|"header_info"|"list_msgs"|"mark_read"|"mark_unread"|"nav_create"|"search"|"unread"|"version")) | ("nsapi_"("request_headers"|"response_headers"|"virtual")) | "number_format" | ("ob_"("clean"|"end_clean"|"end_flush"|"flush"|"get_clean"|"get_contents"|"get_flush"|"get_length"|"get_level"|"get_status"|"gzhandler"|"iconv_handler"|"implicit_flush"|"list_handlers"|"start"|"tidyhandler")) | "object" | "objectbyanchor" | ("oci"("_bind_by_name"|"_cancel"|"_close"|"_commit"|"_connect"|"_define_by_name"|"_error"|"_execute"|"_fetch"|"_fetch_all"|"_fetch_array"|"_fetch_assoc"|"_fetch_object"|"_fetch_row"|"_field_is_null"|"_field_name"|"_field_precision"|"_field_scale"|"_field_size"|"_field_type"|"_field_type_raw"|"_free_statement"|"_internal_debug"|"_lob_copy"|"_lob_is_equal"|"_new_collection"|"_new_connect"|"_new_cursor"|"_new_descriptor"|"_num_fields"|"_num_rows"|"_parse"|"_password_change"|"_pconnect"|"_result"|"_rollback"|"_server_version"|"_set_prefetch"|"_statement_type"|"bindbyname"|"cancel"|"closelob"|"collappend"|"collassign"|"collassignelem"|"collgetelem"|"collmax"|"collsize"|"colltrim"|"columnisnull"|"columnname"|"columnprecision"|"columnscale"|"columnsize"|"columntype"|"columntyperaw"|"commit"|"definebyname"|"error"|"execute"|"fetch"|"fetchinto"|"fetchstatement"|"freecollection"|"freecursor"|"freedesc"|"freestatement"|"internaldebug"|"loadlob"|"logoff"|"logon"|"newcollection"|"newcursor"|"newdescriptor"|"nlogon"|"numcols"|"parse"|"plogon"|"result"|"rollback"|"rowcount"|"savelob"|"savelobfile"|"serverversion"|"setprefetch"|"statementtype"|"writelobtofile"|"writetemporarylob")) | "octdec" | ("odbc_"("autocommit"|"binmode"|"close"|"close_all"|"columnprivileges"|"columns"|"commit"|"connect"|"cursor"|"data_source"|"do"|"error"|"errormsg"|"exec"|"execute"|"fetch_array"|"fetch_into"|"fetch_object"|"fetch_row"|"field_len"|"field_name"|"field_num"|"field_precision"|"field_scale"|"field_type"|"foreignkeys"|"free_result"|"gettypeinfo"|"longreadlen"|"next_result"|"num_fields"|"num_rows"|"pconnect"|"prepare"|"primarykeys"|"procedurecolumns"|"procedures"|"result"|"result_all"|"rollback"|"setoption"|"specialcolumns"|"statistics"|"tableprivileges"|"tables")) | "offsetexists" | "offsetget" | "offsetset" | "offsetunset" | "opendir" | "openlog" | ("openssl_"("csr_export"|"csr_export_to_file"|"csr_new"|"csr_sign"|"error_string"|"free_key"|"get_privatekey"|"get_publickey"|"open"|"pkcs7_decrypt"|"pkcs7_encrypt"|"pkcs7_sign"|"pkcs7_verify"|"pkey_export"|"pkey_export_to_file"|"pkey_get_private"|"pkey_get_public"|"pkey_new"|"private_decrypt"|"private_encrypt"|"public_decrypt"|"public_encrypt"|"seal"|"sign"|"verify"|"x509_check_private_key"|"x509_checkpurpose"|"x509_export"|"x509_export_to_file"|"x509_free"|"x509_parse"|"x509_read")) | ("ora_"("bind"|"close"|"columnname"|"columnsize"|"columntype"|"commit"|"commitoff"|"commiton"|"do"|"error"|"errorcode"|"exec"|"fetch"|"fetch_into"|"getcolumn"|"logoff"|"logon"|"numcols"|"numrows"|"open"|"parse"|"plogon"|"rollback")) | "ord" | "output" | "output_add_rewrite_var" | "output_reset_rewrite_vars" | "overload" | "override_function" | "owner_document" | "pack" | "parent_node" | "parents" | "parse_ini_file" | "parse_str" | "parse_url" | "parsekit_compile_file" | "parsekit_compile_string" | "parsekit_func_arginfo" | "passthru" | "pathinfo" | "pclose" | ("pcntl_"("alarm"|"exec"|"fork"|"getpriority"|"setpriority"|"signal"|"wait"|"waitpid"|"wexitstatus"|"wifexited"|"wifsignaled"|"wifstopped"|"wstopsig"|"wtermsig")) | "pconnect" | ("pdf_"("add_annotation"|"add_bookmark"|"add_launchlink"|"add_locallink"|"add_note"|"add_outline"|"add_pdflink"|"add_thumbnail"|"add_weblink"|"arc"|"arcn"|"attach_file"|"begin_page"|"begin_pattern"|"begin_template"|"circle"|"clip"|"close"|"close_image"|"close_pdi"|"close_pdi_page"|"closepath"|"closepath_fill_stroke"|"closepath_stroke"|"concat"|"continue_text"|"curveto"|"delete"|"end_page"|"end_pattern"|"end_template"|"endpath"|"fill"|"fill_stroke"|"findfont"|"fit_pdi_page"|"get_buffer"|"get_font"|"get_fontname"|"get_fontsize"|"get_image_height"|"get_image_width"|"get_majorversion"|"get_minorversion"|"get_parameter"|"get_pdi_parameter"|"get_pdi_value"|"get_value"|"initgraphics"|"lineto"|"load_font"|"makespotcolor"|"moveto"|"new"|"open"|"open_ccitt"|"open_file"|"open_gif"|"open_image"|"open_image_file"|"open_jpeg"|"open_memory_image"|"open_pdi"|"open_pdi_page"|"open_png"|"open_tiff"|"place_image"|"place_pdi_page"|"rect"|"restore"|"rotate"|"save"|"scale"|"set_border_color"|"set_border_dash"|"set_border_style"|"set_char_spacing"|"set_duration"|"set_font"|"set_horiz_scaling"|"set_info"|"set_info_author"|"set_info_creator"|"set_info_keywords"|"set_info_subject"|"set_info_title"|"set_leading"|"set_parameter"|"set_text_matrix"|"set_text_pos"|"set_text_rendering"|"set_text_rise"|"set_value"|"set_word_spacing"|"setcolor"|"setdash"|"setflat"|"setfont"|"setgray"|"setgray_fill"|"setgray_stroke"|"setlinecap"|"setlinejoin"|"setlinewidth"|"setmatrix"|"setmiterlimit"|"setpolydash"|"setrgbcolor"|"setrgbcolor_fill"|"setrgbcolor_stroke"|"show"|"show_boxed"|"show_xy"|"skew"|"stringwidth"|"stroke"|"translate")) | "pfpro_cleanup" | "pfpro_init" | "pfpro_process" | "pfpro_process_raw" | "pfpro_version" | "pfsockopen" | ("pg_"("affected_rows"|"cancel_query"|"client_encoding"|"close"|"connect"|"connection_busy"|"connection_reset"|"connection_status"|"convert"|"copy_from"|"copy_to"|"dbname"|"delete"|"end_copy"|"escape_bytea"|"escape_string"|"fetch_all"|"fetch_array"|"fetch_assoc"|"fetch_object"|"fetch_result"|"fetch_row"|"field_is_null"|"field_name"|"field_num"|"field_prtlen"|"field_size"|"field_type"|"free_result"|"get_notify"|"get_pid"|"get_result"|"host"|"insert"|"last_error"|"last_notice"|"last_oid"|"lo_close"|"lo_create"|"lo_export"|"lo_import"|"lo_open"|"lo_read"|"lo_read_all"|"lo_seek"|"lo_tell"|"lo_unlink"|"lo_write"|"meta_data"|"num_fields"|"num_rows"|"options"|"parameter_status"|"pconnect"|"ping"|"port"|"put_line"|"query"|"result_error"|"result_seek"|"result_status"|"select"|"send_query"|"set_client_encoding"|"trace"|"tty"|"unescape_bytea"|"untrace"|"update"|"version")) | "php_check_syntax" | "php_ini_scanned_files" | "php_logo_guid" | "php_sapi_name" | "php_strip_whitespace" | "php_uname" | "phpcredits" | "phpinfo" | "phpversion" | "pi" | "png2wbmp" | "popen" | "pos" | ("posix_"("ctermid"|"get_last_error"|"getcwd"|"getegid"|"geteuid"|"getgid"|"getgrgid"|"getgrnam"|"getgroups"|"getlogin"|"getpgid"|"getpgrp"|"getpid"|"getppid"|"getpwnam"|"getpwuid"|"getrlimit"|"getsid"|"getuid"|"isatty"|"kill"|"mkfifo"|"setegid"|"seteuid"|"setgid"|"setpgid"|"setsid"|"setuid"|"strerror"|"times"|"ttyname"|"uname")) | "pow" | "prefix" | "preg_grep" | "preg_match" | "preg_match_all" | "preg_quote" | "preg_replace" | "preg_replace_callback" | "preg_split" | "prepare" | "prev" | "previous_sibling" | "print_r" | ("printer_"("abort"|"close"|"create_brush"|"create_dc"|"create_font"|"create_pen"|"delete_brush"|"delete_dc"|"delete_font"|"delete_pen"|"draw_bmp"|"draw_chord"|"draw_elipse"|"draw_line"|"draw_pie"|"draw_rectangle"|"draw_roundrect"|"draw_text"|"end_doc"|"end_page"|"get_option"|"list"|"logical_fontheight"|"open"|"select_brush"|"select_font"|"select_pen"|"set_option"|"start_doc"|"start_page"|"write")) | "printf" | "proc_close" | "proc_get_status" | "proc_nice" | "proc_open" | "proc_terminate" | "process" | "public_id" | "putenv" | "qdom_error" | "qdom_tree" | "query" | "quoted_printable_decode" | "quotemeta" | "rad2deg" | "rand" | "range" | "rar_close" | "rar_entry_get" | "rar_list" | "rar_open" | "rawurldecode" | "rawurlencode" | "read" | "read_exif_data" | "readdir" | "readfile" | "readgzfile" | "readline" | ("readline_"("add_history"|"callback_handler_install"|"callback_handler_remove"|"callback_read_char"|"clear_history"|"completion_function"|"info"|"list_history"|"on_new_line"|"read_history"|"redisplay"|"write_history")) | "readlink" | "realpath" | "reason" | "recode" | "recode_file" | "recode_string" | "register_shutdown_function" | "register_tick_function" | "registernamespace" | "relaxngvalidate" | "relaxngvalidatesource" | "remove" | "remove_attribute" | "remove_child" | "removeattribute" | "removeattributenode" | "removeattributens" | "removechild" | "rename" | "rename_function" | "replace" | "replace_child" | "replace_node" | "replacechild" | "replacedata" | "reset" | "restore_error_handler" | "restore_exception_handler" | "restore_include_path" | "result_dump_file" | "result_dump_mem" | "rewind" | "rewinddir" | "rmdir" | "rollback" | "rotate" | "rotateto" | "round" | "rowcount" | "rsort" | "rtrim" | "save" | "savehtml" | "savehtmlfile" | "savexml" | "scale" | "scaleto" | "scandir" | "schemavalidate" | "schemavalidatesource" | "seek" | "sem_acquire" | "sem_get" | "sem_release" | "sem_remove" | "serialize" | ("sesam_"("affected_rows"|"commit"|"connect"|"diagnostic"|"disconnect"|"errormsg"|"execimm"|"fetch_array"|"fetch_result"|"fetch_row"|"field_array"|"field_name"|"free_result"|"num_fields"|"query"|"rollback"|"seek_row"|"sesam_settransaction")) | ("session_"("cache_expire"|"cache_limiter"|"commit"|"decode"|"destroy"|"encode"|"get_cookie_params"|"id"|"is_registered"|"module_name"|"name"|"regenerate_id"|"register"|"save_path"|"set_cookie_params"|"set_save_handler"|"start"|"unregister"|"unset"|"write_close")) | "set" | ("set"("_attribute"|"_content"|"_error_handler"|"_exception_handler"|"_file_buffer"|"_include_path"|"_magic_quotes_runtime"|"_name"|"_namespace"|"_time_limit"|"action"|"attribute"|"attributenode"|"attributenodens"|"attributens"|"background"|"bounds"|"buffering"|"class"|"color"|"commitedversion"|"cookie"|"depth"|"dimension"|"down"|"font"|"frames"|"height"|"hit"|"indentation"|"leftfill"|"leftmargin"|"line"|"linespacing"|"locale"|"margins"|"name"|"over"|"persistence"|"rate"|"ratio"|"rawcookie"|"rightfill"|"rightmargin"|"spacing"|"type"|"up")) | "sha1" | "sha1_file" | "shell_exec" | "shm_attach" | "shm_detach" | "shm_get_var" | "shm_put_var" | "shm_remove" | "shm_remove_var" | "shmop_close" | "shmop_delete" | "shmop_open" | "shmop_read" | "shmop_size" | "shmop_write" | "show_source" | "shuffle" | "similar_text" | "simplexml_import_dom" | "simplexml_load_file" | "simplexml_load_string" | "sin" | "sinh" | "size" | "sizeof" | "skewx" | "skewxto" | "skewy" | "skewyto" | "sleep" | ("socket_"("accept"|"bind"|"clear_error"|"close"|"connect"|"create"|"create_listen"|"create_pair"|"get_option"|"get_status"|"getpeername"|"getsockname"|"last_error"|"listen"|"read"|"recv"|"recvfrom"|"select"|"send"|"sendto"|"set_block"|"set_blocking"|"set_nonblock"|"set_option"|"set_timeout"|"shutdown"|"strerror"|"write")) | "sort" | "soundex" | "specified" | "spl_classes" | "split" | "spliti" | "splittext" | "sprintf" | "sql_regcase" | "sqrt" | "srand" | "srcanchors" | "srcsofdst" | "sscanf" | "stat" | ("str_"("ireplace"|"pad"|"repeat"|"replace"|"rot13"|"shuffle"|"split"|"word_count")) | "strcasecmp" | "strchr" | "strcmp" | "strcoll" | "strcspn" | ("stream_"("context_create"|"context_get_default"|"context_get_options"|"context_set_option"|"context_set_params"|"copy_to_stream"|"filter_append"|"filter_prepend"|"filter_register"|"filter_remove"|"get_contents"|"get_filters"|"get_line"|"get_meta_data"|"get_transports"|"get_wrappers"|"register_wrapper"|"select"|"set_blocking"|"set_timeout"|"set_write_buffer"|"socket_accept"|"socket_client"|"socket_enable_crypto"|"socket_get_name"|"socket_recvfrom"|"socket_sendto"|"socket_server"|"wrapper_register"|"wrapper_restore"|"wrapper_unregister")) | ("str"("eammp3"|"ftime"|"ip_tags"|"ipcslashes"|"ipos"|"ipslashes"|"istr"|"len"|"natcasecmp"|"natcmp"|"ncasecmp"|"ncmp"|"pbrk"|"pos"|"ptime"|"rchr"|"rev"|"ripos"|"rpos"|"spn"|"str"|"tok"|"tolower"|"totime"|"toupper"|"tr"|"val")) | "substr" | "substr_compare" | "substr_count" | "substr_replace" | "substringdata" | ("swf_"("actiongeturl"|"actiongotoframe"|"actiongotolabel"|"actionnextframe"|"actionplay"|"actionprevframe"|"actionsettarget"|"actionstop"|"actiontogglequality"|"actionwaitforframe"|"addbuttonrecord"|"addcolor"|"closefile"|"definebitmap"|"definefont"|"defineline"|"definepoly"|"definerect"|"definetext"|"endbutton"|"enddoaction"|"endshape"|"endsymbol"|"fontsize"|"fontslant"|"fonttracking"|"getbitmapinfo"|"getfontinfo"|"getframe"|"labelframe"|"lookat"|"modifyobject"|"mulcolor"|"nextid"|"oncondition"|"openfile"|"ortho"|"ortho2"|"perspective"|"placeobject"|"polarview"|"popmatrix"|"posround"|"pushmatrix"|"removeobject"|"rotate"|"scale"|"setfont"|"setframe"|"shapearc"|"shapecurveto"|"shapecurveto3"|"shapefillbitmapclip"|"shapefillbitmaptile"|"shapefilloff"|"shapefillsolid"|"shapelinesolid"|"shapelineto"|"shapemoveto"|"showframe"|"startbutton"|"startdoaction"|"startshape"|"startsymbol"|"textwidth"|"translate"|"viewport")) | "swfbutton_keypress" | "symlink" | "syslog" | "system" | "system_id" | "tagname" | "tan" | "tanh" | "target" | "tcpwrap_check" | "tell" | "tempnam" | "textdomain" | ("tidy_"("access_count"|"clean_repair"|"config_count"|"diagnose"|"error_count"|"get_body"|"get_config"|"get_error_buffer"|"get_head"|"get_html"|"get_html_ver"|"get_output"|"get_release"|"get_root"|"get_status"|"getopt"|"is_xhtml"|"is_xml"|"load_config"|"parse_file"|"parse_string"|"repair_file"|"repair_string"|"reset_config"|"save_config"|"set_encoding"|"setopt"|"warning_count")) | "time" | "time_nanosleep" | "title" | "tmpfile" | "token_get_all" | "token_name" | "touch" | "trigger_error" | "trim" | "truncate" | "type" | "uasort" | "ucfirst" | "ucwords" | "uksort" | "umask" | "uniqid" | "unixtojd" | "unlink" | "unlink_node" | "unlock" | "unpack" | "unregister_tick_function" | "unserialize" | "urldecode" | "urlencode" | "user" | "user_error" | "userlist" | "usleep" | "usort" | "utf8_"("decode"|"encode") | "valid" | "validate" | "value" | "values" | "var_"("dump"|"export") | ("variant_"("abs"|"add"|"and"|"cast"|"cat"|"cmp"|"date_from_timestamp"|"date_to_timestamp"|"div"|"eqv"|"fix"|"get_type"|"idiv"|"imp"|"int"|"mod"|"mul"|"neg"|"not"|"or"|"pow"|"round"|"set"|"set_type"|"sub"|"xor")) | "version_compare" | "vfprintf" | "virtual" | ("vpopmail_"("add_alias_domain"|"add_alias_domain_ex"|"add_domain"|"add_domain_ex"|"add_user"|"alias_add"|"alias_del"|"alias_del_domain"|"alias_get"|"alias_get_all"|"auth_user"|"del_domain"|"del_domain_ex"|"del_user"|"error"|"passwd"|"set_user_quota")) | "vprintf" | "vsprintf" | ("w32api_"("deftype"|"init_dtype"|"invoke_function"|"register_function"|"set_call_method")) | "wddx_add_vars" | "wddx_deserialize" | "wddx_packet_end" | "wddx_packet_start" | "wddx_serialize_value" | "wddx_serialize_vars" | "wordwrap" | "write" | "writetemporary" | "xattr_get" | "xattr_list" | "xattr_remove" | "xattr_set" | "xattr_supported" | "xinclude" | ("xml"("_error_string"|"_get_current_byte_index"|"_get_current_column_number"|"_get_current_line_number"|"_get_error_code"|"_parse"|"_parse_into_struct"|"_parser_create"|"_parser_create_ns"|"_parser_free"|"_parser_get_option"|"_parser_set_option"|"_set_character_data_handler"|"_set_default_handler"|"_set_element_handler"|"_set_end_namespace_decl_handler"|"_set_external_entity_ref_handler"|"_set_notation_decl_handler"|"_set_object"|"_set_processing_instruction_handler"|"_set_start_namespace_decl_handler"|"_set_unparsed_entity_decl_handler"|"rpc_decode"|"rpc_decode_request"|"rpc_encode"|"rpc_encode_request"|"rpc_get_type"|"rpc_is_fault"|"rpc_parse_method_descriptions"|"rpc_server_add_introspection_data"|"rpc_server_call_method"|"rpc_server_create"|"rpc_server_destroy"|"rpc_server_register_introspection_callback"|"rpc_server_register_method"|"rpc_set_type")) | "xpath" | "xpath_eval" | "xpath_eval_expression" | "xpath_new_context" | "xptr_eval" | "xptr_new_context" | ("xsl_xsltprocessor_"("get_parameter"|"has_exslt_support"|"import_stylesheet"|"register_php_functions"|"remove_parameter"|"set_parameter"|"transform_to_doc"|"transform_to_uri"|"transform_to_xml"|"xslt_backend_info")) | ("xslt_"("backend_name"|"backend_version"|"create"|"errno"|"error"|"free"|"getopt"|"process"|"set_base"|"set_encoding"|"set_error_handler"|"set_log"|"set_object"|"set_sax_handler"|"set_sax_handlers"|"set_scheme_handler"|"set_scheme_handlers"|"setopt")) | ("yp_"("all"|"cat"|"err_string"|"errno"|"first"|"get_default_domain"|"master"|"match"|"next"|"yp_order")) | "zend_logo_guid" | "zend_version" | ("zip_"("close"|"entry_close"|"entry_compressedsize"|"entry_compressionmethod"|"entry_filesize"|"entry_name"|"entry_open"|"entry_read"|"open"|"read")) | "zlib_get_coding_type" | /* mysql functions */ ("mysql_"("affected_rows"|"client_encoding"|"close"|"connect"|"create_db"|"data_seek"|"db_"("name"|"query")|"drop_db"|"errno"|"error"|"escape_string"|"fetch_"("array"|"assoc"|"field"|"lengths"|"object"|"row")|"field_"("flags"|"len"|"name"|"seek"|"table"|"type")|"free_result"|"get_"("client_info"|"host_info"|"proto_info"|"server_info")|"info"|"insert_id"|"list_"("dbs"|"fields"|"processes"|"tables")|"num_"("fields"|"rows")|"pconnect"|"ping"|"query"|"real_escape_string"|"result"|"select_db"|"set_charset"|"stat"|"tablename"|"thread_id"|"unbuffered_query")) | /* Function aliases */ "apache_request_headers" | "apache_response_headers" | "attr_get" | "attr_set" | "autocommit" | "bind_param" | "bind_result" | "bzclose" | "bzflush" | "bzwrite" | "change_user" | "character_set_name" | "checkdnsrr" | "chop" | "client_encoding" | "close" | "commit" | "connect" | "data_seek" | "debug" | "disable_reads_from_master" | "disable_rpl_parse" | "diskfreespace" | "doubleval" | "dump_debug_info" | "enable_reads_from_master" | "enable_rpl_parse" | "escape_string" | "execute" | "fbsql" | "fbsql_tablename" | "fetch" | "fetch_array" | "fetch_assoc" | "fetch_field" | "fetch_field_direct" | "fetch_fields" | "fetch_object" | "fetch_row" | "field_count" | "field_seek" | "fputs" | "free" | "free_result" | "ftp_quit" | "get_client_info" | "get_required_files" | "get_server_info" | "getallheaders" | "getmxrr" | "gmp_div" | ("gz"("close"|"eof"|"getc"|"gets"|"getss"|"passthru"|"puts"|"read"|"rewind"|"seek"|"tell"|"gzwrite")) | "imap_create" | "imap_fetchtext" | "imap_header" | "imap_listmailbox" | "imap_listsubscribed" | "imap_rename" | "ini_alter" | "init" | "is_double" | "is_int" | "is_integer" | "is_real" | "is_writeable" | "join" | "key_exists" | "kill" | "ldap_close" | "ldap_modify" | "magic_quotes_runtime" | "master_query" | "ming_keypress" | "ming_setcubicthreshold" | "ming_setscale" | "ming_useconstants" | "ming_useswfversion" | "more_results" | "next_result" | "num_rows" | ("oci"("_free_cursor"|"bindbyname"|"cancel"|"collappend"|"collassignelem"|"collgetelem"|"collmax"|"collsize"|"colltrim"|"columnisnull"|"columnname"|"columnprecision"|"columnscale"|"columnsize"|"columntype"|"columntyperaw"|"commit"|"definebyname"|"error"|"execute"|"fetch"|"fetchstatement"|"freecollection"|"freecursor"|"freedesc"|"freestatement"|"internaldebug"|"loadlob"|"logoff"|"logon"|"newcollection"|"newcursor"|"newdescriptor"|"nlogon"|"numcols"|"parse"|"passwordchange"|"plogon"|"result"|"rollback"|"rowcount"|"savelob"|"savelobfile"|"serverversion"|"setprefetch"|"statementtype"|"writelobtofile")) | "odbc_do" | "odbc_field_precision" | "openssl_free_key" | "openssl_get_privatekey" | "openssl_get_publickey" | "options" | ("pg_"("clientencoding"|"cmdtuples"|"errormessage"|"exec"|"fieldisnull"|"fieldname"|"fieldnum"|"fieldprtlen"|"fieldsize"|"fieldtype"|"freeresult"|"getlastoid"|"loclose"|"locreate"|"loexport"|"loimport"|"loopen"|"loread"|"loreadall"|"lounlink"|"lowrite"|"numfields"|"numrows"|"result"|"setclientencoding")) | "ping" | "pos" | "posix_errno" | "prepare" | "query" | "read_exif_data" | "real_connect" | "real_escape_string" | "real_query" | "recode" | "reset" | "result_metadata" | "rollback" | "rpl_parse_enabled" | "rpl_probe" | "rpl_query_type" | "select_db" | "send_long_data" | "session_commit" | "set_file_buffer" | "set_local_infile_default" | "set_local_infile_handler" | "set_opt" | "show_source" | "sizeof" | "slave_query" | "snmpwalkoid" | "socket_get_status" | "socket_getopt" | "socket_set_blocking" | "socket_set_timeout" | "socket_setopt" | "sqlite_fetch_string" | "sqlite_has_more" | "ssl_set" | "stat" | "stmt" | "stmt_init" | "store_result" | "strchr" | "stream_register_wrapper" | "thread_safe" | "use_result" | "user_error" | ("velocis_"("autocommit"|"close"|"commit"|"connect"|"exec"|"fetch"|"fieldname"|"fieldnum"|"freeresult"|"off_autocommit"|"result"|"rollback")) | "virtual" { addToken(Token.FUNCTION); } {BooleanLiteral} { addToken(Token.LITERAL_BOOLEAN); } {PHP_Variable} { addToken(Token.VARIABLE); } {LineTerminator} { addEndToken(INTERNAL_IN_PHP - phpInState); return firstToken; } {JS_Identifier} { addToken(Token.IDENTIFIER); } {Whitespace} { addToken(Token.WHITESPACE); } /* String/Character literals. */ [\"] { start = zzMarkedPos-1; yybegin(PHP_STRING); } [\'] { start = zzMarkedPos-1; yybegin(PHP_CHAR); } /* Comment literals. */ "/**/" { addToken(Token.COMMENT_MULTILINE); } {JS_MLCBegin} { start = zzMarkedPos-2; yybegin(PHP_MLC); } {PHP_LineCommentBegin}.* { addToken(Token.COMMENT_EOL); addEndToken(INTERNAL_IN_PHP - phpInState); return firstToken; } /* Separators. */ {JS_Separator} { addToken(Token.SEPARATOR); } {JS_Separator2} { addToken(Token.IDENTIFIER); } /* Operators. */ {JS_Operator} { addToken(Token.OPERATOR); } /* Numbers */ {JS_IntegerLiteral} { addToken(Token.LITERAL_NUMBER_DECIMAL_INT); } {JS_HexLiteral} { addToken(Token.LITERAL_NUMBER_HEXADECIMAL); } {JS_FloatLiteral} { addToken(Token.LITERAL_NUMBER_FLOAT); } {JS_ErrorNumberFormat} { addToken(Token.ERROR_NUMBER_FORMAT); } {JS_ErrorIdentifier} { addToken(Token.ERROR_IDENTIFIER); } /* Ended with a line not in a string or comment. */ <> { addEndToken(INTERNAL_IN_PHP - phpInState); return firstToken; } /* Catch any other (unhandled) characters and assume they are okay. */ . { addToken(Token.IDENTIFIER); } } { // PHP MLC's. This state is essentially Java's MLC state. [^hwf\n\*]+ {} {URL} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_MULTILINE); start = zzMarkedPos; } [hwf] {} \n { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addEndToken(INTERNAL_IN_PHP_MLC - phpInState); return firstToken; } {JS_MLCEnd} { yybegin(PHP); addToken(start,zzStartRead+1, Token.COMMENT_MULTILINE); } \* {} <> { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addEndToken(INTERNAL_IN_PHP_MLC - phpInState); return firstToken; } } { [^\n\\\$\"]+ {} \n { addToken(start,zzStartRead-1, Token.LITERAL_STRING_DOUBLE_QUOTE); addEndToken(INTERNAL_IN_PHP_STRING - phpInState); return firstToken; } \\.? { /* Skip escaped chars. */ } {PHP_Variable} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.LITERAL_STRING_DOUBLE_QUOTE); addToken(temp,zzMarkedPos-1, Token.VARIABLE); start = zzMarkedPos; } "$" {} \" { yybegin(PHP); addToken(start,zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); } <> { addToken(start,zzStartRead-1, Token.LITERAL_STRING_DOUBLE_QUOTE); addEndToken(INTERNAL_IN_PHP_STRING - phpInState); return firstToken; } } { [^\n\\\']+ {} \\.? { /* Skip escaped single quotes only, but this should still work. */ } \n { addToken(start,zzStartRead-1, Token.LITERAL_CHAR); addEndToken(INTERNAL_IN_PHP_CHAR - phpInState); return firstToken; } \' { yybegin(PHP); addToken(start,zzStartRead, Token.LITERAL_CHAR); } <> { addToken(start,zzStartRead-1, Token.LITERAL_CHAR); addEndToken(INTERNAL_IN_PHP_CHAR - phpInState); return firstToken; } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/PHPTokenMaker.java0000644000175000001440000516761012202002502027143 0ustar benusers/* The following code was generated by JFlex 1.4.1 on 3/23/13 9:46 AM */ /* * 01/28/2009 * * PHPTokenMaker.java - Generates tokens for PHP syntax highlighting. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.*; /** * Scanner for PHP files. * * 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * 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.
  • *
  • You should NOT call yylex() on the generated scanner * 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 */ public static final int PHP = 18; public static final int INATTR_SINGLE_SCRIPT = 9; public static final int JS_CHAR = 14; public static final int CSS_STRING = 25; public static final int JS_MLC = 16; public static final int CSS_CHAR_LITERAL = 26; public static final int INTAG_SCRIPT = 7; public static final int CSS_PROPERTY = 23; public static final int CSS_C_STYLE_COMMENT = 27; public static final int PHP_MLC = 19; public static final int CSS = 22; public static final int CSS_VALUE = 24; public static final int COMMENT = 1; public static final int INATTR_DOUBLE_SCRIPT = 8; public static final int PHP_STRING = 20; public static final int JAVASCRIPT = 13; public static final int INTAG = 3; public static final int INTAG_CHECK_TAG_NAME = 4; public static final int INATTR_SINGLE_STYLE = 12; public static final int DTD = 2; public static final int PHP_CHAR = 21; public static final int JS_EOL_COMMENT = 17; public static final int INATTR_DOUBLE_STYLE = 11; public static final int INATTR_SINGLE = 6; public static final int YYINITIAL = 0; public static final int INATTR_DOUBLE = 5; public static final int JS_STRING = 15; public static final int INTAG_STYLE = 10; /** * 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\106\1\103\1\102\1\37\1\42\1\45"+ "\1\31\1\43\1\10\1\25\1\135\1\130\1\134\1\132\1\123\1\131"+ "\1\27\1\136\1\24\1\53\1\6\1\3\1\46\1\17\1\52\1\101"+ "\1\110\1\26\1\12\1\114\1\22\1\41\1\116\1\122\1\14\1\124"+ "\1\117\1\21\1\113\1\112\1\111\1\15\1\120\1\13\1\11\1\16"+ "\1\115\1\121\1\23\1\40\1\20\1\23\1\105\1\35\1\105\1\47"+ "\1\30\1\0\1\63\1\100\1\72\1\73\1\61\1\62\1\56\1\67"+ "\1\55\1\133\1\76\1\64\1\75\1\71\1\70\1\66\1\127\1\60"+ "\1\65\1\57\1\32\1\77\1\107\1\104\1\74\1\125\1\126\1\47"+ "\1\44\1\54\uff81\0"; /** * Translates characters to character classes */ private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED); /** * Translates DFA states to action switch labels. */ private static final int [] ZZ_ACTION = zzUnpackAction(); private static final String ZZ_ACTION_PACKED_0 = "\5\0\2\1\1\0\2\1\1\0\2\1\13\0\1\2"+ "\3\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"+ "\1\20\1\22\7\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\1\1\34\1\1\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\17\2\1\42\2\2\1\1\1\43\1\44"+ "\1\45\1\1\1\46\1\47\1\50\1\1\1\51\6\1"+ "\1\52\4\1\1\53\1\16\1\54\1\16\2\2\1\55"+ "\1\2\1\16\24\2\1\35\1\2\1\56\4\2\1\1"+ "\1\57\2\1\1\60\1\61\1\62\1\1\1\63\1\64"+ "\1\65\1\66\1\67\1\66\1\70\1\66\1\71\1\66"+ "\1\72\1\66\1\73\1\74\1\75\1\76\2\75\1\77"+ "\1\75\1\100\1\101\1\102\1\103\1\102\1\104\2\2"+ "\1\40\1\2\2\102\1\105\1\106\1\107\1\110\1\111"+ "\1\112\1\113\1\1\1\4\2\114\1\115\1\116\1\6"+ "\5\0\1\117\32\20\2\22\2\20\1\22\44\20\1\120"+ "\1\121\2\0\1\117\1\0\1\122\1\0\1\123\1\16"+ "\1\35\1\2\1\16\1\124\1\40\1\124\2\125\1\124"+ "\1\126\1\124\1\2\1\77\1\2\1\77\44\2\1\77"+ "\7\2\1\127\1\130\1\131\1\0\1\132\11\0\1\133"+ "\10\2\1\134\1\135\100\2\1\77\37\2\1\136\20\2"+ "\1\77\36\2\1\136\1\2\1\77\34\2\1\137\24\2"+ "\1\140\1\62\1\141\1\64\1\0\1\142\1\134\15\0"+ "\1\143\1\40\5\0\1\40\1\0\1\144\1\145\2\114"+ "\2\0\1\146\4\0\1\12\14\20\1\22\63\20\3\0"+ "\1\147\1\0\1\35\1\2\1\125\1\0\2\126\3\2"+ "\1\71\25\2\1\150\33\2\14\0\12\2\1\77\53\2"+ "\1\136\32\2\1\136\44\2\1\136\5\2\1\136\27\2"+ "\1\77\23\2\2\136\5\2\1\136\20\2\1\136\50\2"+ "\1\136\63\2\1\136\6\2\1\136\4\2\1\136\25\2"+ "\1\136\21\2\1\136\3\2\1\136\4\2\1\77\16\2"+ "\1\35\27\2\25\0\2\114\1\151\3\0\1\152\1\12"+ "\22\20\1\22\7\20\1\22\10\20\3\0\1\153\1\35"+ "\7\2\1\154\4\2\1\155\5\2\1\71\17\2\1\0"+ "\1\1\3\0\1\156\3\0\1\157\15\2\1\136\16\2"+ "\1\136\72\2\1\136\15\2\1\136\15\2\1\136\21\2"+ "\1\136\1\2\1\77\12\2\1\160\3\2\1\136\6\2"+ "\1\136\4\2\1\136\15\2\1\136\15\2\1\136\4\2"+ "\1\136\11\2\1\136\11\2\1\136\2\2\1\136\105\2"+ "\1\136\110\2\1\136\1\2\1\136\54\2\2\136\42\2"+ "\1\136\44\2\1\35\27\2\20\0\1\77\3\0\2\114"+ "\1\116\2\0\1\117\11\20\1\22\12\20\1\120\1\0"+ "\1\117\1\35\5\2\1\77\3\2\1\77\12\2\6\0"+ "\63\2\1\136\153\2\1\136\23\2\2\136\16\2\1\136"+ "\4\2\1\136\5\2\1\77\131\2\1\136\12\2\1\136"+ "\60\2\1\77\217\2\1\77\1\136\1\77\5\2\1\136"+ "\1\77\22\2\1\136\37\2\1\136\36\2\1\136\10\2"+ "\1\136\1\2\1\35\5\2\1\136\5\2\1\136\20\2"+ "\16\0\1\114\1\161\12\20\1\0\1\35\13\2\2\0"+ "\14\2\1\136\3\2\1\136\31\2\1\136\43\2\1\136"+ "\134\2\4\136\53\2\2\136\2\2\1\136\41\2\1\136"+ "\72\2\1\136\35\2\1\77\52\2\1\77\51\2\2\136"+ "\31\2\1\136\102\2\1\136\61\2\1\136\1\2\1\136"+ "\5\2\1\136\110\2\1\35\41\2\12\0\1\162\3\20"+ "\1\0\6\2\2\0\25\2\1\136\11\2\1\77\7\2"+ "\1\136\143\2\1\136\1\2\1\136\11\2\1\136\2\2"+ "\1\136\6\2\1\136\1\2\1\136\33\2\1\136\27\2"+ "\3\136\133\2\1\136\172\2\1\136\237\2\1\136\116\2"+ "\1\136\25\2\1\35\36\2\6\0\1\20\1\0\2\2"+ "\2\0\161\2\1\136\37\2\1\136\32\2\1\136\24\2"+ "\1\77\47\2\1\136\46\2\1\136\161\2\1\136\16\2"+ "\1\136\1\2\1\136\30\2\1\136\37\2\1\136\322\2"+ "\1\163\4\0\1\20\1\164\1\2\1\165\1\166\31\2"+ "\1\136\22\2\1\136\1\2\1\136\13\2\1\136\12\2"+ "\1\136\1\2\1\136\37\2\1\136\15\2\1\136\53\2"+ "\1\136\155\2\1\136\13\2\1\136\116\2\1\136\35\2"+ "\2\136\14\2\1\136\230\2\1\136\42\2\1\136\22\2"+ "\3\0\214\2\1\136\2\2\1\136\66\2\1\136\51\2"+ "\1\136\36\2\1\136\73\2\1\136\6\2\1\136\253\2"+ "\1\136\33\2\3\0\1\167\26\2\1\136\14\2\1\136"+ "\10\2\1\136\101\2\1\136\3\2\1\136\71\2\1\136"+ "\114\2\1\136\31\2\1\136\204\2\1\136\126\2\1\136"+ "\22\2\1\136\2\2\1\136\160\2\1\136\15\2\1\136"+ "\10\2\1\136\10\2\1\136\4\2\2\136\2\2\1\136"+ "\112\2\1\136\207\2\1\136\2\2\1\136\104\2\1\136"+ "\23\2\1\136\24\2\1\136\24\2\1\136\43\2\1\136"+ "\73\2\1\136\27\2\2\136\105\2\1\136\65\2\1\136"+ "\3\2\1\136\1\2\1\136\14\2\1\136\17\2\1\136"+ "\53\2\1\136\22\2\1\136\7\2\1\136\5\2\1\136"+ "\257\2\1\136\4\2\1\136\113\2\1\136\1\2\1\136"+ "\1\2\1\136\13\2\1\136\125\2\1\136\37\2\1\136"+ "\22\2\1\136\45\2\1\136\27\2\1\136\154\2\1\136"+ "\171\2\1\136\32\2"; private static int [] zzUnpackAction() { int [] result = new int[7921]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } private static int zzUnpackAction(String packed, int offset, int [] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } 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\137\0\276\0\u011d\0\u017c\0\u01db\0\u023a\0\u0299"+ "\0\u02f8\0\u0357\0\u03b6\0\u0415\0\u0474\0\u04d3\0\u0532\0\u0591"+ "\0\u05f0\0\u064f\0\u06ae\0\u070d\0\u076c\0\u07cb\0\u082a\0\u0889"+ "\0\u08e8\0\u0947\0\u09a6\0\u0a05\0\u0a64\0\u0ac3\0\u0b22\0\u0b81"+ "\0\u0be0\0\u0c3f\0\u0c9e\0\u0b22\0\u0cfd\0\u0d5c\0\u0dbb\0\u0e1a"+ "\0\u0e79\0\u0b22\0\u0b22\0\u0ed8\0\u0f37\0\u0f96\0\u0b22\0\u0ff5"+ "\0\u0b22\0\u0b22\0\u0b22\0\u1054\0\u0b22\0\u10b3\0\u1112\0\u1171"+ "\0\u11d0\0\u122f\0\u128e\0\u12ed\0\u134c\0\u13ab\0\u140a\0\u1469"+ "\0\u14c8\0\u1527\0\u1586\0\u15e5\0\u1644\0\u16a3\0\u1702\0\u1761"+ "\0\u1054\0\u17c0\0\u181f\0\u0b22\0\u187e\0\u0b22\0\u18dd\0\u0b22"+ "\0\u0b22\0\u0b22\0\u0b22\0\u0b22\0\u0b22\0\u193c\0\u0b22\0\u199b"+ "\0\u19fa\0\u0b22\0\u1a59\0\u1ab8\0\u0b22\0\u0b22\0\u1b17\0\u1b76"+ "\0\u1bd5\0\u1c34\0\u1c93\0\u1cf2\0\u1d51\0\u1db0\0\u0b22\0\u1e0f"+ "\0\u1e6e\0\u1ecd\0\u0b22\0\u1f2c\0\u1f8b\0\u1fea\0\u2049\0\u20a8"+ "\0\u2107\0\u2166\0\u21c5\0\u2224\0\u2283\0\u22e2\0\u2341\0\u23a0"+ "\0\u23ff\0\u245e\0\u0b22\0\u24bd\0\u251c\0\u257b\0\u0b22\0\u25da"+ "\0\u0b22\0\u2639\0\u0b22\0\u0b22\0\u25da\0\u2698\0\u0b22\0\u26f7"+ "\0\u2756\0\u27b5\0\u2814\0\u2873\0\u28d2\0\u0b22\0\u2931\0\u2990"+ "\0\u29ef\0\u2a4e\0\u0b22\0\u2aad\0\u0b22\0\u2b0c\0\u2b6b\0\u2bca"+ "\0\u2c29\0\u2c88\0\u2ce7\0\u2d46\0\u2da5\0\u2e04\0\u2e63\0\u2ec2"+ "\0\u2f21\0\u2f80\0\u2fdf\0\u303e\0\u309d\0\u30fc\0\u315b\0\u31ba"+ "\0\u3219\0\u3278\0\u32d7\0\u3336\0\u3395\0\u33f4\0\u3453\0\u34b2"+ "\0\u3511\0\u0b22\0\u3570\0\u35cf\0\u362e\0\u368d\0\u36ec\0\u0b22"+ "\0\u374b\0\u37aa\0\u0b22\0\u0b22\0\u3809\0\u3868\0\u0b22\0\u38c7"+ "\0\u0b22\0\u0b22\0\u0b22\0\u3926\0\u0b22\0\u3985\0\u39e4\0\u3a43"+ "\0\u3aa2\0\u3b01\0\u0b22\0\u0b22\0\u0b22\0\u0b22\0\u3926\0\u3985"+ "\0\u3b60\0\u3bbf\0\u0b22\0\u0b22\0\u0b22\0\u0b22\0\u3926\0\u0b22"+ "\0\u3c1e\0\u3c7d\0\u3cdc\0\u3d3b\0\u3d9a\0\u3df9\0\u0b22\0\u0b22"+ "\0\u0b22\0\u0b22\0\u0b22\0\u0b22\0\u0b22\0\u3e58\0\u3eb7\0\u3f16"+ "\0\u3f75\0\u3fd4\0\u4033\0\u0b22\0\u4092\0\u40f1\0\u4150\0\u41af"+ "\0\u420e\0\u426d\0\u42cc\0\u432b\0\u438a\0\u43e9\0\u4448\0\u44a7"+ "\0\u4506\0\u4565\0\u45c4\0\u4623\0\u4682\0\u46e1\0\u4740\0\u479f"+ "\0\u47fe\0\u485d\0\u48bc\0\u491b\0\u497a\0\u49d9\0\u4a38\0\u4a97"+ "\0\u4af6\0\u4b55\0\u4bb4\0\u4c13\0\u4c72\0\u4cd1\0\u4d30\0\u4d8f"+ "\0\u4dee\0\u4e4d\0\u4eac\0\u4f0b\0\u4f6a\0\u4fc9\0\u5028\0\u5087"+ "\0\u50e6\0\u5145\0\u51a4\0\u5203\0\u5262\0\u52c1\0\u5320\0\u537f"+ "\0\u53de\0\u543d\0\u549c\0\u54fb\0\u555a\0\u55b9\0\u5618\0\u5677"+ "\0\u56d6\0\u5735\0\u5794\0\u57f3\0\u5852\0\u58b1\0\u5910\0\u596f"+ "\0\u59ce\0\u5a2d\0\u5a8c\0\u5aeb\0\u5b4a\0\u5ba9\0\u0b22\0\u1e0f"+ "\0\u5c08\0\u5c67\0\u5cc6\0\u0b22\0\u5d25\0\u5d84\0\u5cc6\0\u5de3"+ "\0\u5e42\0\u5ea1\0\u5f00\0\u5f00\0\u5f5f\0\u5f00\0\u5fbe\0\u601d"+ "\0\u607c\0\u60db\0\u613a\0\u1b76\0\u6199\0\u61f8\0\u6257\0\u62b6"+ "\0\u6315\0\u6374\0\u63d3\0\u6432\0\u6491\0\u64f0\0\u654f\0\u65ae"+ "\0\u660d\0\u666c\0\u66cb\0\u672a\0\u6789\0\u67e8\0\u6847\0\u68a6"+ "\0\u6905\0\u6964\0\u69c3\0\u6a22\0\u6a81\0\u6ae0\0\u6b3f\0\u6b9e"+ "\0\u6bfd\0\u6c5c\0\u6cbb\0\u6d1a\0\u6d79\0\u6dd8\0\u6e37\0\u6e96"+ "\0\u6ef5\0\u6f54\0\u6fb3\0\u7012\0\u7071\0\u70d0\0\u712f\0\u718e"+ "\0\u71ed\0\u724c\0\u0b22\0\u72ab\0\u730a\0\u7369\0\u0b22\0\u73c8"+ "\0\u7427\0\u7486\0\u74e5\0\u7544\0\u75a3\0\u7602\0\u7661\0\u76c0"+ "\0\u5d84\0\u771f\0\u777e\0\u77dd\0\u783c\0\u789b\0\u78fa\0\u7959"+ "\0\u79b8\0\u7a17\0\u0b22\0\u7a76\0\u7ad5\0\u7b34\0\u7b93\0\u7bf2"+ "\0\u7c51\0\u7cb0\0\u7d0f\0\u7d6e\0\u7dcd\0\u7e2c\0\u7e8b\0\u7eea"+ "\0\u7f49\0\u7fa8\0\u8007\0\u8066\0\u80c5\0\u8124\0\u8183\0\u81e2"+ "\0\u8241\0\u82a0\0\u82ff\0\u835e\0\u83bd\0\u841c\0\u847b\0\u84da"+ "\0\u8539\0\u8598\0\u85f7\0\u8656\0\u86b5\0\u8714\0\u8773\0\u87d2"+ "\0\u8831\0\u8890\0\u88ef\0\u894e\0\u89ad\0\u8a0c\0\u8a6b\0\u8aca"+ "\0\u8b29\0\u8b88\0\u8be7\0\u8c46\0\u8ca5\0\u8d04\0\u8d63\0\u8dc2"+ "\0\u8e21\0\u8e80\0\u8edf\0\u8f3e\0\u8f9d\0\u8ffc\0\u905b\0\u90ba"+ "\0\u9119\0\u9178\0\u91d7\0\u9236\0\u9295\0\u92f4\0\u9353\0\u93b2"+ "\0\u9411\0\u9470\0\u94cf\0\u952e\0\u958d\0\u95ec\0\u964b\0\u96aa"+ "\0\u9709\0\u9768\0\u97c7\0\u9826\0\u9885\0\u98e4\0\u9943\0\u99a2"+ "\0\u9a01\0\u9a60\0\u9abf\0\u9b1e\0\u9b7d\0\u9bdc\0\u9c3b\0\u9c9a"+ "\0\u9cf9\0\u9d58\0\u9db7\0\u9e16\0\u9e75\0\u9ed4\0\u9f33\0\u9f92"+ "\0\u9ff1\0\ua050\0\ua0af\0\ua10e\0\ua16d\0\ua1cc\0\ua22b\0\ua28a"+ "\0\ua2e9\0\ua348\0\ua3a7\0\ua406\0\ua465\0\ua4c4\0\ua523\0\ua582"+ "\0\ua5e1\0\ua640\0\ua69f\0\ua6fe\0\ua75d\0\ua7bc\0\ua81b\0\ua87a"+ "\0\ua8d9\0\ua938\0\ua997\0\ua9f6\0\uaa55\0\uaab4\0\uab13\0\uab72"+ "\0\uabd1\0\uac30\0\uac8f\0\uacee\0\uad4d\0\uadac\0\uae0b\0\uae6a"+ "\0\uaec9\0\uaf28\0\uaf87\0\u1b76\0\uafe6\0\ub045\0\ub0a4\0\ub103"+ "\0\ub162\0\ub1c1\0\ub220\0\ub27f\0\ub2de\0\ub33d\0\ub39c\0\ub3fb"+ "\0\ub45a\0\ub4b9\0\ub518\0\ub577\0\ub5d6\0\ub635\0\ub694\0\ub6f3"+ "\0\ub752\0\ub7b1\0\ub810\0\ub86f\0\ub8ce\0\ub92d\0\ub98c\0\ub9eb"+ "\0\uba4a\0\ubaa9\0\ubb08\0\ubb67\0\ubbc6\0\ubc25\0\ubc84\0\ubce3"+ "\0\ubd42\0\ubda1\0\ube00\0\ube5f\0\ubebe\0\ubf1d\0\ubf7c\0\ubfdb"+ "\0\uc03a\0\uc099\0\uc0f8\0\uc157\0\uc1b6\0\uc215\0\uc274\0\u0b22"+ "\0\u0b22\0\uc2d3\0\u0b22\0\uc332\0\u0b22\0\uc391\0\uc3f0\0\uc44f"+ "\0\uc4ae\0\uc50d\0\uc56c\0\uc5cb\0\uc62a\0\uc689\0\uc6e8\0\uc747"+ "\0\uc7a6\0\uc805\0\uc864\0\uc8c3\0\u0b22\0\uc922\0\uc981\0\uc9e0"+ "\0\uca3f\0\uca9e\0\u3d9a\0\ucafd\0\u0b22\0\u3eb7\0\ucb5c\0\ucbbb"+ "\0\ucc1a\0\ucc79\0\u0b22\0\uccd8\0\ucd37\0\ucd96\0\ucdf5\0\uce54"+ "\0\uceb3\0\ucf12\0\ucf71\0\ucfd0\0\ud02f\0\ud08e\0\ud0ed\0\ud14c"+ "\0\ud1ab\0\ud20a\0\ud269\0\ud2c8\0\ud327\0\ud386\0\ud3e5\0\ud444"+ "\0\ud4a3\0\ud502\0\ud561\0\ud5c0\0\ud61f\0\ud67e\0\ud6dd\0\ud73c"+ "\0\ud79b\0\ud7fa\0\ud859\0\ud8b8\0\ud917\0\ud976\0\u4cd1\0\ud9d5"+ "\0\uda34\0\uda93\0\udaf2\0\udb51\0\udbb0\0\udc0f\0\udc6e\0\udccd"+ "\0\udd2c\0\udd8b\0\uddea\0\ude49\0\udea8\0\udf07\0\udf66\0\udfc5"+ "\0\u140a\0\ue024\0\ue083\0\ue0e2\0\ue141\0\ue1a0\0\ue1ff\0\ue25e"+ "\0\ue2bd\0\ue31c\0\ue37b\0\ue3da\0\ue439\0\ue498\0\ue4f7\0\ue556"+ "\0\ue5b5\0\ue614\0\ue673\0\ue6d2\0\ue731\0\ue790\0\ue7ef\0\ue84e"+ "\0\ue8ad\0\u5f00\0\ue90c\0\ue96b\0\ue9ca\0\uea29\0\uea88\0\ueae7"+ "\0\ueb46\0\ueba5\0\uec04\0\uec63\0\uecc2\0\ued21\0\ued80\0\ueddf"+ "\0\uee3e\0\uee9d\0\ueefc\0\uef5b\0\uefba\0\uf019\0\uf078\0\uf0d7"+ "\0\uf136\0\uf195\0\uf1f4\0\uf253\0\u1b76\0\uf2b2\0\uf311\0\uf370"+ "\0\uf3cf\0\uf42e\0\uf48d\0\uf4ec\0\uf54b\0\uf5aa\0\uf609\0\uf668"+ "\0\uf6c7\0\uf726\0\uf785\0\uf7e4\0\uf843\0\uf8a2\0\uf901\0\uf960"+ "\0\uf9bf\0\ufa1e\0\ufa7d\0\ufadc\0\ufb3b\0\ufb9a\0\ufbf9\0\ufc58"+ "\0\ufcb7\0\ufd16\0\ufd75\0\ufdd4\0\ufe33\0\ufe92\0\ufef1\0\uff50"+ "\0\uffaf\1\16\1\155\1\314\1\u012b\1\u018a\1\u01e9\1\u0248"+ "\1\u02a7\1\u0306\1\u0365\1\u03c4\1\u0423\1\u0482\1\u04e1\1\u0540"+ "\1\u059f\1\u05fe\1\u065d\1\u06bc\1\u071b\1\u077a\1\u07d9\1\u0838"+ "\1\u0897\1\u08f6\1\u0955\1\u09b4\1\u0a13\1\u0a72\1\u0ad1\1\u0b30"+ "\1\u0b8f\1\u0bee\1\u0c4d\1\u0cac\1\u0d0b\1\u0d6a\1\u0dc9\1\u0e28"+ "\1\u0e87\1\u0ee6\1\u0f45\1\u0fa4\1\u1003\1\u1062\1\u10c1\1\u1120"+ "\1\u117f\1\u11de\1\u123d\1\u129c\1\u12fb\1\u135a\1\u13b9\1\u1418"+ "\1\u1477\1\u14d6\1\u1535\1\u1594\1\u15f3\1\u1652\1\u16b1\1\u1710"+ "\1\u176f\1\u17ce\1\u182d\1\u188c\1\u18eb\1\u194a\1\u19a9\1\u1a08"+ "\1\u1a67\1\u1ac6\1\u1b25\1\u1b84\1\u1be3\1\u1c42\1\u1ca1\1\u1d00"+ "\1\u1d5f\1\u1dbe\1\u1e1d\1\u1e7c\1\u1edb\1\u1f3a\1\u1f99\1\u1ff8"+ "\1\u2057\1\u20b6\1\u2115\1\u2174\1\u21d3\1\u2232\1\u2291\1\u22f0"+ "\1\u234f\1\u23ae\1\u240d\1\u246c\1\u24cb\1\u252a\1\u2589\1\u25e8"+ "\1\u2647\1\u26a6\1\u2705\1\u2764\1\u27c3\1\u2822\1\u2881\1\u28e0"+ "\1\u293f\1\u299e\1\u29fd\1\u2a5c\1\u2abb\1\u1f3a\1\u2b1a\1\u2b79"+ "\1\u2bd8\1\u2c37\1\u2c96\1\u2cf5\1\u2d54\1\u2db3\1\u2e12\1\u2e71"+ "\1\u2ed0\1\u2f2f\1\u2f8e\1\u2fed\1\u304c\1\u30ab\1\u310a\1\u3169"+ "\1\u31c8\1\u3227\1\u3286\1\u32e5\1\u3344\1\u33a3\1\u3402\1\u3461"+ "\1\u34c0\1\u351f\1\u357e\1\u35dd\1\u363c\1\u369b\1\u36fa\1\u3759"+ "\1\u37b8\1\u3817\1\u3876\1\u38d5\1\u3934\1\u3993\1\u39f2\1\u3a51"+ "\1\u3ab0\1\u3b0f\1\u3b6e\1\u3bcd\1\u3c2c\1\u3c8b\1\u3cea\1\u3d49"+ "\1\u3da8\1\u3e07\1\u3e66\1\u3ec5\1\u3f24\0\uf253\1\u3f83\1\u3fe2"+ "\1\u4041\1\u40a0\1\u40ff\1\u415e\1\u41bd\1\u421c\1\u427b\1\u42da"+ "\1\u4339\1\u4398\1\u43f7\1\u4456\1\u44b5\1\u4514\1\u4573\1\u45d2"+ "\1\u4631\1\u4690\1\u46ef\1\u474e\1\u47ad\1\u480c\1\u486b\1\u48ca"+ "\1\u4929\1\u4988\1\u49e7\1\u4a46\1\u4aa5\1\u4b04\1\u4b63\1\u4bc2"+ "\1\u4c21\1\u4c80\1\u4cdf\1\u4d3e\1\u4d9d\1\u4dfc\1\u4e5b\1\u4eba"+ "\1\u4f19\1\u4f78\1\u4fd7\1\u5036\1\u5095\1\u50f4\1\u5153\1\u51b2"+ "\1\u5211\1\u5270\1\u52cf\1\u532e\1\u538d\1\u53ec\1\u544b\1\u54aa"+ "\1\u5509\1\u5568\1\u55c7\1\u5626\1\u5685\1\u56e4\1\u5743\1\u57a2"+ "\1\u5801\1\u5860\1\u58bf\1\u591e\1\u597d\1\u59dc\1\u5a3b\1\u5a9a"+ "\1\u5af9\1\u5b58\1\u5bb7\1\u5c16\1\u5c75\1\u5cd4\1\u5d33\1\u5d92"+ "\1\u5df1\1\u5e50\1\u5eaf\1\u5f0e\1\u5f6d\1\u5fcc\1\u602b\1\u608a"+ "\1\u60e9\1\u6148\1\u61a7\1\u6206\1\u6265\1\u62c4\1\u6323\1\u6382"+ "\1\u63e1\1\u6440\1\u649f\1\u64fe\1\u655d\1\u65bc\1\u661b\1\u667a"+ "\1\u66d9\1\u6738\1\u6797\1\u67f6\1\u6855\1\u68b4\1\u6913\1\u6972"+ "\1\u69d1\1\u6a30\1\u6a8f\1\u6aee\1\u6b4d\1\u6bac\1\u6c0b\1\u6c6a"+ "\1\u6cc9\1\u6d28\1\u6d87\1\u6de6\1\u6e45\1\u1e7c\1\u6ea4\1\u6f03"+ "\1\u6f62\1\u6fc1\1\u7020\1\u707f\1\u70de\1\u713d\1\u719c\1\u71fb"+ "\1\u725a\1\u72b9\1\u7318\1\u7377\1\u73d6\1\u7435\1\u7494\1\u74f3"+ "\1\u7552\1\u75b1\1\u7610\1\u766f\1\u76ce\1\u772d\1\u778c\1\u77eb"+ "\1\u784a\1\u78a9\1\u7908\1\u7967\1\u79c6\1\u7a25\1\u7a84\1\u7ae3"+ "\1\u7b42\1\u7ba1\1\u7c00\1\u7c5f\1\u7cbe\1\u7d1d\1\u7d7c\1\u7ddb"+ "\1\u7e3a\1\u7e99\1\u7ef8\1\u7f57\1\u7fb6\1\u8015\1\u8074\1\u80d3"+ "\1\u8132\1\u8191\1\u81f0\1\u824f\1\u82ae\1\u830d\1\u836c\1\u83cb"+ "\1\u842a\1\u8489\1\u84e8\1\u8547\1\u85a6\1\u8605\1\u8664\1\u86c3"+ "\1\u8722\1\u8781\1\u87e0\1\u883f\1\u889e\1\u88fd\1\u895c\1\u89bb"+ "\1\u8a1a\1\u8a79\1\u8ad8\1\u8b37\1\u8b96\1\u8bf5\1\u8c54\1\u8cb3"+ "\1\u8d12\1\u8d71\1\u8dd0\1\u8e2f\1\u8e8e\1\u8eed\1\u8f4c\1\u8fab"+ "\1\u900a\1\u9069\1\u90c8\1\u9127\1\u9186\1\u91e5\1\u9244\1\u92a3"+ "\1\u9302\1\u9361\1\u93c0\1\u941f\1\u947e\1\u94dd\1\u953c\1\u959b"+ "\1\u95fa\1\u9659\1\u96b8\1\u9717\0\u0b22\1\u9776\1\u97d5\1\u9834"+ "\1\u9893\1\u98f2\1\u9951\1\u99b0\1\u9a0f\1\u9a6e\1\u9acd\1\u9b2c"+ "\1\u9b8b\1\u9bea\1\u9c49\1\u9ca8\1\u9d07\1\u9d66\1\u9dc5\1\u9e24"+ "\1\u9e83\1\u9ee2\1\u9f41\1\u9fa0\1\u9fff\1\ua05e\1\ua0bd\1\ua11c"+ "\1\ua17b\1\ua1da\1\ua239\1\ua298\0\ud859\0\u4dee\1\ua2f7\1\ua356"+ "\1\ua3b5\1\ua414\1\ua473\1\ua4d2\1\ua531\1\ua590\1\ua5ef\1\ua64e"+ "\0\u0b22\1\ua6ad\1\ua70c\1\ua76b\1\ua7ca\1\ua829\1\ua888\1\ua8e7"+ "\1\ua946\0\u1b76\1\ua9a5\1\uaa04\1\uaa63\1\uaac2\0\u1b76\1\uab21"+ "\1\uab80\1\uabdf\1\uac3e\1\uac9d\0\u1b76\1\uacfc\1\uad5b\1\uadba"+ "\1\uae19\1\uae78\1\uaed7\1\uaf36\1\uaf95\1\uaff4\1\ub053\1\ub0b2"+ "\1\ub111\1\ub170\1\ub1cf\1\ub22e\0\u730a\0\u0b22\1\ub28d\1\ub2ec"+ "\1\ub34b\1\ub3aa\1\ub409\1\ub468\1\ub4c7\1\ub526\1\ub585\1\ub5e4"+ "\1\ub643\1\ub6a2\1\ub701\1\ub760\1\ub7bf\1\ub81e\1\ub87d\1\ub8dc"+ "\1\ub93b\1\ub99a\1\ub9f9\1\uba58\1\ubab7\1\ubb16\1\ubb75\1\ubbd4"+ "\1\ubc33\1\ubc92\1\ubcf1\1\ubd50\1\ubdaf\1\ube0e\1\ube6d\1\ubecc"+ "\1\ubf2b\1\ubf8a\1\ubfe9\1\uc048\1\uc0a7\1\uc106\1\uc165\1\uc1c4"+ "\1\uc223\1\uc282\1\uc2e1\1\uc340\1\uc39f\1\uc3fe\1\uc45d\1\uc4bc"+ "\1\uc51b\1\uc57a\1\uc5d9\1\uc638\1\uc697\1\uc6f6\1\uc755\1\uc7b4"+ "\1\uc813\1\ubfe9\1\uc872\1\uc8d1\1\uc930\1\uc98f\1\uc9ee\1\uca4d"+ "\1\ucaac\1\ucb0b\1\ucb6a\1\ucbc9\1\ucc28\1\ucc87\1\ucce6\1\ucd45"+ "\1\ucda4\1\uce03\1\uce62\1\ucec1\1\ucf20\1\ucf7f\1\ucfde\1\ud03d"+ "\1\ud09c\1\ud0fb\1\ud15a\1\ud1b9\1\ud218\1\ud277\1\ud2d6\1\ud335"+ "\1\ud394\1\ud3f3\1\ud452\1\ud4b1\1\ud510\0\u88ef\1\ud56f\1\ud5ce"+ "\1\ud62d\1\ud68c\1\ud6eb\1\ud74a\1\ud7a9\1\ud808\1\ud867\1\ud8c6"+ "\1\ud925\1\ud984\1\ud9e3\1\uda42\1\udaa1\1\udb00\1\udb5f\1\udbbe"+ "\1\udc1d\1\udc7c\1\udcdb\1\udd3a\1\udd99\1\uddf8\1\ude57\1\udeb6"+ "\1\udf15\1\udf74\1\udfd3\1\ue032\1\ue091\1\ue0f0\1\ue14f\1\ue1ae"+ "\1\ue20d\1\ue26c\1\ue2cb\1\ue32a\1\ue389\1\ue3e8\1\ue447\1\ue4a6"+ "\1\ue505\1\ue564\1\ue5c3\1\ue622\1\ue681\1\ue6e0\1\ue73f\1\ue79e"+ "\1\ue7fd\1\ue85c\1\ue8bb\1\ue91a\1\ue979\1\ue9d8\1\uea37\1\uea96"+ "\0\u1b76\1\ueaf5\1\ueb54\1\uebb3\1\uec12\1\uec71\1\uecd0\1\ued2f"+ "\1\ued8e\1\ueded\1\uee4c\1\ueeab\1\uef0a\1\uef69\1\uefc8\1\uf027"+ "\1\uf086\1\uf0e5\1\uf144\1\uf1a3\1\uf202\1\uf261\1\uf2c0\1\uf31f"+ "\1\uf37e\1\uf3dd\1\uf43c\1\uf49b\1\uf4fa\1\uf559\1\uf5b8\1\uf617"+ "\1\uf676\1\uf6d5\1\uf734\1\uf793\1\uf7f2\1\uf851\1\uf8b0\1\uf90f"+ "\1\uf96e\1\uf9cd\1\ufa2c\1\ufa8b\1\u15f3\1\ufaea\1\ufb49\1\ufba8"+ "\1\ufc07\1\ufc66\1\ufcc5\1\ufd24\1\ufd83\1\ufde2\1\ufe41\1\ufea0"+ "\1\ufeff\1\uff5e\1\uffbd\2\34\2\173\2\332\2\u0139\2\u0198"+ "\2\u01f7\2\u0256\2\u02b5\2\u0314\2\u0373\1\uacfc\2\u03d2\2\u0431"+ "\2\u0490\2\u04ef\2\u054e\2\u05ad\2\u060c\2\u066b\2\u06ca\2\u0729"+ "\2\u0788\2\u07e7\2\u0846\2\u08a5\2\u0904\2\u0963\2\u09c2\2\u0a21"+ "\2\u0a80\2\u0adf\2\u0b3e\2\u0b9d\2\u0bfc\2\u0c5b\2\u0cba\2\u0d19"+ "\2\u0d78\2\u0dd7\2\u0e36\2\u0e95\2\u0ef4\2\u0f53\2\u0fb2\2\u1011"+ "\2\u1070\2\u10cf\2\u112e\2\u118d\2\u11ec\2\u124b\2\u12aa\2\u1309"+ "\2\u1368\2\u13c7\2\u1426\2\u1485\2\u14e4\2\u1543\2\u15a2\2\u1601"+ "\2\u1660\2\u16bf\2\u171e\2\u177d\2\u17dc\2\u183b\2\u189a\2\u18f9"+ "\2\u1958\2\u19b7\2\u1a16\2\u1a75\2\u1ad4\2\u1b33\2\u1b92\2\u1bf1"+ "\2\u1c50\2\u1caf\2\u1d0e\2\u1d6d\2\u1dcc\2\u1e2b\2\u1e8a\2\u1ee9"+ "\2\u1f48\2\u1fa7\2\u2006\2\u2065\2\u20c4\2\u2123\2\u2182\2\u21e1"+ "\2\u2240\2\u229f\2\u22fe\2\u235d\2\u23bc\2\u241b\2\u247a\2\u24d9"+ "\2\u2538\2\u2597\2\u25f6\2\u2655\2\u26b4\2\u2713\2\u2772\2\u27d1"+ "\2\u2830\1\u6a30\2\u288f\2\u28ee\2\u294d\2\u29ac\2\u2a0b\2\u2a6a"+ "\2\u2ac9\2\u2b28\2\u2b87\2\u2be6\2\u2c45\2\u2ca4\2\u2d03\2\u2d62"+ "\2\u2dc1\2\u2e20\2\u2e7f\2\u2ede\2\u2f3d\2\u2f9c\2\u2ffb\2\u305a"+ "\2\u30b9\2\u3118\2\u3177\2\u31d6\2\u3235\2\u3294\2\u32f3\2\u3352"+ "\2\u33b1\2\u3410\2\u346f\2\u34ce\2\u352d\2\u358c\2\u35eb\2\u364a"+ "\2\u36a9\2\u3708\2\u3767\2\u37c6\2\u3825\2\u3884\2\u38e3\2\u3942"+ "\2\u39a1\2\u3a00\2\u3a5f\2\u3abe\2\u3b1d\2\u3b7c\2\u3bdb\2\u3c3a"+ "\2\u3c99\2\u3cf8\2\u3d57\2\u3db6\2\u3e15\2\u3e74\2\u3ed3\2\u3f32"+ "\2\u3f91\2\u3ff0\2\u404f\2\u40ae\2\u410d\2\u416c\2\u41cb\2\u422a"+ "\2\u4289\2\u42e8\2\u4347\2\u43a6\2\u4405\2\u4464\2\u44c3\2\u4522"+ "\2\u4581\2\u45e0\2\u463f\2\u469e\2\u46fd\2\u475c\2\u47bb\2\u481a"+ "\2\u4879\2\u48d8\2\u4937\2\u4996\2\u49f5\2\u4a54\2\u4ab3\2\u4b12"+ "\2\u4b71\2\u4bd0\2\u4c2f\2\u4c8e\2\u4ced\2\u4d4c\2\u4dab\2\u4e0a"+ "\2\u4e69\2\u4ec8\2\u4f27\2\u4f86\2\u4fe5\2\u5044\2\u50a3\2\u5102"+ "\2\u5161\2\u51c0\2\u521f\2\u527e\2\u52dd\2\u533c\2\u539b\2\u53fa"+ "\2\u5459\2\u54b8\2\u5517\2\u5576\2\u55d5\2\u5634\2\u5693\2\u56f2"+ "\2\u5751\2\u57b0\2\u580f\2\u586e\2\u58cd\2\u592c\2\u598b\2\u59ea"+ "\2\u5a49\2\u5aa8\2\u5b07\2\u5b66\2\u5bc5\2\u5c24\2\u5c83\2\u5ce2"+ "\2\u5d41\2\u5da0\2\u5dff\2\u5e5e\2\u5ebd\2\u5f1c\2\u5f7b\2\u5fda"+ "\2\u6039\2\u6098\2\u60f7\2\u6156\2\u61b5\2\u6214\2\u6273\2\u62d2"+ "\2\u6331\2\u6390\2\u63ef\2\u644e\2\u64ad\2\u650c\2\u656b\2\u65ca"+ "\2\u6629\2\u6688\2\u66e7\2\u6746\2\u67a5\2\u6804\2\u6863\2\u68c2"+ "\2\u6921\2\u6980\2\u69df\2\u6a3e\2\u6a9d\2\u6afc\2\u6b5b\2\u6bba"+ "\2\u6c19\2\u6c78\2\u6cd7\2\u6d36\2\u6d95\2\u6df4\2\u6e53\2\u6eb2"+ "\2\u6f11\2\u6f70\2\u6fcf\2\u702e\2\u708d\2\u70ec\2\u714b\2\u71aa"+ "\2\u7209\2\u7268\2\u72c7\2\u7326\2\u7385\2\u73e4\2\u7443\0\u0b22"+ "\2\u74a2\2\u7501\2\u7560\2\u75bf\2\u761e\0\u0b22\2\u767d\1\u9893"+ "\0\u0ed8\2\u76dc\2\u773b\2\u779a\2\u77f9\2\u7858\2\u78b7\2\u7916"+ "\2\u7975\2\u79d4\2\u7a33\2\u7a33\2\u7a92\2\u7af1\2\u7b50\2\u7baf"+ "\2\u7c0e\2\u7c6d\2\u7ccc\2\u7d2b\2\u7d8a\0\u0b22\2\u7de9\0\u0b22"+ "\2\u7e48\2\u7ea7\2\u7f06\2\u7f65\2\u7fc4\2\u8023\0\uecc2\2\u8082"+ "\2\u80e1\2\u8140\2\u819f\2\u81fe\2\u825d\2\u82bc\2\u831b\2\u837a"+ "\2\u83d9\2\u8438\2\u8497\2\u84f6\2\u8555\2\u85b4\2\u8613\1\ub3aa"+ "\2\u8672\2\u86d1\1\ub526\2\u8730\2\u878f\2\u87ee\2\u884d\2\u88ac"+ "\2\u890b\2\u896a\2\u89c9\2\u8a28\2\u8a87\2\u8ae6\2\u8b45\2\u8ba4"+ "\2\u8c03\2\u8c62\2\u8cc1\2\u8d20\2\u8d7f\2\u8dde\2\u8e3d\2\u8e9c"+ "\2\u8efb\2\u8f5a\0\u9e16\2\u8fb9\2\u9018\2\u9077\2\u90d6\2\u9135"+ "\2\u9194\2\u91f3\2\u9252\2\u92b1\2\u9310\2\u936f\2\u93ce\2\u942d"+ "\2\u948c\2\u94eb\2\u954a\2\u95a9\2\u9608\2\u9667\2\u96c6\2\u9725"+ "\2\u9784\2\u97e3\2\u9842\2\u98a1\2\u9900\2\u995f\2\u99be\2\u9a1d"+ "\2\u9a7c\2\u9adb\2\u9b3a\2\u9b99\2\u9bf8\2\u9c57\2\u9cb6\2\u9d15"+ "\2\u9d74\2\u9dd3\2\u9e32\2\u9e91\2\u9ef0\2\u9f4f\2\u9fae\2\ua00d"+ "\2\ua06c\2\ua0cb\2\ua12a\2\ua189\2\ua1e8\2\ua247\2\ua2a6\2\ua305"+ "\2\ua364\2\ua3c3\2\ua422\2\ua481\2\ua4e0\2\ua53f\2\ua59e\2\ua5fd"+ "\2\ua65c\2\ua6bb\2\ua71a\2\ua779\2\ua7d8\2\ua837\2\ua896\2\ua8f5"+ "\2\ua954\2\ua9b3\2\uaa12\2\uaa71\2\uaad0\2\uab2f\2\uab8e\2\uabed"+ "\2\uac4c\2\uacab\2\uad0a\2\uad69\2\uadc8\2\uae27\2\uae86\2\uaee5"+ "\2\uaf44\2\uafa3\2\ub002\2\ub061\2\ub0c0\2\ub11f\2\ub17e\2\ub1dd"+ "\2\ub23c\2\ub29b\2\ub2fa\2\ub359\2\ub3b8\2\ub417\2\ub476\2\ub4d5"+ "\2\ub534\2\ub593\2\ub5f2\2\ub651\2\ub6b0\2\ub70f\2\ub76e\2\ub7cd"+ "\2\ub82c\2\ub88b\2\ub8ea\2\ub949\2\ub9a8\2\uba07\2\uba66\2\ubac5"+ "\2\ubb24\2\ubb83\2\ubbe2\2\ubc41\2\ubca0\2\ubcff\2\ubd5e\2\ubdbd"+ "\2\ube1c\2\ube7b\2\ubeda\2\ubf39\2\ubf98\2\ubff7\2\uc056\2\uc0b5"+ "\2\uc114\2\uc173\2\uc1d2\2\uc231\2\uc290\2\uc2ef\2\uc34e\2\uc3ad"+ "\2\uc40c\2\uc46b\2\uc4ca\2\uc529\2\uc588\2\uc5e7\2\uc646\2\uc6a5"+ "\2\uc704\2\uc763\2\uc7c2\2\uc821\2\uc880\2\uc8df\2\ub651\2\uc93e"+ "\2\uc99d\2\uc9fc\2\uca5b\2\ucaba\2\ucb19\2\ucb78\2\ucbd7\2\ucc36"+ "\2\ucc95\2\uccf4\2\ucd53\2\ucdb2\2\uce11\2\uce70\2\ucecf\2\ucf2e"+ "\2\ucf8d\2\uc93e\2\ucfec\2\ud04b\2\ud0aa\2\ud109\2\ud168\2\ud1c7"+ "\2\ud226\2\ud285\2\ud2e4\2\ud343\2\ud3a2\2\ud401\2\ud460\2\ud4bf"+ "\2\ud51e\2\ud57d\2\ud5dc\2\ud63b\2\ud69a\2\ud6f9\2\ud758\2\ud7b7"+ "\2\ud816\2\ud875\2\ud8d4\2\ud933\2\ud992\2\ud9f1\2\uda50\2\udaaf"+ "\2\udb0e\2\udb6d\2\udbcc\2\udc2b\2\udc8a\2\udce9\2\udd48\2\udda7"+ "\2\ude06\2\ude65\2\udec4\2\udf23\2\udf82\2\udfe1\2\ue040\2\ue09f"+ "\2\ue0fe\2\ue15d\2\ue1bc\2\ue21b\2\ue27a\2\ue2d9\2\ue338\2\ue397"+ "\2\ue3f6\1\uf086\2\ue455\2\ue4b4\2\ue513\2\ue572\2\ue5d1\2\ue630"+ "\2\ue68f\2\ue6ee\2\ue74d\2\ue7ac\2\ue80b\2\ue86a\2\ue8c9\2\ue928"+ "\2\ue987\2\ue9e6\2\uea45\2\ueaa4\2\ueb03\2\ueb62\2\uebc1\2\uec20"+ "\2\uec7f\2\uecde\2\ued3d\2\ued9c\2\uedfb\2\uee5a\2\ueeb9\2\uef18"+ "\2\uef77\2\uefd6\2\uf035\2\uf094\2\uf0f3\2\uf152\2\uf1b1\2\uf210"+ "\2\uf26f\2\uf2ce\2\uf32d\2\uf38c\2\uf3eb\2\uf44a\2\uf4a9\2\uf508"+ "\2\uf567\2\uf5c6\2\uf625\2\uf684\2\uf6e3\2\uf742\2\uf7a1\2\uf800"+ "\2\uf85f\2\uf8be\2\uf91d\2\uf97c\2\uf9db\2\ufa3a\2\ufa99\2\ufaf8"+ "\2\ufb57\2\ufbb6\2\ufc15\2\ufc74\2\ufcd3\2\ufd32\2\ufd91\2\ufdf0"+ "\2\ufe4f\2\ufeae\2\uff0d\2\uff6c\2\uffcb\3\52\3\211\3\350"+ "\3\u0147\3\u01a6\3\u0205\3\u0264\3\u02c3\3\u0322\3\u0381\3\u03e0"+ "\3\u043f\3\u049e\3\u04fd\3\u055c\3\u05bb\3\u061a\3\u0679\3\u06d8"+ "\3\u0737\3\u0796\3\u07f5\3\u0854\3\u08b3\3\u0912\3\u0971\3\u09d0"+ "\3\u0a2f\3\u0a8e\3\u0aed\3\u0b4c\3\u0bab\3\u0c0a\3\u0c69\3\u0cc8"+ "\3\u0d27\3\u0d86\3\u0de5\3\u0e44\3\u0ea3\3\u0f02\3\u0f61\3\u0fc0"+ "\3\u101f\3\u107e\3\u10dd\3\u113c\3\u119b\3\u11fa\3\u1259\3\u12b8"+ "\3\u1317\3\u1376\3\u13d5\3\u1434\3\u1493\3\u14f2\3\u1551\3\u15b0"+ "\3\u160f\3\u166e\3\u16cd\3\u172c\3\u178b\3\u17ea\3\u1849\3\u18a8"+ "\3\u1907\3\u1966\3\u19c5\3\u1a24\3\u1a83\3\u1ae2\3\u1b41\3\u1ba0"+ "\3\u1bff\3\u1c5e\3\u1cbd\3\u1d1c\3\u1d7b\3\u1dda\3\u1e39\3\u1e98"+ "\3\u1ef7\3\u1f56\3\u1fb5\3\u2014\3\u2073\3\u20d2\3\u2131\3\u2190"+ "\3\u21ef\3\u224e\3\u22ad\3\u230c\3\u236b\3\u23ca\3\u2429\3\u2488"+ "\3\u24e7\3\u2546\3\u25a5\3\u2604\3\u2663\3\u26c2\3\u2721\3\u2780"+ "\3\u27df\3\u283e\3\u289d\3\u28fc\3\u295b\3\u29ba\3\u2a19\3\u2a78"+ "\3\u2ad7\3\u2b36\3\u2b95\3\u2bf4\3\u2c53\3\u2cb2\3\u2d11\3\u2d70"+ "\3\u2dcf\3\u2e2e\3\u2e8d\3\u2eec\3\u2f4b\3\u2faa\3\u3009\3\u3068"+ "\3\u30c7\3\u3126\3\u3185\3\u31e4\3\u3243\3\u32a2\3\u3301\3\u3360"+ "\3\u33bf\3\u341e\3\u347d\3\u34dc\3\u353b\3\u359a\3\u35f9\3\u3658"+ "\3\u36b7\3\u3716\3\u3775\3\u37d4\3\u3833\3\u3892\3\u38f1\3\u3950"+ "\3\u39af\3\u3a0e\3\u3a6d\3\u3acc\3\u3b2b\3\u3b8a\3\u3be9\3\u3c48"+ "\3\u3ca7\3\u3d06\3\u3d65\3\u3dc4\3\u3e23\3\u3e82\3\u3ee1\3\u3f40"+ "\3\u3f9f\3\u3ffe\3\u405d\3\u40bc\3\u411b\3\u417a\3\u41d9\3\u4238"+ "\3\u4297\3\u42f6\3\u4355\3\u43b4\3\u4413\3\u4472\3\u44d1\3\u4530"+ "\3\u458f\3\u45ee\3\u464d\3\u46ac\3\u470b\3\u476a\3\u47c9\3\u4828"+ "\3\u4887\3\u48e6\3\u4945\3\u49a4\3\u4a03\3\u4a62\3\u4ac1\3\u4b20"+ "\3\u4b7f\3\u4bde\3\u4c3d\3\u4c9c\3\u4cfb\3\u4d5a\3\u4db9\3\u4e18"+ "\3\u4e77\3\u4ed6\3\u4f35\3\u4f94\3\u4ff3\3\u5052\3\u50b1\3\u5110"+ "\3\u516f\3\u51ce\3\u522d\3\u528c\3\u52eb\3\u534a\3\u53a9\3\u5408"+ "\3\u5467\3\u54c6\3\u5525\3\u5584\3\u55e3\3\u5642\3\u56a1\3\u5700"+ "\3\u575f\3\u57be\3\u581d\3\u587c\3\u58db\3\u593a\3\u5999\3\u59f8"+ "\3\u5a57\3\u5ab6\3\u5b15\3\u5b74\3\u5bd3\3\u5c32\3\u5c91\3\u5cf0"+ "\3\u5d4f\3\u5dae\3\u5e0d\3\u5e6c\3\u5ecb\3\u5f2a\3\u5f89\3\u5fe8"+ "\3\u6047\3\u60a6\1\u1710\3\u6105\3\u6164\3\u61c3\3\u6222\3\u6281"+ "\3\u62e0\3\u633f\3\u639e\3\u63fd\3\u645c\3\u64bb\3\u651a\3\u6579"+ "\3\u65d8\3\u6637\3\u6696\3\u66f5\3\u6754\3\u67b3\3\u6812\3\u6871"+ "\3\u68d0\3\u692f\3\u698e\3\u69ed\3\u6a4c\3\u6aab\3\u6b0a\3\u6b69"+ "\3\u6bc8\3\u6c27\3\u6c86\3\u6ce5\3\u6d44\3\u6da3\3\u6e02\3\u6e61"+ "\3\u6ec0\3\u6f1f\3\u6f7e\3\u6fdd\3\u703c\3\u709b\3\u70fa\3\u7159"+ "\3\u71b8\3\u7217\3\u7276\3\u72d5\3\u7334\3\u7393\3\u73f2\3\u7451"+ "\3\u74b0\0\u3f75\3\u750f\3\u756e\3\u75cd\3\u762c\3\u768b\3\u76ea"+ "\3\u7749\3\u77a8\3\u7807\3\u7866\3\u78c5\3\u7924\3\u7983\3\u79e2"+ "\3\u7a41\3\u7aa0\3\u7aff\3\u7b5e\3\u7bbd\3\u7c1c\3\u7c7b\3\u7cda"+ "\3\u7d39\3\u7d98\3\u7df7\3\u7e56\3\u7eb5\3\u7f14\3\u7f73\3\u7fd2"+ "\3\u8031\3\u8090\3\u80ef\3\u814e\3\u81ad\3\u820c\3\u826b\3\u82ca"+ "\3\u8329\3\u8388\3\u83e7\3\u8446\3\u84a5\3\u8504\3\u8563\3\u85c2"+ "\3\u8621\3\u8680\3\u86df\3\u873e\3\u879d\3\u87fc\3\u885b\3\u88ba"+ "\3\u8919\3\u8978\3\u89d7\3\u8a36\3\u8a95\3\u8af4\3\u8b53\3\u8bb2"+ "\3\u8c11\3\u8c70\3\u8ccf\3\u8d2e\3\u8d8d\3\u8dec\3\u8e4b\3\u8eaa"+ "\3\u8f09\3\u8f68\3\u8fc7\3\u9026\3\u9085\3\u90e4\3\u9143\3\u91a2"+ "\3\u9201\3\u9260\3\u92bf\3\u931e\3\u937d\3\u93dc\3\u943b\3\u949a"+ "\3\u94f9\3\u9558\3\u95b7\3\u9616\3\u9675\3\u96d4\3\u9733\3\u9792"+ "\3\u97f1\3\u9850\3\u98af\3\u990e\3\u996d\3\u99cc\3\u9a2b\3\u9a8a"+ "\3\u9ae9\3\u9b48\3\u9ba7\3\u9c06\3\u9c65\3\u9cc4\3\u9d23\3\u9d82"+ "\3\u9de1\3\u9e40\3\u9e9f\3\u9efe\3\u9f5d\3\u9fbc\3\ua01b\3\ua07a"+ "\3\ua0d9\3\ua138\3\ua197\3\ua1f6\3\ua255\3\ua2b4\3\ua313\3\ua372"+ "\3\ua3d1\3\ua430\3\ua48f\3\ua4ee\3\ua54d\3\ua5ac\3\ua60b\3\ua66a"+ "\3\ua6c9\3\ua728\3\ua787\3\ua7e6\3\ua845\3\ua8a4\3\ua903\3\ua962"+ "\3\ua9c1\3\uaa20\3\uaa7f\3\uaade\3\uab3d\3\uab9c\3\uabfb\3\uac5a"+ "\3\uacb9\3\uad18\3\uad77\3\uadd6\3\uae35\3\uae94\3\uaef3\3\uaf52"+ "\3\uafb1\3\ub010\3\ub06f\3\ub0ce\3\ub12d\3\ub18c\3\ub1eb\3\ub24a"+ "\3\ub2a9\3\ub308\3\ub367\3\ub3c6\3\ub425\3\ub484\3\ub4e3\3\ub542"+ "\3\ub5a1\3\ub600\3\ub65f\3\ub6be\3\ub71d\3\ub77c\3\ub7db\3\ub83a"+ "\3\ub899\3\ub8f8\3\ub957\3\ub9b6\3\uba15\3\uba74\3\ubad3\3\ubb32"+ "\3\ubb91\3\ubbf0\3\ubc4f\3\ubcae\3\ubd0d\3\ubd6c\3\ubdcb\3\ube2a"+ "\3\ube89\0\u8598\3\ubee8\3\ubf47\3\ubfa6\3\uc005\3\uc064\3\uc0c3"+ "\3\uc122\3\uc181\3\uc1e0\3\uc23f\3\uc29e\3\uc2fd\3\uc35c\3\uc3bb"+ "\3\uc41a\3\uc479\3\uc4d8\3\uc537\3\uc596\3\uc5f5\3\uc654\3\uc6b3"+ "\3\uc712\3\uc771\3\uc7d0\3\uc82f\3\uc88e\3\uc8ed\3\uc94c\3\uc9ab"+ "\3\uca0a\3\uca69\3\ucac8\3\ucb27\3\ucb86\3\ucbe5\3\ucc44\3\ucca3"+ "\3\ucd02\3\ucd61\3\ucdc0\3\uce1f\3\uce7e\3\ucedd\3\ucf3c\3\ucf9b"+ "\3\ucffa\3\ud059\3\ud0b8\3\ud117\3\ud176\3\ud1d5\3\ud234\3\ud293"+ "\3\ud2f2\3\ud351\3\ud3b0\3\ud40f\3\ud46e\3\ud4cd\3\ud52c\3\ud58b"+ "\3\ud5ea\3\ud649\3\ud6a8\3\ud707\3\ud766\3\ud7c5\3\ud824\3\ud883"+ "\3\ud8e2\3\ud941\3\ud9a0\3\ud9ff\3\uda5e\3\udabd\3\udb1c\3\udb7b"+ "\3\udbda\3\udc39\3\udc98\3\udcf7\3\udd56\3\uddb5\3\ude14\3\ude73"+ "\3\uded2\3\udf31\3\udf90\3\udfef\3\ue04e\3\ue0ad\3\ue10c\3\ue16b"+ "\3\ue1ca\3\ue229\3\ue288\3\ue2e7\3\ue346\3\ue3a5\3\ue404\3\ue463"+ "\3\ue4c2\3\ue521\3\ue580\3\ue5df\3\ue63e\3\ue69d\3\ue6fc\3\ue75b"+ "\3\ue7ba\3\ue819\3\ue878\3\ue8d7\3\ue936\3\ue995\3\ue9f4\3\uea53"+ "\3\ueab2\3\ueb11\3\ueb70\3\uebcf\3\uec2e\3\uec8d\3\uecec\3\ued4b"+ "\3\uedaa\3\uee09\3\uee68\3\ueec7\3\uef26\3\uef85\3\uefe4\3\uf043"+ "\3\uf0a2\3\uf101\3\uf160\3\uf1bf\3\uf21e\3\uf27d\3\uf2dc\3\uf33b"+ "\3\uf39a\3\uf3f9\3\uf458\3\uf4b7\3\uf516\3\uf575\3\uf5d4\3\uf633"+ "\3\uf692\3\uf6f1\3\uf750\3\uf7af\3\uf80e\3\uf86d\3\uf8cc\3\uf92b"+ "\3\uf98a\3\uf9e9\3\ufa48\3\ufaa7\3\ufb06\3\ufb65\3\ufbc4\3\ufc23"+ "\3\ufc82\3\ufce1\3\ufd40\3\ufd9f\3\uf2dc\3\ufdfe\3\ufe5d\3\ufebc"+ "\3\uff1b\3\uff7a\3\uffd9\4\70\4\227\4\366\4\u0155\4\u01b4"+ "\4\u0213\4\u0272\4\u02d1\4\u0330\4\u038f\4\u03ee\4\u044d\4\u04ac"+ "\4\u050b\4\u056a\4\u05c9\4\u0628\4\u0687\4\u06e6\4\u0745\4\u07a4"+ "\4\u0803\4\u0862\4\u08c1\4\u0920\4\u097f\4\u09de\4\u0a3d\4\u0a9c"+ "\4\u0afb\4\u0b5a\4\u0bb9\4\u0c18\4\u0c77\4\u0cd6\4\u0d35\4\u0d94"+ "\4\u0df3\4\u0e52\4\u0eb1\4\u0f10\4\u0f6f\4\u0fce\4\u102d\4\u108c"+ "\4\u10eb\4\u114a\4\u11a9\4\u1208\4\u1267\4\u12c6\4\u1325\4\u1384"+ "\4\u13e3\4\u1442\4\u14a1\4\u1500\4\u155f\4\u15be\4\u161d\4\u167c"+ "\4\u16db\4\u173a\4\u1799\4\u17f8\4\u1857\4\u18b6\4\u1915\4\u1974"+ "\4\u19d3\4\u1a32\4\u1a91\4\u1af0\4\u1b4f\4\u1bae\4\u1c0d\4\u1c6c"+ "\4\u1ccb\4\u1d2a\2\uabed\4\u1d89\4\u1de8\4\u1e47\4\u1ea6\4\u1f05"+ "\4\u1f64\4\u1fc3\4\u2022\4\u2081\4\u20e0\4\u213f\4\u219e\4\u21fd"+ "\4\u225c\4\u22bb\4\u231a\4\u2379\4\u23d8\4\u2437\4\u2496\4\u24f5"+ "\4\u2554\4\u25b3\4\u2612\4\u2671\4\u26d0\4\u272f\4\u278e\4\u27ed"+ "\4\u284c\4\u28ab\4\u290a\4\u2969\4\u29c8\4\u2a27\4\u2a86\4\u2ae5"+ "\4\u2b44\4\u2ba3\4\u2c02\4\u2c61\4\u2cc0\4\u2d1f\4\u2d7e\4\u2ddd"+ "\4\u2e3c\4\u2e9b\4\u2efa\4\u2f59\4\u2fb8\4\u3017\4\u3076\4\u30d5"+ "\4\u3134\4\u3193\4\u31f2\4\u3251\4\u32b0\4\u330f\4\u336e\4\u33cd"+ "\4\u342c\4\u348b\4\u34ea\4\u3549\4\u35a8\4\u3607\4\u3666\4\u36c5"+ "\4\u3724\4\u3783\4\u37e2\4\u3841\4\u38a0\4\u38ff\4\u395e\4\u39bd"+ "\4\u3a1c\4\u3a7b\4\u3ada\4\u3b39\4\u3b98\4\u3bf7\4\u3c56\4\u3cb5"+ "\4\u3d14\4\u3d73\4\u3dd2\4\u3e31\4\u3e90\4\u3eef\4\u3f4e\4\u3fad"+ "\4\u400c\4\u406b\4\u40ca\4\u4129\4\u4188\4\u41e7\4\u4246\4\u42a5"+ "\4\u4304\4\u4363\4\u43c2\4\u4421\4\u4480\4\u44df\4\u453e\4\u459d"+ "\4\u45fc\4\u465b\4\u46ba\4\u4719\4\u4778\4\u47d7\4\u4836\4\u4895"+ "\4\u48f4\4\u4953\4\u49b2\4\u4a11\4\u4a70\4\u4acf\4\u4b2e\4\u4b8d"+ "\4\u4bec\4\u4c4b\4\u4caa\4\u4d09\4\u4d68\4\u4dc7\4\u4e26\4\u4e85"+ "\4\u4ee4\4\u4f43\4\u4fa2\4\u5001\4\u5060\4\u50bf\4\u511e\4\u517d"+ "\4\u51dc\4\u523b\4\u529a\4\u52f9\4\u5358\4\u53b7\4\u5416\4\u5475"+ "\4\u54d4\4\u5533\4\u5592\4\u55f1\4\u5650\4\u56af\4\u570e\4\u576d"+ "\4\u57cc\4\u582b\4\u588a\4\u58e9\4\u5948\4\u59a7\4\u5a06\4\u5a65"+ "\4\u5ac4\4\u5b23\4\u5b82\4\u5be1\1\u7e99\4\u5c40\4\u5c9f\4\u5cfe"+ "\4\u5d5d\4\u5dbc\4\u5e1b\4\u5e7a\4\u5ed9\4\u5f38\4\u5f97\4\u5ff6"+ "\4\u6055\4\u60b4\4\u6113\4\u6172\4\u61d1\4\u6230\4\u628f\4\u62ee"+ "\4\u634d\4\u63ac\4\u640b\4\u646a\4\u64c9\4\u6528\4\u6587\4\u65e6"+ "\4\u6645\4\u66a4\4\u6703\4\u6762\4\u67c1\4\u6820\4\u687f\4\u68de"+ "\4\u693d\4\u699c\4\u69fb\4\u6a5a\4\u6ab9\4\u6b18\4\u6b77\4\u6bd6"+ "\4\u6c35\4\u6c94\4\u6cf3\4\u6d52\4\u6db1\4\u6e10\4\u6e6f\4\u6ece"+ "\4\u6f2d\4\u6f8c\4\u6feb\4\u704a\4\u70a9\4\u7108\4\u7167\4\u71c6"+ "\4\u7225\4\u7284\4\u72e3\4\u7342\4\u73a1\4\u7400\4\u745f\4\u74be"+ "\4\u751d\4\u757c\4\u75db\4\u763a\4\u7699\4\u76f8\4\u7757\4\u77b6"+ "\4\u7815\4\u7874\4\u78d3\4\u7932\4\u7991\4\u79f0\4\u7a4f\4\u7aae"+ "\4\u7b0d\4\u7b6c\4\u7bcb\4\u7c2a\4\u7c89\4\u7ce8\4\u7d47\4\u7da6"+ "\4\u7e05\4\u7e64\4\u7ec3\4\u7f22\4\u7f81\4\u7fe0\0\u3f75\4\u803f"+ "\4\u809e\4\u80fd\4\u815c\4\u81bb\4\u821a\4\u8279\4\u82d8\4\u8337"+ "\4\u8396\4\u83f5\4\u8454\4\u84b3\4\u8512\4\u8571\4\u85d0\4\u862f"+ "\4\u868e\4\u86ed\4\u874c\4\u87ab\4\u880a\4\u8869\4\u88c8\4\u8927"+ "\4\u8986\4\u89e5\4\u8a44\4\u8aa3\4\u8b02\4\u8b61\4\u8bc0\4\u8c1f"+ "\4\u8c7e\4\u8cdd\4\u8d3c\4\u8d9b\4\u8dfa\4\u8e59\4\u8eb8\4\u8f17"+ "\4\u8f76\4\u8fd5\4\u9034\4\u9093\4\u90f2\4\u9151\4\u91b0\4\u920f"+ "\4\u926e\4\u92cd\2\u3db6\4\u932c\4\u938b\4\u93ea\4\u9449\4\u94a8"+ "\4\u9507\4\u9566\4\u95c5\4\u9624\4\u9683\4\u96e2\4\u9741\4\u97a0"+ "\4\u97ff\4\u985e\4\u98bd\4\u991c\4\u997b\4\u99da\4\u9a39\4\u9a98"+ "\4\u9af7\4\u9b56\4\u9bb5\4\u9c14\4\u9c73\4\u9cd2\4\u9d31\4\u9d90"+ "\4\u9def\4\u9e4e\4\u9ead\4\u9f0c\4\u9f6b\4\u9fca\4\ua029\4\ua088"+ "\4\ua0e7\4\ua146\4\ua1a5\4\ua204\4\ua263\4\ua2c2\4\ua321\4\ua380"+ "\4\ua3df\4\ua43e\4\ua49d\4\ua4fc\4\ua55b\4\ua5ba\4\ua619\4\ua678"+ "\4\ua6d7\4\ua736\4\ua795\4\ua7f4\4\ua853\4\ua8b2\4\ua911\4\ua970"+ "\4\ua9cf\4\uaa2e\4\uaa8d\4\uaaec\4\uab4b\4\uabaa\4\uac09\4\uac68"+ "\4\uacc7\4\uad26\4\uad85\4\uade4\4\uae43\4\uaea2\4\uaf01\4\uaf60"+ "\4\uafbf\4\ub01e\4\ub07d\4\ub0dc\4\ub13b\4\ub19a\4\ub1f9\4\ub258"+ "\4\ub2b7\4\ub316\4\ub375\4\ub3d4\4\ub433\4\ub492\4\ub4f1\4\ub550"+ "\4\ub5af\4\ub60e\4\ub66d\4\ub6cc\4\ub72b\4\ub78a\4\ub7e9\4\ub848"+ "\4\ub8a7\4\ub906\3\u63fd\4\ub965\4\ub9c4\4\uba23\4\uba82\4\ubae1"+ "\4\ubb40\4\ubb9f\4\ubbfe\4\ubc5d\4\ubcbc\1\u0a72\4\ubd1b\4\ubd7a"+ "\4\ubdd9\4\ube38\4\ube97\4\ubef6\1\uddf8\4\ubf55\4\ubfb4\4\uc013"+ "\4\uc072\4\uc0d1\4\uc130\4\uc18f\4\uc1ee\4\uc24d\4\uc2ac\4\uc30b"+ "\4\uc36a\4\uc3c9\4\uc428\4\uc487\4\uc4e6\4\uc545\4\uc5a4\4\uc603"+ "\4\uc662\4\uc6c1\4\uc720\4\uc77f\4\uc7de\4\uc83d\4\uc89c\4\uc8fb"+ "\4\uc95a\4\uc9b9\4\uca18\4\uca77\4\ucad6\4\ucb35\4\ucb94\4\ucbf3"+ "\4\ucc52\4\uccb1\4\ucd10\4\ucd6f\4\ucdce\4\uce2d\4\uce8c\4\uceeb"+ "\4\ucf4a\4\ucfa9\4\ud008\4\ud067\4\ud0c6\4\ud125\4\ud184\4\ud1e3"+ "\4\ud242\4\ud2a1\4\ud300\4\ud35f\4\ud3be\4\ud41d\4\ud35f\4\ud47c"+ "\4\ud4db\4\ud53a\4\ud599\4\ud5f8\4\ud657\4\ud6b6\4\ud715\4\ud774"+ "\4\ud7d3\4\ud832\4\ud891\4\ud8f0\4\ud94f\4\ud9ae\4\uda0d\4\uda6c"+ "\4\udacb\4\udb2a\4\udb89\4\udbe8\4\udc47\4\udca6\4\udd05\4\udd64"+ "\4\uddc3\4\ude22\4\ude81\4\udee0\4\udf3f\4\udf9e\4\udffd\4\ue05c"+ "\4\ue0bb\4\ue11a\4\ue179\4\ue1d8\4\ue237\4\ue296\4\ue2f5\4\ue354"+ "\4\ue3b3\4\ue412\4\ue471\4\ue4d0\4\ue52f\4\ue58e\4\ue5ed\4\ue64c"+ "\4\ue6ab\4\ue70a\4\ue769\4\ue7c8\4\ue827\4\ue886\4\ue8e5\4\ue944"+ "\4\ue9a3\4\uea02\4\uea61\4\ueac0\4\ueb1f\4\ueb7e\4\uebdd\4\uec3c"+ "\4\uec9b\4\uecfa\4\ued59\4\uedb8\4\uee17\4\uee76\4\ueed5\4\uef34"+ "\4\uef93\4\ueff2\4\uf051\4\uf0b0\4\uf10f\4\uf16e\4\uf1cd\4\uf22c"+ "\4\uf28b\4\uf2ea\4\uf349\4\uf3a8\4\uf407\4\uf466\4\uf4c5\4\ub8a7"+ "\4\uf524\4\uf583\4\uf5e2\4\uf641\4\uf6a0\4\uf6ff\4\uf75e\4\uf7bd"+ "\4\uf81c\4\uf87b\4\uf8da\4\uf939\4\uf998\4\uf9f7\4\ufa56\4\ufab5"+ "\4\ufb14\4\ufb73\4\ufbd2\4\ufc31\4\ufc90\4\ufcef\4\ufd4e\4\ufdad"+ "\4\ufe0c\4\ufe6b\4\ufeca\4\uff29\4\uff88\4\uffe7\5\106\5\245"+ "\5\u0104\5\u0163\5\u01c2\5\u0221\5\u0280\5\u02df\5\u033e\5\u039d"+ "\5\u03fc\5\u045b\5\u04ba\5\u0519\5\u0578\5\u05d7\5\u0636\5\u0695"+ "\5\u06f4\5\u0753\5\u07b2\5\u0811\5\u0870\5\u08cf\5\u092e\5\u098d"+ "\5\u09ec\5\u0a4b\5\u0aaa\5\u0b09\5\u0b68\5\u0bc7\5\u0c26\5\u0c85"+ "\5\u0ce4\5\u0d43\5\u0da2\5\u0e01\5\u0e60\5\u0ebf\5\u0f1e\5\u0f7d"+ "\5\u0fdc\5\u103b\5\u109a\5\u10f9\5\u1158\5\u11b7\5\u1216\5\u1275"+ "\5\u12d4\5\u1333\5\u1392\5\u13f1\5\u1450\5\u14af\5\u150e\5\u156d"+ "\5\u15cc\5\u162b\5\u168a\5\u16e9\5\u1748\5\u17a7\5\u1806\5\u1865"+ "\5\u18c4\5\u1923\5\u1982\5\u19e1\5\u1a40\5\u1a9f\5\u1afe\5\u1b5d"+ "\5\u1bbc\5\u1c1b\5\u1c7a\5\u1cd9\5\u1d38\5\u1d97\5\u1df6\5\u1e55"+ "\5\u1eb4\5\u1f13\5\u1f72\5\u1fd1\5\u2030\5\u208f\5\u20ee\5\u214d"+ "\5\u21ac\5\u220b\5\u226a\1\u8d71\5\u22c9\5\u2328\5\u2387\5\u23e6"+ "\5\u2445\5\u24a4\5\u2503\5\u2562\5\u25c1\5\u2620\5\u267f\5\u26de"+ "\5\u273d\5\u279c\5\u27fb\5\u285a\5\u28b9\5\u2918\5\u2977\5\u29d6"+ "\5\u2a35\5\u2a94\5\u2af3\5\u2b52\5\u2bb1\5\u2c10\5\u2c6f\5\u2cce"+ "\5\u2d2d\5\u2d8c\5\u2deb\5\u2e4a\5\u2ea9\5\u2f08\5\u2f67\5\u2fc6"+ "\5\u3025\5\u3084\5\u30e3\5\u3142\5\u31a1\5\u3200\5\u325f\5\u32be"+ "\5\u331d\5\u337c\5\u33db\5\u343a\5\u3499\5\u34f8\5\u3557\5\u35b6"+ "\5\u3615\5\u3674\5\u36d3\5\u3732\5\u3791\5\u37f0\5\u384f\5\u38ae"+ "\5\u390d\5\u396c\5\u39cb\5\u3a2a\5\u3a89\5\u3ae8\5\u3b47\5\u3ba6"+ "\5\u3c05\5\u3c64\5\u3cc3\5\u3d22\1\uec12\5\u3d81\5\u3de0\5\u3e3f"+ "\5\u3e9e\5\u3efd\5\u3f5c\5\u3fbb\5\u401a\5\u4079\5\u40d8\5\u4137"+ "\5\u4196\5\u41f5\5\u4254\5\u42b3\5\u4312\5\u4371\5\u43d0\5\u442f"+ "\5\u448e\5\u44ed\5\u454c\5\u45ab\5\u460a\5\u4669\5\u46c8\5\u4727"+ "\5\u4786\5\u47e5\5\u4844\5\u48a3\5\u4902\5\u4961\5\u49c0\5\u4a1f"+ "\5\u4a7e\5\u4add\5\u4b3c\5\u4b9b\5\u4bfa\5\u4c59\5\u4cb8\5\u4d17"+ "\5\u4d76\5\u4dd5\5\u4e34\5\u4e93\5\u4ef2\5\u4f51\5\u4fb0\5\u500f"+ "\5\u506e\5\u50cd\5\u512c\5\u518b\5\u51ea\5\u5249\5\u52a8\5\u5307"+ "\5\u5366\5\u53c5\5\u5424\5\u5483\5\u54e2\5\u5541\5\u55a0\5\u55ff"+ "\5\u565e\5\u56bd\5\u571c\5\u577b\5\u57da\5\u5839\5\u5898\5\u58f7"+ "\5\u5956\5\u59b5\5\u5a14\5\u5a73\5\u5ad2\5\u5b31\5\u5b90\5\u5bef"+ "\5\u5c4e\5\u5cad\5\u5d0c\5\u5d6b\5\u5dca\5\u5e29\5\u5e88\5\u5ee7"+ "\5\u5f46\5\u5fa5\5\u6004\5\u6063\5\u60c2\5\u6121\5\u6180\5\u61df"+ "\5\u623e\5\u629d\5\u62fc\5\u635b\5\u63ba\5\u6419\5\u6478\5\u64d7"+ "\5\u6536\5\u6595\5\u65f4\5\u6653\5\u66b2\5\u6711\5\u6770\5\u67cf"+ "\5\u682e\5\u688d\5\u68ec\5\u694b\5\u69aa\5\u6a09\5\u6a68\5\u6ac7"+ "\5\u6b26\5\u6b85\5\u6be4\5\u6c43\5\u6ca2\5\u6d01\5\u6d60\5\u6dbf"+ "\5\u6e1e\5\u6e7d\5\u6edc\5\u6f3b\5\u6f9a\5\u6ff9\5\u7058\5\u70b7"+ "\5\u7116\5\u7175\5\u71d4\5\u7233\5\u7292\5\u72f1\5\u7350\5\u73af"+ "\5\u740e\5\u746d\5\u74cc\5\u752b\5\u758a\5\u75e9\5\u7648\5\u76a7"+ "\5\u7706\5\u7765\5\u77c4\5\u7823\5\u7882\5\u78e1\5\u7940\5\u799f"+ "\5\u79fe\5\u7a5d\5\u7abc\5\u7b1b\5\u7b7a\5\u7bd9\5\u7c38\5\u7c97"+ "\5\u7cf6\5\u7d55\5\u7db4\5\u7e13\5\u7e72\5\u7ed1\5\u7f30\5\u7f8f"+ "\5\u7fee\5\u804d\5\u80ac\5\u810b\5\u816a\5\u81c9\5\u8228\5\u8287"+ "\5\u82e6\5\u8345\5\u83a4\5\u8403\5\u8462\5\u84c1\5\u8520\5\u857f"+ "\5\u85de\5\u863d\5\u869c\5\u86fb\5\u875a\5\u87b9\5\u8818\5\u8877"+ "\5\u88d6\5\u8935\5\u8994\5\u89f3\5\u8a52\5\u8ab1\5\u8b10\5\u8b6f"+ "\5\u8bce\5\u8c2d\5\u8c8c\5\u8ceb\5\u8d4a\5\u8da9\5\u8e08\5\u8e67"+ "\5\u8ec6\5\u8f25\5\u8f84\5\u8fe3\5\u9042\5\u90a1\5\u9100\5\u915f"+ "\5\u91be\5\u921d\5\u927c\5\u92db\5\u933a\5\u9399\5\u93f8\5\u9457"+ "\5\u94b6\5\u9515\5\u9574\5\u95d3\5\u9632\5\u9691\5\u96f0\3\u82ca"+ "\5\u974f\5\u97ae\5\u980d\5\u986c\5\u98cb\5\u992a\5\u9989\5\u99e8"+ "\5\u9a47\5\u9aa6\5\u9b05\5\u9b64\5\u9bc3\5\u9c22\5\u9c81\5\u9ce0"+ "\5\u9d3f\5\u9d9e\5\u9dfd\5\u9e5c\5\u9ebb\5\u9f1a\5\u9f79\5\u9fd8"+ "\5\ua037\5\ua096\5\ua0f5\5\ua154\5\ua1b3\5\ua212\5\ua271\5\ua2d0"+ "\5\ua32f\5\ua38e\5\ua3ed\5\ua44c\5\ua4ab\5\ua50a\5\ua569\5\ua5c8"+ "\5\ua627\5\ua686\5\ua6e5\5\ua744\5\ua7a3\5\ua802\5\ua861\5\ua8c0"+ "\5\ua91f\5\ua97e\5\ua9dd\5\uaa3c\5\uaa9b\5\uaafa\5\uab59\5\uabb8"+ "\5\uac17\5\uac76\5\uacd5\5\uad34\5\uad93\5\uadf2\5\uae51\5\uaeb0"+ "\5\uaf0f\5\uaf6e\5\uafcd\5\ub02c\5\ub08b\5\ub0ea\5\ub149\5\ub1a8"+ "\5\ub207\5\ub266\5\ub2c5\5\ub324\5\ub383\5\ub3e2\5\ub441\5\ub4a0"+ "\5\ub4ff\5\ub55e\5\ub5bd\5\ub61c\5\ub67b\5\ub6da\5\ub739\5\ub798"+ "\5\ub7f7\5\ub856\5\ub8b5\5\ub914\5\ub973\5\ub9d2\5\uba31\5\uba90"+ "\5\ubaef\5\ubb4e\5\ubbad\5\ubc0c\5\ubc6b\5\ubcca\5\ubd29\5\ubd88"+ "\5\ubde7\5\ube46\5\ubea5\5\ubf04\5\ubf63\5\ubfc2\5\uc021\5\uc080"+ "\5\uc0df\5\uc13e\5\uc19d\5\uc1fc\5\uc25b\5\uc2ba\5\uc319\5\uc378"+ "\5\uc3d7\5\uc436\5\uc495\5\uc4f4\5\uc553\5\uc5b2\5\uc611\5\uc670"+ "\5\uc6cf\5\uc72e\5\uc78d\5\uc7ec\5\uc84b\5\uc8aa\5\uc909\5\uc968"+ "\5\uc9c7\5\uca26\5\uca85\5\ucae4\5\ucb43\5\ucba2\5\ucc01\5\ucc60"+ "\5\uccbf\5\ucd1e\5\ucd7d\5\ucddc\5\uce3b\5\uce9a\5\ucef9\5\ucf58"+ "\5\ucfb7\5\ud016\5\ud075\5\ud0d4\5\ud133\5\ud192\5\ud1f1\5\ud250"+ "\5\ud2af\5\ud30e\5\ud36d\5\ud3cc\5\ud42b\5\ud48a\5\ud4e9\5\ud548"+ "\5\ud5a7\5\ud606\5\ud665\5\ud6c4\5\ud723\5\ud782\5\ud7e1\5\ud840"+ "\5\ud89f\5\ud8fe\5\ud95d\5\ud9bc\1\u7e99\5\uda1b\5\uda7a\5\udad9"+ "\5\udb38\5\udb97\5\udbf6\5\udc55\5\udcb4\5\udd13\5\udd72\5\uddd1"+ "\5\ude30\5\ude8f\5\udeee\5\udf4d\5\udfac\5\ue00b\5\ue06a\5\ue0c9"+ "\5\ue128\5\ue187\5\ue1e6\5\ue245\5\ue2a4\5\ue303\5\ue362\5\ue3c1"+ "\5\ue420\5\ue47f\5\ue4de\5\ue53d\5\ue59c\5\ue5fb\5\ue65a\5\ue6b9"+ "\5\ue718\5\ue777\5\ue7d6\5\ue835\1\u2174\5\ue894\5\ue8f3\5\ue952"+ "\5\ue9b1\5\uea10\5\uea6f\5\ueace\5\ueb2d\5\ueb8c\5\uebeb\5\uec4a"+ "\5\ueca9\5\ued08\5\ued67\5\uedc6\5\uee25\5\uee84\5\ueee3\5\uef42"+ "\5\uefa1\5\uf000\5\uf05f\5\uf0be\5\uf11d\5\uf17c\5\uf1db\5\uf23a"+ "\5\uf299\5\uf2f8\5\uf357\5\uf3b6\5\uf415\5\uf474\5\uf4d3\5\uf532"+ "\5\uf591\5\uf5f0\5\uf64f\5\ue718\5\uf6ae\5\uf70d\5\uf76c\5\uf7cb"+ "\5\uf82a\5\uf889\5\uf8e8\5\uf947\5\uf9a6\5\ufa05\5\ufa64\5\ufac3"+ "\5\ufb22\5\ufb81\5\ufbe0\5\ufc3f\5\ufc9e\5\ufcfd\5\ufd5c\5\ufdbb"+ "\5\ufe1a\5\ufe79\5\ufed8\5\uff37\5\uff96\5\ufff5\6\124\6\263"+ "\6\u0112\6\u0171\6\u01d0\6\u022f\6\u028e\6\u02ed\6\u034c\6\u03ab"+ "\6\u040a\6\u0469\6\u04c8\6\u0527\6\u0586\6\u05e5\6\u0644\6\u06a3"+ "\6\u0702\6\u0761\6\u07c0\6\u081f\6\u087e\6\u08dd\6\u093c\6\u099b"+ "\6\u09fa\6\u0a59\6\u0ab8\6\u0b17\6\u0b76\6\u0bd5\6\u0c34\6\u0c93"+ "\6\u0cf2\6\u0d51\6\u0db0\6\u0e0f\6\u0e6e\6\u0ecd\6\u0f2c\6\u0f8b"+ "\6\u0fea\6\u1049\6\u10a8\6\u1107\6\u1166\6\u11c5\6\u1224\6\u1283"+ "\6\u12e2\4\u52f9\6\u1341\6\u13a0\6\u13ff\6\u145e\6\u14bd\6\u151c"+ "\6\u157b\6\u15da\6\u1639\6\u1698\6\u16f7\6\u1756\6\u17b5\6\u1814"+ "\6\u1873\6\u18d2\6\u1931\6\u1990\6\u19ef\6\u1a4e\6\u1aad\6\u1b0c"+ "\6\u1b6b\6\u1bca\6\u1c29\6\u1c88\6\u1ce7\6\u1d46\6\u1da5\6\u1e04"+ "\6\u1e63\6\u1ec2\6\u1f21\6\u1f80\6\u1fdf\6\u203e\6\u209d\6\u20fc"+ "\6\u215b\2\uf7a1\6\u21ba\6\u2219\6\u2278\6\u22d7\6\u2336\6\u2395"+ "\6\u23f4\6\u2453\6\u24b2\6\u2511\6\u2570\6\u25cf\6\u262e\6\u268d"+ "\6\u26ec\6\u274b\6\u27aa\6\u2809\6\u2868\6\u28c7\6\u2926\6\u2985"+ "\6\u29e4\6\u2a43\6\u2aa2\6\u2b01\6\u2b60\6\u2bbf\6\u2c1e\6\u2c7d"+ "\6\u2cdc\6\u2d3b\6\u2d9a\6\u2df9\6\u2e58\6\u2eb7\6\u2f16\6\u2f75"+ "\6\u2fd4\6\u3033\6\u3092\6\u30f1\6\u3150\6\u31af\6\u320e\6\u326d"+ "\6\u32cc\6\u332b\6\u338a\6\u33e9\6\u3448\6\u34a7\6\u3506\6\u3565"+ "\6\u35c4\6\u3623\6\u3682\6\u36e1\6\u3740\6\u379f\6\u37fe\6\u385d"+ "\6\u38bc\6\u391b\6\u397a\6\u39d9\6\u3a38\6\u3a97\6\u3af6\6\u3b55"+ "\6\u3bb4\6\u3c13\6\u3c72\6\u3cd1\6\u3d30\6\u3d8f\6\u3dee\6\u3e4d"+ "\6\u3eac\6\u3f0b\6\u3f6a\6\u3fc9\6\u4028\6\u4087\6\u40e6\6\u4145"+ "\6\u41a4\6\u4203\6\u4262\6\u42c1\6\u4320\6\u437f\6\u43de\6\u443d"+ "\6\u449c\6\u44fb\6\u455a\6\u45b9\6\u4618\6\u4677\3\ubdcb\6\u46d6"+ "\6\u4735\6\u4794\6\u47f3\6\u4852\6\u48b1\6\u4910\6\u496f\6\u49ce"+ "\6\u4a2d\6\u4a8c\6\u4aeb\6\u4b4a\6\u4ba9\6\u4c08\6\u4c67\6\u4cc6"+ "\6\u4d25\6\u4d84\6\u4de3\6\u4e42\6\u4ea1\6\u4f00\6\u4f5f\6\u4fbe"+ "\6\u501d\6\u507c\6\u50db\6\u513a\6\u5199\6\u51f8\6\u5257\6\u52b6"+ "\6\u5315\6\u5374\6\u53d3\6\u5432\6\u5491\6\u54f0\6\u554f\6\u55ae"+ "\6\u560d\6\u566c\6\u56cb\6\u572a\6\u5789\6\u57e8\6\u5847\6\u58a6"+ "\6\u5905\6\u5964\6\u59c3\6\u5a22\6\u5a81\6\u5ae0\6\u5b3f\6\u5b9e"+ "\6\u5bfd\6\u5c5c\6\u5cbb\6\u5d1a\6\u5d79\6\u5dd8\6\u5e37\6\u5e96"+ "\6\u5ef5\6\u5f54\6\u5fb3\6\u6012\6\u6071\6\u60d0\6\u612f\6\u618e"+ "\6\u61ed\6\u624c\6\u62ab\6\u630a\6\u6369\6\u63c8\6\u6427\6\u6486"+ "\6\u64e5\6\u6544\6\u65a3\6\u6602\6\u6661\6\u66c0\6\u671f\6\u677e"+ "\6\u67dd\6\u683c\6\u689b\6\u68fa\6\u6959\6\u69b8\6\u6a17\6\u6a76"+ "\6\u6ad5\6\u6b34\6\u6b93\6\u6bf2\6\u6c51\6\u6cb0\6\u6d0f\6\u6d6e"+ "\6\u6dcd\6\u6e2c\6\u6e8b\6\u6eea\6\u6f49\6\u6fa8\6\u7007\6\u7066"+ "\6\u70c5\6\u7124\6\u7183\6\u71e2\6\u7241\6\u72a0\6\u72ff\6\u735e"+ "\6\u73bd\6\u741c\6\u747b\6\u74da\6\u7539\6\u7598\6\u75f7\6\u7656"+ "\6\u76b5\6\u7714\6\u7773\6\u77d2\6\u7831\6\u7890\6\u78ef\6\u794e"+ "\6\u79ad\6\u7a0c\6\u7a6b\6\u7aca\6\u7b29\6\u7b88\6\u7be7\6\u7c46"+ "\6\u7ca5\6\u7d04\6\u7d63\6\u7dc2\6\u7e21\6\u7e80\6\u7edf\6\u7f3e"+ "\6\u7f9d\6\u7ffc\6\u805b\6\u80ba\6\u8119\6\u8178\6\u81d7\6\u8236"+ "\6\u8295\6\u82f4\6\u8353\6\u83b2\6\u8411\6\u8470\6\u84cf\6\u852e"+ "\6\u858d\6\u85ec\6\u864b\6\u86aa\6\u8709\6\u8768\6\u87c7\6\u8826"+ "\6\u8885\6\u88e4\0\u0b22\6\u8943\6\u89a2\6\u8a01\6\u8a60\6\u8abf"+ "\0\u0b22\6\u8b1e\0\u0b22\0\u0b22\6\u8b7d\6\u8bdc\6\u8c3b\6\u8c9a"+ "\6\u8cf9\6\u8d58\6\u8db7\6\u8e16\6\u8e75\6\u8ed4\6\u8f33\6\u8f92"+ "\6\u8ff1\6\u9050\6\u90af\6\u910e\6\u916d\6\u91cc\6\u922b\6\u928a"+ "\6\u92e9\6\u9348\6\u93a7\6\u9406\6\u9465\6\u94c4\6\u9523\6\u9582"+ "\6\u95e1\6\u9640\6\u969f\6\u96fe\6\u975d\6\u97bc\6\u981b\6\u987a"+ "\6\u98d9\6\u9938\6\u9997\6\u99f6\6\u9a55\6\u9ab4\6\u9b13\6\u9b72"+ "\3\ua4ee\6\u9bd1\6\u9c30\6\u9c8f\6\u9cee\6\u9d4d\6\u9dac\6\u9e0b"+ "\6\u9e6a\6\u9ec9\6\u9f28\6\u9f87\6\u9fe6\6\ua045\6\ua0a4\6\ua103"+ "\6\ua162\6\ua1c1\6\ua220\6\ua27f\6\ua2de\6\ua33d\6\ua39c\6\ua3fb"+ "\6\ua45a\6\ua4b9\6\ua518\2\u890b\6\ua577\3\uf2dc\6\ua5d6\6\ua635"+ "\6\ua694\6\ua6f3\6\ua752\6\ua7b1\6\ua810\6\ua86f\6\ua8ce\6\ua92d"+ "\6\ua98c\6\ua9eb\6\uaa4a\6\uaaa9\6\uab08\6\uab67\6\uabc6\6\uac25"+ "\6\uac84\6\uace3\6\uad42\6\uada1\6\uae00\6\uae5f\6\uaebe\6\uaf1d"+ "\6\uaf7c\6\uafdb\6\ub03a\6\ub099\6\ub0f8\6\ub157\6\ub1b6\6\ub215"+ "\6\ub274\6\ub2d3\6\ub332\6\ub391\6\ub3f0\6\ub44f\6\ub4ae\6\ub50d"+ "\6\ub56c\1\uc638\6\ub5cb\6\ub62a\6\ub689\6\ub6e8\6\ub747\6\ub7a6"+ "\6\ub805\6\ub864\6\ub8c3\6\ub922\6\ub981\6\ub9e0\6\uba3f\6\uba9e"+ "\4\u8c7e\6\ubafd\6\ubb5c\6\ubbbb\6\ubc1a\6\ubc79\6\ubcd8\6\ubd37"+ "\6\ubd96\6\ubdf5\6\ube54\6\ubeb3\6\ubf12\6\ubf71\6\ubfd0\6\uc02f"+ "\6\uc08e\6\uc0ed\6\uc14c\6\uc1ab\6\uc20a\6\uc269\6\uc2c8\6\uc327"+ "\6\uc386\6\uc3e5\6\uc444\6\uc4a3\6\uc502\6\uc561\6\uc5c0\6\uc61f"+ "\6\uc67e\6\uc6dd\6\uc73c\6\uc79b\6\uc7fa\6\uc859\6\uc8b8\6\uc917"+ "\6\uc976\6\uc9d5\6\uca34\6\uca93\6\ucaf2\6\ucb51\6\ucbb0\6\ucc0f"+ "\6\ucc6e\6\ucccd\6\ucd2c\6\ucd8b\6\ucdea\6\uce49\6\ucea8\6\ucf07"+ "\6\ucf66\6\ucfc5\6\ud024\6\ud083\6\ud0e2\6\ud141\6\ud1a0\6\ud1ff"+ "\6\ud25e\6\ud2bd\6\ud31c\6\ud37b\6\ud3da\6\ud439\6\ud498\6\ud4f7"+ "\6\ud556\6\ud5b5\6\ud614\6\ud673\6\ud6d2\6\ud731\6\ud790\6\ud7ef"+ "\6\ud84e\6\ud8ad\6\ud90c\6\ud96b\6\ud9ca\6\uda29\6\uda88\6\udae7"+ "\6\udb46\6\udba5\6\udc04\6\udc63\6\udcc2\6\udd21\6\udd80\6\udddf"+ "\6\ude3e\6\ude9d\6\udefc\6\udf5b\6\udfba\6\ue019\6\ue078\6\ue0d7"+ "\6\ue136\6\ue195\6\ue1f4\6\ue253\6\ue2b2\6\ue311\6\ue370\6\ue3cf"+ "\6\ue42e\6\ue48d\6\ue4ec\6\ue54b\6\ue5aa\6\ue609\6\ue668\6\ue6c7"+ "\6\ue726\6\ue785\6\ue7e4\6\ue843\6\ue8a2\6\ue901\6\ue960\6\ue9bf"+ "\6\uea1e\6\uea7d\6\ueadc\6\ueb3b\6\ueb9a\6\uebf9\6\uec58\6\uecb7"+ "\6\ued16\6\ued75\6\uedd4\6\uee33\6\uee92\6\ueef1\6\uef50\6\uefaf"+ "\6\uf00e\6\uf06d\6\uf0cc\6\uf12b\6\uf18a\6\uf1e9\6\uf248\5\u980d"+ "\6\uf2a7\6\uf306\6\uf365\6\uf3c4\6\uf423\6\uf482\6\uf4e1\6\uf540"+ "\6\uf59f\6\uf5fe\6\uf65d\6\uf6bc\6\uf71b\6\uf77a\6\uf7d9\6\uf838"+ "\6\uf897\6\uf8f6\6\uf955\6\uf9b4\6\ufa13\6\ufa72\1\u7d1d\6\ufad1"+ "\6\ufb30\6\ufb8f\6\ufbee\6\ufc4d\6\ufcac\6\ufd0b\6\ufd6a\6\ufdc9"+ "\6\ufe28\6\ufe87\6\ufee6\6\uff45\6\uffa4\7\3\7\142\7\301"+ "\7\u0120\7\u017f\7\u01de\7\u023d\7\u029c\7\u02fb\7\u035a\7\u03b9"+ "\7\u0418\7\u0477\7\u04d6\7\u0535\7\u0594\7\u05f3\7\u0652\7\u06b1"+ "\7\u0710\7\u076f\7\u07ce\7\u082d\7\u088c\7\u08eb\7\u094a\7\u09a9"+ "\7\u0a08\7\u0a67\7\u0ac6\7\u0b25\7\u0b84\7\u0be3\7\u0c42\7\u0ca1"+ "\7\u0d00\7\u0d5f\7\u0dbe\7\u0e1d\7\u0e7c\7\u0edb\7\u0f3a\7\u0f99"+ "\7\u0ff8\7\u1057\3\ube2a\7\u10b6\7\u1115\7\u1174\7\u11d3\7\u1232"+ "\7\u1291\7\u12f0\7\u134f\7\u13ae\7\u140d\7\u146c\7\u14cb\7\u152a"+ "\7\u1589\7\u15e8\7\u1647\7\u16a6\7\u1705\7\u1764\7\u17c3\7\u1822"+ "\7\u1881\7\u18e0\7\u193f\7\u199e\1\ud8c6\7\u19fd\7\u1a5c\7\u1abb"+ "\7\u1b1a\7\u1b79\7\u1bd8\7\u1c37\7\u1c96\7\u1cf5\7\u1d54\7\u1db3"+ "\7\u1e12\7\u1e71\7\u1ed0\7\u1f2f\7\u1f8e\7\u1fed\7\u204c\7\u20ab"+ "\7\u210a\7\u2169\7\u21c8\7\u2227\7\u2286\7\u22e5\7\u2344\7\u23a3"+ "\7\u2402\7\u2461\7\u24c0\7\u251f\7\u257e\7\u25dd\7\u263c\7\u269b"+ "\7\u26fa\7\u2759\7\u27b8\7\u2817\7\u2876\7\u28d5\7\u2934\7\u2993"+ "\7\u29f2\7\u2a51\7\u2ab0\7\u2b0f\7\u2b6e\7\u2bcd\7\u2c2c\7\u2c8b"+ "\7\u2cea\7\u2d49\7\u2da8\7\u2e07\7\u2e66\7\u2ec5\7\u2f24\7\u2f83"+ "\7\u2fe2\7\u3041\7\u30a0\7\u30ff\7\u315e\7\u31bd\7\u321c\7\u327b"+ "\7\u32da\7\u3339\7\u3398\7\u33f7\7\u3456\7\u34b5\7\u3514\7\u3573"+ "\7\u35d2\7\u3631\7\u3690\7\u36ef\7\u374e\7\u37ad\7\u380c\7\u386b"+ "\7\u38ca\7\u3929\7\u3988\7\u39e7\7\u3a46\7\u3aa5\7\u3b04\7\u3b63"+ "\7\u3bc2\7\u3c21\7\u3c80\7\u3cdf\7\u3d3e\7\u3d9d\7\u3dfc\7\u3e5b"+ "\7\u3eba\7\u3f19\7\u3f78\7\u3fd7\7\u4036\7\u4095\7\u40f4\7\u4153"+ "\7\u41b2\7\u4211\7\u4270\7\u42cf\7\u432e\7\u438d\7\u43ec\7\u444b"+ "\7\u44aa\7\u4509\7\u4568\7\u45c7\7\u4626\7\u4685\7\u46e4\7\u4743"+ "\7\u47a2\7\u4801\7\u4860\7\u48bf\7\u491e\7\u497d\7\u49dc\7\u4a3b"+ "\7\u4a9a\7\u4af9\7\u4b58\7\u4bb7\7\u4c16\7\u4c75\7\u4cd4\7\u4d33"+ "\7\u4d92\7\u4df1\7\u4e50\7\u4eaf\7\u4f0e\7\u4f6d\7\u4fcc\7\u502b"+ "\7\u508a\7\u50e9\7\u5148\7\u51a7\7\u5206\7\u5265\7\u52c4\7\u5323"+ "\7\u5382\7\u53e1\7\u5440\7\u549f\7\u54fe\7\u555d\7\u55bc\7\u561b"+ "\7\u567a\7\u56d9\7\u5738\5\uf0be\7\u5797\7\u57f6\7\u5855\7\u58b4"+ "\7\u5913\7\u5972\7\u59d1\7\u5a30\7\u5a8f\7\u5aee\7\u5b4d\7\u5bac"+ "\7\u5c0b\7\u5c6a\7\u5cc9\7\u5d28\7\u5d87\7\u5de6\7\u5e45\7\u5ea4"+ "\7\u5f03\7\u5f62\7\u5fc1\7\u6020\7\u607f\7\u60de\7\u613d\7\u619c"+ "\7\u61fb\7\u625a\7\u62b9\7\u6318\7\u6377\7\u63d6\7\u6435\7\u6494"+ "\7\u64f3\7\u6552\7\u65b1\7\u6610\7\u666f\7\u66ce\7\u672d\7\u678c"+ "\7\u67eb\7\u684a\7\u68a9\7\u6908\7\u6967\7\u69c6\7\u6a25\7\u6a84"+ "\7\u6ae3\7\u6b42\7\u6ba1\7\u6c00\7\u6c5f\7\u6cbe\7\u6d1d\7\u6d7c"+ "\7\u6ddb\7\u6e3a\7\u6e99\7\u6ef8\7\u6f57\7\u6fb6\7\u7015\7\u7074"+ "\7\u70d3\7\u7132\7\u7191\7\u71f0\7\u724f\7\u72ae\7\u730d\7\u736c"+ "\7\u73cb\7\u742a\7\u7489\7\u74e8\7\u7547\7\u75a6\7\u7605\7\u7664"+ "\7\u76c3\7\u7722\7\u7781\7\u77e0\7\u783f\7\u789e\7\u78fd\7\u795c"+ "\7\u79bb\7\u7a1a\7\u7a79\7\u7ad8\7\u7b37\7\u7b96\7\u7bf5\7\u7c54"+ "\7\u7cb3\7\u7d12\7\u7d71\7\u7dd0\7\u7e2f\7\u7e8e\7\u7eed\7\u7f4c"+ "\7\u7fab\7\u800a\7\u8069\7\u80c8\7\u8127\7\u8186\7\u81e5\7\u8244"+ "\7\u82a3\7\u8302\7\u8361\7\u83c0\7\u841f\7\u847e\7\u84dd\7\u853c"+ "\7\u859b\7\u85fa\7\u8659\7\u86b8\7\u8717\7\u8776\7\u87d5\7\u8834"+ "\7\u8893\7\u88f2\7\u8951\7\u89b0\7\u8a0f\7\u8a6e\7\u8acd\7\u8b2c"+ "\7\u8b8b\7\u8bea\7\u8c49\7\u8ca8\7\u8d07\7\u8d66\7\u8dc5\7\u8e24"+ "\7\u8e83\7\u8ee2\7\u8f41\7\u8fa0\7\u8fff\7\u905e\7\u90bd\7\u911c"+ "\7\u917b\7\u91da\7\u9239\7\u9298\7\u92f7\7\u9356\7\u93b5\7\u9414"+ "\7\u9473\7\u94d2\7\u9531\7\u9590\7\u95ef\7\u964e\7\u96ad\7\u970c"+ "\7\u976b\7\u97ca\7\u9829\7\u9888\7\u98e7\7\u9946\7\u99a5\7\u9a04"+ "\7\u9a63\7\u9ac2\7\u9b21\7\u9b80\7\u9bdf\7\u9c3e\7\u9c9d\7\u9cfc"+ "\7\u9d5b\7\u9dba\7\u9e19\7\u9e78\7\u9ed7\7\u9f36\7\u9f95\7\u9ff4"+ "\7\ua053\7\ua0b2\7\ua111\7\ua170\7\ua1cf\7\ua22e\7\ua28d\7\ua2ec"+ "\7\ua34b\7\ua3aa\7\ua409\7\ua468\7\ua4c7\7\ua526\7\ua585\7\ua5e4"+ "\7\ua643\7\ua6a2\7\ua701\7\ua760\7\ua7bf\7\ua81e\7\ua87d\7\ua8dc"+ "\7\ua93b\7\ua99a\7\ua9f9\7\uaa58\7\uaab7\7\uab16\7\uab75\7\uabd4"+ "\7\uac33\7\uac92\7\uacf1\7\uad50\7\uadaf\7\uae0e\7\uae6d\7\uaecc"+ "\7\uaf2b\7\uaf8a\7\uafe9\7\ub048\7\ub0a7\7\ub106\7\ub165\7\ub1c4"+ "\7\ub223\7\ub282\7\ub2e1\7\ub340\7\ub39f\7\ub3fe\7\ub45d\7\ub4bc"+ "\7\ub51b\7\ub57a\4\ub1f9\7\ub5d9\7\ub638\7\ub697\7\ub6f6\7\ub755"+ "\7\ub7b4\7\ub813\7\ub872\7\ub8d1\7\ub930\7\ub98f\7\ub9ee\7\uba4d"+ "\3\u4297\7\ubaac\7\ubb0b\7\ubb6a\7\ubbc9\7\ubc28\7\ubc87\7\ubce6"+ "\7\ubd45\7\ubda4\7\ube03\7\ube62\7\ubec1\7\ubf20\7\ubf7f\7\ubfde"+ "\7\uc03d\7\uc09c\7\uc0fb\7\uc15a\7\uc1b9\7\uc218\7\uc277\7\uc2d6"+ "\7\uc335\7\uc394\7\uc3f3\7\uc452\7\uc4b1\7\uc510\7\uc56f\7\uc5ce"+ "\7\uc62d\7\uc68c\7\uc6eb\7\uc74a\7\uc7a9\7\uc808\7\uc867\7\uc8c6"+ "\7\uc925\7\uc984\7\uc9e3\7\uca42\7\ucaa1\7\ucb00\7\ucb5f\7\ucbbe"+ "\7\ucc1d\7\ucc7c\7\uccdb\7\ucd3a\7\ucd99\7\ucdf8\7\uce57\7\uceb6"+ "\7\ucf15\7\ucf74\7\ucfd3\3\u21ef\7\ud032\7\ud091\7\ud0f0\7\ud14f"+ "\7\ud1ae\7\ud20d\7\ud26c\7\ud2cb\7\ud32a\7\ud389\7\ud3e8\7\ud447"+ "\7\ud4a6\7\ud505\7\ud564\7\ud5c3\7\ud622\7\ud681\7\ud6e0\7\ud73f"+ "\7\ud79e\7\ud7fd\7\ud85c\7\ud8bb\7\ud91a\7\ud979\7\ud9d8\7\uda37"+ "\7\uda96\7\udaf5\7\udb54\7\udbb3\7\udc12\7\udc71\7\udcd0\7\udd2f"+ "\7\udd8e\7\udded\7\ude4c\7\udeab\7\udf0a\7\udf69\7\udfc8\7\ue027"+ "\7\ue086\7\ue0e5\7\ue144\7\ue1a3\7\ue202\7\ue261\7\ue2c0\7\ue31f"+ "\7\ue37e\7\ue3dd\7\ue43c\7\ue49b\7\ue4fa\7\ue559\7\ue5b8\7\ue617"+ "\7\ue676\7\ue6d5\7\ue734\7\ue793\7\ue7f2\7\ue851\4\u3134\7\ue8b0"+ "\7\ue90f\7\ue96e\7\ue9cd\7\uea2c\7\uea8b\7\ueaea\7\ueb49\7\ueba8"+ "\7\uec07\7\uec66\7\uecc5\7\ued24\7\ued83\7\uede2\7\uee41\7\ueea0"+ "\7\ueeff\7\uef5e\7\uefbd\7\uf01c\7\uf07b\7\uf0da\7\uf139\7\uf198"+ "\7\uf1f7\3\ucedd\7\uf256\7\uf2b5\7\uf314\7\uf373\7\uf3d2\7\uf431"+ "\7\uf490\7\uf4ef\7\uf54e\7\uf5ad\7\uf60c\7\uf66b\7\uf6ca\7\uf729"+ "\7\uf788\7\uf7e7\7\uf846\7\uf8a5\7\uf904\7\uf963\7\uf9c2\7\ufa21"+ "\7\ufa80\7\ufadf\7\ufb3e\7\ufb9d\7\ufbfc\7\ufc5b\7\ufcba\7\ufd19"+ "\7\ufd78\7\ufdd7\7\ufe36\7\ufe95\7\ufef4\7\uff53\7\uffb2\10\21"+ "\10\160\10\317\10\u012e\10\u018d\10\u01ec\10\u024b\10\u02aa\10\u0309"+ "\10\u0368\10\u03c7\10\u0426\10\u0485\10\u04e4\10\u0543\10\u05a2\10\u0601"+ "\10\u0660\10\u06bf\10\u071e\10\u077d\10\u07dc\10\u083b\10\u089a\10\u08f9"+ "\10\u0958\10\u09b7\10\u0a16\10\u0a75\10\u0ad4\10\u0b33\10\u0b92\10\u0bf1"+ "\10\u0c50\10\u0caf\10\u0d0e\10\u0d6d\10\u0dcc\10\u0e2b\10\u0e8a\10\u0ee9"+ "\10\u0f48\10\u0fa7\10\u1006\10\u1065\10\u10c4\10\u1123\10\u1182\10\u11e1"+ "\10\u1240\10\u129f\10\u12fe\10\u135d\10\u13bc\10\u141b\10\u147a\10\u14d9"+ "\10\u1538\10\u1597\10\u15f6\10\u1655\10\u16b4\10\u1713\10\u1772\10\u17d1"+ "\10\u1830\10\u188f\10\u18ee\10\u194d\10\u19ac\10\u1a0b\10\u1a6a\10\u1ac9"+ "\10\u1b28\10\u1b87\10\u1be6\10\u1c45\10\u1ca4\2\u4b12\10\u1d03\10\u1d62"+ "\10\u1dc1\10\u1e20\10\u1e7f\10\u1ede\10\u1f3d\10\u1f9c\10\u1ffb\10\u205a"+ "\10\u20b9\10\u2118\10\u2177\10\u21d6\10\u2235\10\u2294\10\u22f3\10\u2352"+ "\10\u23b1\10\u2410\10\u246f\10\u24ce\10\u252d\10\u258c\10\u25eb\10\u264a"+ "\10\u26a9\10\u2708\10\u2767\10\u27c6\10\u2825\10\u2884\10\u28e3\10\u2942"+ "\10\u29a1\10\u2a00\10\u2a5f\10\u2abe\10\u2b1d\10\u2b7c\10\u2bdb\10\u2c3a"+ "\10\u2c99\10\u2cf8\10\u2d57\10\u2db6\10\u2e15\10\u2e74\10\u2ed3\10\u2f32"+ "\10\u2f91\10\u2ff0\10\u304f\10\u30ae\10\u310d\10\u316c\10\u31cb\10\u322a"+ "\10\u3289\0\u0b22\10\u32e8\10\u3347\10\u33a6\10\u3405\10\u3464\10\u34c3"+ "\10\u3522\10\u3581\10\u35e0\10\u363f\10\u369e\10\u36fd\10\u375c\10\u37bb"+ "\10\u381a\10\u3879\10\u38d8\10\u3937\10\u3996\10\u39f5\10\u3a54\10\u3ab3"+ "\10\u3b12\10\u3b71\10\u3bd0\10\u3c2f\10\u3c8e\10\u3ced\10\u3d4c\10\u3dab"+ "\10\u3e0a\10\u3e69\10\u3ec8\10\u3f27\10\u3f86\6\ua27f\10\u3fe5\10\u4044"+ "\10\u40a3\10\u4102\10\u4161\10\u41c0\10\u421f\10\u427e\10\u42dd\10\u433c"+ "\10\u439b\10\u43fa\10\u4459\10\u44b8\10\u4517\10\u4576\10\u45d5\10\u4634"+ "\10\u4693\10\u46f2\10\u4751\10\u47b0\10\u480f\10\u486e\10\u48cd\10\u492c"+ "\10\u498b\10\u49ea\10\u4a49\10\u4aa8\10\u4b07\10\u4b66\10\u4bc5\10\u4c24"+ "\10\u4c83\10\u4ce2\10\u4d41\10\u4da0\10\u4dff\10\u4e5e\10\u4ebd\10\u4f1c"+ "\10\u4f7b\10\u4fda\10\u5039\10\u5098\10\u50f7\10\u5156\10\u51b5\10\u5214"+ "\10\u5273\10\u52d2\10\u5331\10\u5390\10\u53ef\10\u544e\10\u54ad\10\u550c"+ "\10\u556b\10\u55ca\10\u5629\10\u5688\10\u56e7\10\u5746\10\u57a5\10\u5804"+ "\10\u5863\10\u58c2\10\u5921\10\u5980\10\u59df\10\u5a3e\10\u5a9d\10\u5afc"+ "\10\u5b5b\10\u5bba\10\u5c19\10\u5c78\10\u5cd7\10\u5d36\10\u5d95\10\u5df4"+ "\10\u5e53\10\u5eb2\10\u5f11\10\u5f70\10\u5fcf\10\u602e\10\u608d\10\u60ec"+ "\10\u614b\10\u61aa\10\u6209\10\u6268\10\u62c7\10\u6326\10\u6385\10\u63e4"+ "\10\u6443\10\u64a2\10\u6501\10\u6560\10\u65bf\10\u661e\10\u667d\10\u66dc"+ "\10\u673b\10\u679a\10\u67f9\10\u6858\10\u68b7\10\u6916\10\u6975\10\u69d4"+ "\10\u6a33\10\u6a92\10\u6af1\10\u6b50\6\u2f75\10\u6baf\10\u6c0e\10\u6c6d"+ "\10\u6ccc\10\u6d2b\10\u6d8a\10\u6de9\10\u6e48\10\u6ea7\10\u6f06\10\u6f65"+ "\10\u6fc4\10\u7023\10\u7082\10\u70e1\10\u7140\10\u719f\10\u71fe\10\u725d"+ "\10\u72bc\10\u731b\10\u737a\10\u73d9\10\u7438\10\u7497\10\u74f6\10\u7555"+ "\10\u75b4\10\u7613\10\u7672\10\u76d1\10\u7730\10\u778f\10\u77ee\10\u784d"+ "\10\u78ac\10\u790b\10\u796a\10\u79c9\10\u7a28\10\u7a87\10\u7ae6\10\u7b45"+ "\10\u7ba4\10\u7c03\10\u7c62\10\u7cc1\10\u7d20\10\u7d7f\10\u7dde\10\u7e3d"+ "\10\u7e9c\10\u7efb\10\u7f5a\10\u7fb9\10\u8018\10\u8077\10\u80d6\10\u8135"+ "\10\u8194\10\u81f3\10\u8252\10\u82b1\10\u8310\10\u836f\10\u83ce\10\u842d"+ "\10\u848c\10\u84eb\10\u854a\10\u85a9\10\u8608\10\u8667\10\u86c6\10\u8725"+ "\10\u8784\10\u87e3\10\u8842\10\u88a1\10\u8900\10\u895f\10\u89be\10\u8a1d"+ "\10\u8a7c\10\u8adb\10\u8b3a\10\u8b99\10\u8bf8\10\u8c57\10\u8cb6\10\u8d15"+ "\10\u8d74\10\u8dd3\10\u8e32\10\u8e91\10\u8ef0\10\u8f4f\10\u8fae\10\u900d"+ "\10\u906c\10\u90cb\10\u912a\10\u9189\10\u91e8\10\u9247\10\u92a6\10\u9305"+ "\10\u9364\10\u93c3\10\u9422\10\u9481\10\u94e0\10\u953f\10\u959e\10\u95fd"+ "\10\u965c\10\u96bb\10\u971a\10\u9779\10\u97d8\10\u9837\10\u9896\10\u98f5"+ "\10\u9954\10\u99b3\10\u9a12\10\u9a71\10\u9ad0\10\u9b2f\10\u9b8e\10\u9bed"+ "\10\u9c4c\10\u9cab\10\u9d0a\10\u9d69\10\u9dc8\10\u9e27\10\u9e86\10\u9ee5"+ "\10\u9f44\10\u9fa3\10\ua002\10\ua061\10\ua0c0\10\ua11f\10\ua17e\10\ua1dd"+ "\10\ua23c\10\ua29b\10\ua2fa\10\ua359\10\ua3b8\10\ua417\10\ua476\10\ua4d5"+ "\10\ua534\10\ua593\10\ua5f2\10\ua651\10\ua6b0\10\ua70f\10\ua76e\10\ua7cd"+ "\10\ua82c\10\ua88b\10\ua8ea\10\ua949\10\ua9a8\10\uaa07\10\uaa66\10\uaac5"+ "\10\uab24\10\uab83\10\uabe2\10\uac41\10\uaca0\10\uacff\10\uad5e\10\uadbd"+ "\10\uae1c\10\uae7b\10\uaeda\10\uaf39\10\uaf98\10\uaff7\10\ub056\10\ub0b5"+ "\10\ub114\10\ub173\10\ub1d2\10\ub231\10\ub290\10\ub2ef\10\ub34e\10\ub3ad"+ "\10\ub40c\10\ub46b\10\ub4ca\10\ub529\10\ub588\10\ub5e7\10\ub646\10\ub6a5"+ "\10\ub704\10\ub763\10\ub7c2\10\ub821\10\ub880\10\ub8df\10\ub93e\10\ub99d"+ "\10\ub9fc\10\uba5b\10\ubaba\10\ubb19\10\ubb78\10\ubbd7\10\ubc36\10\ubc95"+ "\10\ubcf4\10\ubd53\10\ubdb2\10\ube11\10\ube70\10\ubecf\10\ubf2e\10\ubf8d"+ "\10\ubfec\10\uc04b\10\uc0aa\10\uc109\10\uc168\10\uc1c7\10\uc226\10\uc285"+ "\10\uc2e4\10\uc343\10\uc3a2\10\uc401\10\uc460\10\uc4bf\10\uc51e\10\uc57d"+ "\10\uc5dc\10\uc63b\10\uc69a\10\uc6f9\10\uc758\10\uc7b7\10\uc816\10\uc875"+ "\10\uc8d4\10\uc933\6\ube54\10\uc992\10\uc9f1\10\uca50\10\ucaaf\10\ucb0e"+ "\10\ucb6d\10\ucbcc\10\ucc2b\10\ucc8a\10\ucce9\10\ucd48\10\ucda7\10\uce06"+ "\10\uce65\10\ucec4\10\ucf23\10\ucf82\10\ucfe1\10\ud040\10\ud09f\10\ud0fe"+ "\10\ud15d\10\ud1bc\10\ud21b\10\ud27a\10\ud2d9\10\ud338\10\ud397\10\ud3f6"+ "\10\ud455\10\ud4b4\10\ud513\10\ud572\10\ud5d1\10\ud630\10\ud68f\10\ud6ee"+ "\10\ud74d\10\ud7ac\10\ud80b\10\ud86a\10\ud8c9\10\ud928\10\ud987\2\34"+ "\10\ud9e6\10\uda45\10\udaa4\10\udb03\10\udb62\10\udbc1\10\udc20\10\udc7f"+ "\10\udcde\10\udd3d\10\udd9c\10\uddfb\10\ude5a\10\udeb9\10\udf18\10\udf77"+ "\10\udfd6\10\ue035\10\ue094\10\ue0f3\10\ue152\10\ue1b1\10\ue210\10\ue26f"+ "\10\ue2ce\10\ue32d\10\ue38c\10\ue3eb\10\ue44a\10\ue4a9\10\ue508\10\ue567"+ "\10\ue5c6\10\ue625\10\ue684\10\ue6e3\10\ue742\10\ue7a1\10\ue800\10\ue85f"+ "\10\ue8be\10\ue91d\10\ue97c\10\ue9db\10\uea3a\10\uea99\10\ueaf8\10\ueb57"+ "\10\uebb6\10\uec15\10\uec74\10\uecd3\10\ued32\10\ued91\10\uedf0\10\uee4f"+ "\10\ueeae\10\uef0d\10\uef6c\10\uefcb\10\uf02a\10\uf089\10\uf0e8\3\u26c2"+ "\10\uf147\10\uf1a6\10\uf205\10\uf264\10\uf2c3\10\uf322\10\uf381\10\uf3e0"+ "\10\uf43f\10\uf49e\10\uf4fd\10\uf55c\10\uf5bb\10\uf61a\10\uf679\10\uf6d8"+ "\10\uf737\10\uf796\10\uf7f5\10\uf854\10\uf8b3\10\uf912\10\uf971\10\uf9d0"+ "\10\ufa2f\10\ufa8e\10\ufaed\10\ufb4c\10\ufbab\10\ufc0a\10\ufc69\10\ufcc8"+ "\10\ufd27\10\ufd86\10\ufde5\10\ufe44\10\ufea3\10\uff02\10\uff61\10\uffc0"+ "\11\37\11\176\11\335\11\u013c\11\u019b\11\u01fa\11\u0259\11\u02b8"+ "\11\u0317\11\u0376\11\u03d5\11\u0434\11\u0493\11\u04f2\11\u0551\11\u05b0"+ "\11\u060f\11\u066e\11\u06cd\11\u072c\11\u078b\11\u07ea\11\u0849\11\u08a8"+ "\11\u0907\11\u0966\11\u09c5\11\u0a24\11\u0a83\11\u0ae2\11\u0b41\11\u0ba0"+ "\11\u0bff\11\u0c5e\11\u0cbd\11\u0d1c\11\u0d7b\11\u0dda\11\u0e39\11\u0e98"+ "\11\u0ef7\11\u0f56\11\u0fb5\11\u1014\11\u1073\11\u10d2\11\u1131\11\u1190"+ "\11\u11ef\11\u124e\11\u12ad\11\u130c\11\u136b\11\u13ca\11\u1429\11\u1488"+ "\11\u14e7\11\u1546\11\u15a5\11\u1604\11\u1663\11\u16c2\11\u1721\11\u1780"+ "\11\u17df\11\u183e\11\u189d\11\u18fc\11\u195b\11\u19ba\11\u1a19\11\u1a78"+ "\11\u1ad7\11\u1b36\11\u1b95\11\u1bf4\11\u1c53\11\u1cb2\11\u1d11\11\u1d70"+ "\11\u1dcf\11\u1e2e\11\u1e8d\11\u1eec\11\u1f4b\11\u1faa\11\u2009\11\u2068"+ "\11\u20c7\11\u2126\11\u2185\11\u21e4\11\u2243\11\u22a2\11\u2301\11\u2360"+ "\11\u23bf\11\u241e\11\u247d\11\u24dc\11\u253b\11\u259a\11\u25f9\11\u2658"+ "\10\u89be\11\u26b7\11\u2716\11\u2775\11\u27d4\11\u2833\11\u2892\11\u28f1"+ "\11\u2950\11\u29af\11\u2a0e\11\u2a6d\11\u2acc\11\u2b2b\11\u2b8a\11\u2be9"+ "\11\u2c48\11\u2ca7\11\u2d06\11\u2d65\11\u2dc4\11\u2e23\11\u2e82\11\u2ee1"+ "\11\u2f40\11\u2f9f\11\u2ffe\11\u305d\11\u30bc\11\u311b\11\u317a\11\u31d9"+ "\11\u3238\11\u3297\11\u32f6\11\u3355\11\u33b4\11\u3413\11\u3472\11\u34d1"+ "\11\u3530\11\u358f\11\u35ee\11\u364d\11\u36ac\11\u370b\11\u376a\11\u37c9"+ "\11\u3828\11\u3887\11\u38e6\11\u3945\11\u39a4\11\u3a03\11\u3a62\11\u3ac1"+ "\11\u3b20\11\u3b7f\11\u3bde\11\u3c3d\11\u3c9c\11\u3cfb\11\u3d5a\11\u3db9"+ "\11\u3e18\11\u3e77\11\u3ed6\11\u3f35\11\u3f94\11\u3ff3\11\u4052\11\u40b1"+ "\11\u4110\11\u416f\11\u41ce\11\u422d\11\u428c\11\u42eb\11\u434a\11\u43a9"+ "\11\u4408\11\u4467\11\u44c6\11\u4525\11\u4584\11\u45e3\11\u4642\11\u46a1"+ "\11\u4700\11\u475f\11\u47be\11\u481d\11\u487c\11\u48db\11\u493a\11\u4999"+ "\11\u49f8\11\u4a57\11\u4ab6\11\u4b15\11\u4b74\11\u4bd3\11\u4c32\11\u4c91"+ "\11\u4cf0\11\u4d4f\11\u4dae\11\u4e0d\11\u4e6c\11\u4ecb\11\u4f2a\11\u4f89"+ "\11\u4fe8\11\u5047\11\u50a6\11\u5105\11\u5164\11\u51c3\11\u5222\11\u5281"+ "\3\ucf3c\11\u52e0\11\u533f\11\u539e\11\u53fd\11\u545c\11\u54bb\11\u551a"+ "\11\u5579\11\u55d8\11\u5637\11\u5696\11\u56f5\11\u5754\11\u57b3\11\u5812"+ "\11\u5871\11\u58d0\11\u592f\11\u598e\11\u59ed\11\u5a4c\11\u5aab\11\u5b0a"+ "\11\u5b69\11\u5bc8\11\u5c27\11\u5c86\11\u5ce5\11\u5d44\11\u5da3\11\u5e02"+ "\11\u5e61\11\u5ec0\11\u5f1f\11\u5f7e\11\u5fdd\11\u603c\11\u609b\11\u60fa"+ "\11\u6159\11\u61b8\11\u6217\11\u6276\11\u62d5\11\u6334\11\u6393\11\u63f2"+ "\11\u6451\11\u64b0\11\u650f\11\u656e\11\u65cd\11\u662c\11\u668b\11\u66ea"+ "\11\u6749\11\u67a8\11\u6807\11\u6866\11\u68c5\11\u6924\11\u6983\11\u69e2"+ "\11\u6a41\11\u6aa0\11\u6aff\11\u6b5e\11\u6bbd\11\u6c1c\11\u6c7b\11\u6cda"+ "\11\u6d39\11\u6d98\11\u6df7\11\u6e56\11\u6eb5\11\u6f14\11\u6f73\11\u6fd2"+ "\11\u7031\11\u7090\11\u70ef\11\u714e\11\u71ad\11\u720c\11\u726b\11\u72ca"+ "\11\u7329\11\u7388\11\u73e7\11\u7446\11\u74a5\11\u7504\11\u7563\11\u75c2"+ "\11\u7621\11\u7680\11\u76df\11\u773e\0\uefba\11\u779d\11\u77fc\11\u785b"+ "\11\u78ba\11\u7919\11\u7978\11\u79d7\11\u7a36\11\u7a95\11\u7af4\11\u7b53"+ "\11\u7bb2\11\u7c11\11\u7c70\11\u7ccf\11\u7d2e\11\u7d8d\11\u7dec\11\u7e4b"+ "\11\u7eaa\11\u7f09\11\u7f68\11\u7fc7\11\u8026\11\u8085\11\u80e4\11\u8143"+ "\11\u81a2\11\u8201\11\u8260\11\u82bf\11\u831e\11\u837d\11\u83dc\11\u843b"+ "\11\u849a\11\u84f9\11\u8558\11\u85b7\11\u8616\11\u8675\11\u86d4\11\u8733"+ "\11\u8792\11\u87f1\11\u8850\11\u88af\11\u890e\11\u896d\11\u89cc\11\u8a2b"+ "\11\u8a8a\11\u8ae9\11\u8b48\11\u8ba7\11\u8c06\11\u8c65\11\u8cc4\11\u8d23"+ "\11\u8d82\11\u8de1\11\u8e40\11\u8e9f\11\u8efe\11\u8f5d\11\u8fbc\11\u901b"+ "\11\u907a\11\u90d9\11\u9138\11\u9197\11\u91f6\11\u9255\11\u92b4\11\u9313"+ "\11\u9372\11\u93d1\11\u9430\11\u948f\11\u94ee\11\u954d\11\u95ac\11\u960b"+ "\11\u966a\11\u96c9\11\u9728\11\u9787\11\u97e6\11\u9845\11\u98a4\11\u9903"+ "\11\u9962\11\u99c1\11\u9a20\11\u9a7f\11\u9ade\11\u9b3d\11\u9b9c\11\u9bfb"+ "\11\u9c5a\11\u9cb9\11\u9d18\11\u9d77\11\u9dd6\11\u9e35\11\u9e94\11\u9ef3"+ "\4\uf524\11\u9f52\11\u9fb1\11\ua010\11\ua06f\11\ua0ce\11\ua12d\11\ua18c"+ "\11\ua1eb\11\ua24a\11\ua2a9\11\ua308\11\ua367\11\ua3c6\11\ua425\11\ua484"+ "\11\ua4e3\11\ua542\11\ua5a1\11\ua600\11\ua65f\11\ua6be\11\ua71d\11\ua77c"+ "\11\ua7db\11\ua83a\11\ua899\11\ua8f8\11\ua957\11\ua9b6\11\uaa15\11\uaa74"+ "\11\uaad3\11\uab32\11\uab91\11\uabf0\11\uac4f\11\uacae\11\uad0d\11\uad6c"+ "\11\uadcb\11\uae2a\11\uae89\11\uaee8\11\uaf47\11\uafa6\11\ub005\11\ub064"+ "\11\ub0c3\11\ub122\11\ub181\11\ub1e0\11\ub23f\11\ub29e\11\ub2fd\11\ub35c"+ "\11\ub3bb\11\ub41a\11\ub479\11\ub4d8\11\ub537\11\ub596\5\ubf63\11\ub5f5"+ "\11\ub654\11\ub6b3\11\ub712\11\ub771\11\ub7d0\11\ub82f\11\ub88e\11\ub8ed"+ "\11\ub94c\11\ub9ab\11\uba0a\11\uba69\11\ubac8\11\ubb27\11\ubb86\11\ubbe5"+ "\11\ubc44\11\ubca3\11\ubd02\11\ubd61\11\ubdc0\11\ube1f\11\ube7e\11\ubedd"+ "\11\ubf3c\11\ubf9b\11\ubffa\11\uc059\11\uc0b8\11\uc117\11\uc176\11\uc1d5"+ "\11\uc234\11\uc293\11\uc2f2\11\uc351\11\uc3b0\11\uc40f\11\uc46e\11\uc4cd"+ "\11\uc52c\11\uc58b\11\uc5ea\11\uc649\11\uc6a8\11\uc707\11\uc766\11\uc7c5"+ "\11\uc824\11\uc883\11\uc8e2\11\uc941\11\uc9a0\11\uc9ff\11\uca5e\11\ucabd"+ "\11\ucb1c\11\ucb7b\11\ucbda\11\ucc39\11\ucc98\11\uccf7\11\ucd56\11\ucdb5"+ "\11\uce14\11\uce73\11\uced2\11\ucf31\11\ucf90\11\ucfef\11\ud04e\11\ud0ad"+ "\11\ud10c\11\ud16b\11\ud1ca\11\ud229\11\ud288\11\ud2e7\11\ud346\11\ud3a5"+ "\11\ud404\11\ud463\11\ud4c2\7\ue559\11\ud521\11\ud580\11\ud5df\11\ud63e"+ "\11\ud69d\11\ud6fc\11\ud75b\11\ud7ba\11\ud819\11\ud878\11\ud8d7\11\ud936"+ "\11\ud995\11\ud9f4\11\uda53\11\udab2\11\udb11\11\udb70\11\udbcf\11\udc2e"+ "\11\udc8d\11\udcec\11\udd4b\11\uddaa\11\ude09\11\ude68\11\udec7\11\udf26"+ "\11\udf85\11\udfe4\11\ue043\11\ue0a2\11\ue101\11\ue160\11\ue1bf\11\ue21e"+ "\11\ue27d\11\ue2dc\11\ue33b\11\ue39a\11\ue3f9\11\ue458\11\ue4b7\11\ue516"+ "\11\ue575\11\ue5d4\11\ue633\11\ue692\11\ue6f1\11\ue750\11\ue7af\11\ue80e"+ "\11\ue86d\11\ue8cc\11\ue92b\11\ue98a\11\ue9e9\11\uea48\11\ueaa7\11\ueb06"+ "\11\ueb65\11\uebc4\11\uec23\11\uec82\11\uece1\11\ued40\11\ued9f\11\uedfe"+ "\11\uee5d\2\uf44a\11\ueebc\11\uef1b\11\uef7a\11\uefd9\11\uf038\11\uf097"+ "\11\uf0f6\11\uf155\11\uf1b4\11\uf213\11\uf272\11\uf2d1\11\uf330\11\uf38f"+ "\11\ua899\11\uf3ee\11\uf44d\11\uf4ac\11\uf50b\11\uf56a\11\uf5c9\11\uf628"+ "\11\uf687\11\uf6e6\11\uf745\11\uf7a4\11\uf803\11\uf862\11\uf8c1\11\uf920"+ "\11\uf97f\11\uf9de\11\ufa3d\11\ufa9c\11\ufafb\11\ufb5a\11\ufbb9\11\ufc18"+ "\11\ufc77\11\ufcd6\11\ufd35\11\ufd94\11\ufdf3\11\ufe52\11\ufeb1\11\uff10"+ "\11\uff6f\11\uffce\12\55\12\214\12\353\12\u014a\12\u01a9\12\u0208"+ "\12\u0267\12\u02c6\12\u0325\12\u0384\12\u03e3\10\u3405\12\u0442\12\u04a1"+ "\12\u0500\12\u055f\12\u05be\12\u061d\12\u067c\12\u06db\12\u073a\12\u0799"+ "\12\u07f8\12\u0857\12\u08b6\12\u0915\12\u0974\12\u09d3\12\u0a32\12\u0a91"+ "\12\u0af0\12\u0b4f\12\u0bae\12\u0c0d\12\u0c6c\12\u0ccb\12\u0d2a\12\u0d89"+ "\12\u0de8\12\u0e47\12\u0ea6\12\u0f05\12\u0f64\12\u0fc3\12\u1022\12\u1081"+ "\12\u10e0\12\u113f\12\u119e\12\u11fd\12\u125c\12\u12bb\12\u131a\12\u1379"+ "\12\u13d8\12\u1437\12\u1496\12\u14f5\12\u1554\12\u15b3\12\u1612\12\u1671"+ "\12\u16d0\12\u172f\12\u178e\12\u17ed\12\u184c\12\u18ab\12\u190a\12\u1969"+ "\12\u19c8\12\u1a27\12\u1a86\12\u1ae5\12\u1b44\12\u1ba3\12\u1c02\12\u1c61"+ "\12\u1cc0\12\u1d1f\12\u1d7e\12\u1ddd\12\u1e3c\12\u1e9b\6\u98d9\12\u1efa"+ "\12\u1f59\12\u1fb8\12\u2017\12\u2076\12\u20d5\12\u2134\12\u2193\12\u21f2"+ "\12\u2251\12\u22b0\12\u230f\12\u236e\12\u23cd\12\u242c\12\u248b\12\u24ea"+ "\12\u2549\12\u25a8\12\u2607\12\u2666\12\u26c5\12\u2724\12\u2783\12\u27e2"+ "\12\u2841\11\u82bf\12\u28a0\12\u28ff\12\u295e\12\u29bd\12\u2a1c\12\u2a7b"+ "\12\u2ada\12\u2b39\12\u2b98\12\u2bf7\12\u2c56\12\u2cb5\12\u2d14\12\u2d73"+ "\12\u2dd2\12\u2e31\12\u2e90\12\u2eef\12\u2f4e\12\u2fad\12\u300c\12\u306b"+ "\12\u30ca\12\u3129\12\u3188\12\u31e7\12\u3246\12\u32a5\12\u3304\12\u3363"+ "\12\u33c2\12\u3421\12\u3480\12\u34df\12\u353e\12\u359d\12\u35fc\12\u365b"+ "\12\u36ba\12\u3719\12\u3778\12\u37d7\12\u3836\12\u3895\12\u38f4\12\u3953"+ "\12\u39b2\12\u3a11\12\u3a70\12\u3acf\12\u3b2e\12\u3b8d\12\u3bec\10\u9837"+ "\12\u3c4b\12\u3caa\12\u3d09\12\u3d68\12\u3dc7\12\u3e26\12\u3e85\12\u3ee4"+ "\12\u3f43\12\u3fa2\12\u4001\12\u4060\12\u40bf\12\u411e\12\u417d\12\u41dc"+ "\12\u423b\12\u429a\12\u42f9\12\u4358\12\u43b7\12\u4416\12\u4475\12\u44d4"+ "\12\u4533\12\u4592\12\u45f1\12\u4650\12\u46af\12\u470e\12\u476d\12\u47cc"+ "\12\u482b\12\u488a\12\u48e9\12\u4948\12\u49a7\12\u4a06\12\u4a65\12\u4ac4"+ "\12\u4b23\12\u4b82\12\u4be1\12\u4c40\12\u4c9f\12\u4cfe\12\u4d5d\12\u4dbc"+ "\12\u4e1b\12\u4e7a\12\u4ed9\12\u4f38\12\u4f97\12\u4ff6\12\u5055\12\u50b4"+ "\12\u5113\12\u5172\12\u51d1\12\u5230\12\u528f\12\u52ee\12\u534d\12\u53ac"+ "\12\u540b\12\u546a\12\u54c9\12\u5528\12\u5587\12\u55e6\12\u5645\12\u56a4"+ "\12\u5703\12\u5762\12\u57c1\12\u5820\12\u587f\12\u58de\12\u593d\12\u599c"+ "\12\u59fb\12\u5a5a\12\u5ab9\12\u5b18\12\u5b77\12\u5bd6\12\u5c35\12\u5c94"+ "\12\u5cf3\12\u5d52\12\u5db1\12\u5e10\12\u5e6f\12\u5ece\12\u5f2d\12\u5f8c"+ "\12\u5feb\12\u604a\12\u60a9\12\u6108\12\u6167\12\u61c6\12\u6225\12\u6284"+ "\12\u62e3\12\u6342\12\u63a1\12\u6400\12\u645f\12\u64be\12\u651d\12\u657c"+ "\12\u65db\12\u663a\12\u6699\12\u66f8\12\u6757\12\u67b6\12\u6815\12\u6874"+ "\12\u68d3\12\u6932\12\u6991\12\u69f0\12\u6a4f\12\u6aae\12\u6b0d\3\u8621"+ "\12\u6b6c\12\u6bcb\12\u6c2a\12\u6c89\5\uf05f\12\u6ce8\12\u6d47\12\u6da6"+ "\12\u6e05\12\u6e64\12\u6ec3\12\u6f22\12\u6f81\12\u6fe0\12\u703f\12\u709e"+ "\12\u70fd\12\u715c\12\u71bb\12\u721a\12\u7279\12\u72d8\12\u7337\12\u7396"+ "\12\u73f5\12\u7454\12\u74b3\12\u7512\12\u7571\12\u75d0\12\u762f\12\u768e"+ "\12\u76ed\12\u774c\12\u77ab\12\u780a\12\u7869\12\u78c8\12\u7927\12\u7986"+ "\12\u79e5\12\u7a44\12\u7aa3\12\u7b02\12\u7b61\12\u7bc0\12\u7c1f\12\u7c7e"+ "\12\u7cdd\12\u7d3c\12\u7d9b\12\u7dfa\12\u7e59\12\u7eb8\12\u7f17\12\u7f76"+ "\12\u7fd5\12\u8034\12\u8093\12\u80f2\12\u8151\12\u81b0\12\u820f\12\u826e"+ "\12\u82cd\12\u832c\12\u838b\12\u83ea\12\u8449\12\u84a8\12\u8507\12\u8566"+ "\12\u85c5\12\u8624\12\u8683\12\u86e2\12\u8741\12\u87a0\12\u87ff\12\u885e"+ "\11\uabf0\12\u88bd\12\u891c\12\u897b\12\u89da\12\u8a39\12\u8a98\12\u8af7"+ "\12\u8b56\12\u8bb5\12\u8c14\12\u8c73\12\u8cd2\12\u8d31\12\u8d90\12\u8def"+ "\12\u8e4e\12\u8ead\12\u8f0c\12\u8f6b\12\u8fca\12\u9029\12\u9088\12\u90e7"+ "\12\u9146\12\u91a5\12\u9204\12\u9263\12\u92c2\12\u9321\12\u9380\12\u93df"+ "\12\u943e\12\u949d\12\u94fc\12\u955b\12\u95ba\12\u9619\12\u9678\12\u96d7"+ "\12\u9736\12\u9795\12\u97f4\12\u9853\12\u98b2\12\u9911\12\u9970\12\u99cf"+ "\12\u9a2e\12\u9a8d\12\u9aec\12\u9b4b\12\u9baa\12\u9c09\12\u9c68\12\u9cc7"+ "\12\u9d26\12\u9d85\12\u9de4\12\u9e43\12\u9ea2\12\u9f01\12\u9f60\12\u9fbf"+ "\12\ua01e\12\ua07d\12\ua0dc\12\ua13b\12\ua19a\12\ua1f9\12\ua258\12\ua2b7"+ "\12\ua316\12\ua375\12\ua3d4\12\ua433\12\ua492\12\ua4f1\12\ua550\12\ua5af"+ "\12\ua60e\12\ua66d\12\ua6cc\12\ua72b\12\ua78a\12\ua7e9\12\ua848\12\ua8a7"+ "\12\ua906\12\ua965\12\ua9c4\12\uaa23\12\uaa82\12\uaae1\12\uab40\12\uab9f"+ "\12\uabfe\12\uac5d\12\uacbc\12\uad1b\12\uad7a\12\uadd9\12\uae38\12\uae97"+ "\12\uaef6\12\uaf55\12\uafb4\12\ub013\12\ub072\12\ub0d1\12\ub130\12\ub18f"+ "\12\ub1ee\12\ub24d\12\ub2ac\12\ub30b\12\ub36a\12\ub3c9\10\u71fe\12\ub428"+ "\12\ub487\12\ub4e6\12\ub545\12\ub5a4\12\ub603\12\ub662\12\ub6c1\12\ub720"+ "\12\ub77f\6\u203e\12\ub7de\12\ub83d\12\ub89c\12\ub8fb\12\ub95a\12\ub9b9"+ "\12\uba18\12\uba77\12\ubad6\12\ubb35\12\ubb94\12\ubbf3\12\ubc52\12\ubcb1"+ "\12\ubd10\12\ubd6f\12\ubdce\12\ube2d\12\ube8c\12\ubeeb\12\ubf4a\12\ubfa9"+ "\12\uc008\12\u067c\12\uc067\12\uc0c6\12\uc125\12\uc184\12\uc1e3\12\uc242"+ "\12\uc2a1\12\uc300\12\uc35f\12\uc3be\12\uc41d\12\uc47c\12\uc4db\12\uc53a"+ "\12\uc599\12\uc5f8\12\uc657\12\uc6b6\12\uc715\12\uc774\12\uc7d3\12\uc832"+ "\12\uc891\12\uc8f0\12\uc94f\12\uc9ae\12\uca0d\12\uca6c\12\ucacb\12\ucb2a"+ "\12\ucb89\12\ucbe8\12\ucc47\12\ucca6\12\ucd05\12\ucd64\12\ucdc3\12\uce22"+ "\12\uce81\12\ucee0\12\ucf3f\12\ucf9e\12\ucffd\12\ud05c\12\ud0bb\12\ud11a"+ "\12\ud179\12\ud1d8\12\ud237\12\ud296\12\ud2f5\12\ud354\12\ud3b3\12\ud412"+ "\12\ud471\12\ud4d0\12\ud52f\12\ud58e\12\ud5ed\12\ud64c\12\ud6ab\12\ud70a"+ "\12\ud769\12\ud7c8\12\ud827\12\ud886\12\ud8e5\12\ud944\12\ud9a3\12\uda02"+ "\12\uda61\12\udac0\12\udb1f\12\udb7e\12\udbdd\12\udc3c\12\udc9b\12\udcfa"+ "\12\udd59\12\uddb8\12\ude17\12\ude76\12\uded5\12\udf34\12\udf93\12\udff2"+ "\12\ue051\12\ue0b0\12\ue10f\12\ue16e\12\ue1cd\12\ue22c\12\ue28b\12\ue2ea"+ "\12\ue349\12\ue3a8\12\ue407\12\ue466\12\ue4c5\12\ue524\12\ue583\12\ue5e2"+ "\12\ue641\12\ue6a0\12\ue6ff\12\ue75e\12\ue7bd\12\ue81c\12\ue87b\12\ue8da"+ "\12\ue939\12\ue998\12\ue9f7\12\uea56\12\ueab5\12\ueb14\12\ueb73\12\uebd2"+ "\12\uec31\12\uec90\12\uecef\12\ued4e\12\uedad\12\uee0c\12\uee6b\12\ueeca"+ "\12\uef29\12\uef88\12\uefe7\12\uf046\4\ud3be\12\uf0a5\12\uf104\12\uf163"+ "\12\uf1c2\12\uf221\12\uf280\12\uf2df\12\uf33e\12\uf39d\12\uf3fc\12\uf45b"+ "\12\uf4ba\12\uf519\12\uf578\12\uf5d7\12\uf636\12\uf695\12\uf6f4\12\uf753"+ "\12\uf7b2\12\uf811\12\uf870\12\uf8cf\12\uf92e\12\uf98d\12\uf9ec\12\ufa4b"+ "\12\ufaaa\12\ufb09\12\ufb68\12\ufbc7\12\ufc26\12\ufc85\12\ufce4\12\ufd43"+ "\12\ufda2\12\ufe01\12\ufe60\12\ufebf\12\uff1e\12\uff7d\12\uffdc\13\73"+ "\13\232\13\371\13\u0158\13\u01b7\13\u0216\13\u0275\13\u02d4\13\u0333"+ "\13\u0392\13\u03f1\13\u0450\13\u04af\13\u050e\13\u056d\13\u05cc\13\u062b"+ "\13\u068a\13\u06e9\13\u0748\13\u07a7\13\u0806\13\u0865\13\u08c4\13\u0923"+ "\13\u0982\13\u09e1\13\u0a40\13\u0a9f\13\u0afe\13\u0b5d\13\u0bbc\13\u0c1b"+ "\13\u0c7a\13\u0cd9\13\u0d38\13\u0d97\13\u0df6\13\u0e55\13\u0eb4\13\u0f13"+ "\13\u0f72\13\u0fd1\13\u1030\13\u108f\13\u10ee\13\u114d\13\u11ac\13\u120b"+ "\13\u126a\13\u12c9\13\u1328\13\u1387\13\u13e6\13\u1445\13\u14a4\13\u1503"+ "\13\u1562\13\u15c1\13\u1620\13\u167f\13\u16de\13\u173d\13\u179c\13\u17fb"+ "\13\u185a\13\u18b9\13\u1918\13\u1977\13\u19d6\13\u1a35\13\u1a94\13\u1af3"+ "\13\u1b52\13\u1bb1\13\u1c10\13\u1c6f\13\u1cce\13\u1d2d\13\u1d8c\13\u1deb"+ "\13\u1e4a\13\u1ea9\13\u1f08\13\u1f67\13\u1fc6\13\u2025\13\u2084\13\u20e3"+ "\13\u2142\13\u21a1\13\u2200\13\u225f\13\u22be\13\u231d\13\u237c\13\u23db"+ "\13\u243a\13\u2499\13\u24f8\13\u2557\13\u25b6\13\u2615\13\u2674\13\u26d3"+ "\13\u2732\13\u2791\13\u27f0\13\u284f\13\u28ae\13\u290d\13\u296c\13\u29cb"+ "\13\u2a2a\13\u2a89\13\u2ae8\13\u2b47\13\u2ba6\13\u2c05\13\u2c64\13\u2cc3"+ "\13\u2d22\13\u2d81\13\u2de0\13\u2e3f\13\u2e9e\13\u2efd\13\u2f5c\13\u2fbb"+ "\13\u301a\13\u3079\13\u30d8\13\u3137\13\u3196\13\u31f5\13\u3254\13\u32b3"+ "\13\u3312\13\u3371\13\u33d0\13\u342f\13\u348e\13\u34ed\13\u354c\13\u35ab"+ "\11\u1ad7"; private static int [] zzUnpackRowMap() { int [] result = new int[7921]; int offset = 0; offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result); return result; } private static int zzUnpackRowMap(String packed, int offset, int [] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ int l = packed.length(); while (i < l) { int high = packed.charAt(i++) << 16; result[j++] = high | packed.charAt(i++); } return j; } /** * The transition table of the DFA */ private static final int [] ZZ_TRANS = zzUnpackTrans(); private static final String ZZ_TRANS_PACKED_0 = "\1\35\1\36\1\37\1\40\1\41\1\42\131\35\2\43"+ "\1\44\26\43\1\45\30\43\1\46\4\43\1\47\17\43"+ "\1\50\27\43\2\51\1\52\14\51\1\53\117\51\1\54"+ "\1\55\1\0\1\56\1\41\2\54\1\57\1\60\6\54"+ "\1\61\26\54\1\62\37\54\1\63\30\54\2\64\1\0"+ "\1\64\1\65\2\64\2\65\1\66\1\67\1\70\1\71"+ "\1\72\1\73\1\65\1\64\1\74\1\75\3\64\1\76"+ "\3\64\1\77\6\64\1\100\4\64\1\65\6\64\1\71"+ "\1\64\1\73\1\70\1\75\1\100\1\101\1\74\1\66"+ "\1\72\1\102\1\103\1\104\1\67\1\105\1\64\1\106"+ "\1\107\1\110\1\76\5\64\1\65\1\64\1\101\1\103"+ "\1\104\1\106\1\105\1\77\1\64\1\107\1\111\1\110"+ "\1\102\4\64\1\111\7\64\3\112\1\113\3\112\1\114"+ "\127\112\3\115\1\113\102\115\1\114\30\115\1\54\1\55"+ "\1\0\1\56\1\41\2\54\1\116\1\117\6\54\1\120"+ "\26\54\1\62\37\54\1\121\30\54\3\112\1\113\3\112"+ "\1\122\127\112\3\115\1\113\102\115\1\122\30\115\1\54"+ "\1\55\1\0\1\54\1\41\2\54\1\123\1\117\6\54"+ "\1\124\26\54\1\62\37\54\1\125\30\54\7\126\1\127"+ "\127\126\106\130\1\127\30\130\1\131\1\41\1\132\1\133"+ "\1\41\1\134\1\135\1\136\1\137\3\140\1\141\2\140"+ "\1\142\4\140\1\143\1\144\1\140\1\143\1\140\1\145"+ "\1\146\1\147\2\131\1\140\1\150\2\140\1\151\1\152"+ "\1\153\1\135\4\150\3\62\1\154\1\155\1\156\1\157"+ "\1\160\1\161\1\162\1\163\1\164\1\165\2\140\1\166"+ "\1\167\1\170\3\140\1\171\1\172\1\131\2\153\1\140"+ "\1\153\1\173\1\174\2\140\1\175\10\140\1\143\2\140"+ "\1\153\1\140\3\143\1\140\3\143\2\176\1\177\32\176"+ "\1\200\50\176\1\201\30\176\2\202\1\203\4\202\1\204"+ "\25\202\1\205\101\202\2\206\1\207\1\210\33\206\1\211"+ "\22\206\1\212\4\206\1\213\17\206\1\214\27\206\2\215"+ "\1\216\1\217\56\215\1\220\4\215\1\221\17\215\1\222"+ "\27\215\1\131\1\41\1\223\1\224\1\41\1\134\1\135"+ "\1\225\1\226\6\140\1\142\4\140\1\143\1\144\1\140"+ "\1\143\1\227\1\145\1\230\1\135\1\231\1\131\1\232"+ "\1\150\2\140\1\151\1\152\1\153\1\135\4\150\1\233"+ "\2\62\1\234\1\235\1\236\1\237\1\240\1\241\1\242"+ "\1\243\1\244\1\245\1\246\1\247\1\250\1\251\1\252"+ "\1\253\1\254\1\255\1\256\1\257\1\260\2\153\1\261"+ "\1\153\1\262\1\263\13\140\1\143\1\140\1\264\1\153"+ "\1\265\3\143\1\266\3\143\2\267\1\270\34\267\1\271"+ "\22\267\1\212\4\267\1\213\17\267\1\214\27\267\2\272"+ "\1\273\4\272\1\274\25\272\1\275\1\276\100\272\2\176"+ "\1\277\32\176\1\300\50\176\1\301\30\176\1\302\1\41"+ "\1\303\1\304\1\41\1\302\1\153\1\305\1\306\6\307"+ "\1\62\4\307\2\302\1\307\1\302\3\307\1\302\1\310"+ "\1\302\1\62\3\307\1\62\1\307\1\302\1\135\2\62"+ "\3\302\1\311\1\62\24\307\1\312\2\153\1\307\1\153"+ "\1\313\14\307\1\302\2\307\1\314\1\307\3\302\1\307"+ "\3\302\1\315\1\41\1\316\1\317\1\41\3\315\1\320"+ "\6\321\1\315\4\321\2\315\1\321\1\315\3\321\4\315"+ "\1\322\2\321\2\315\1\323\6\315\1\324\1\315\24\321"+ "\3\315\1\321\2\315\14\321\1\315\2\321\1\315\1\321"+ "\3\315\1\321\3\315\1\325\1\41\1\326\1\327\1\41"+ "\1\325\1\330\1\305\1\331\6\332\1\325\4\332\2\333"+ "\1\332\1\333\1\332\1\334\1\332\1\325\1\335\1\332"+ "\2\325\2\332\1\325\1\135\1\323\1\135\3\325\1\336"+ "\3\325\24\332\1\325\1\337\1\340\1\332\1\325\1\313"+ "\14\332\1\333\2\332\1\325\1\332\3\333\1\332\3\333"+ "\2\202\1\341\4\202\1\342\25\202\1\275\101\202\2\176"+ "\1\343\32\176\1\275\50\176\1\344\30\176\2\267\1\345"+ "\34\267\1\346\22\267\1\212\4\267\1\213\17\267\1\214"+ "\27\267\2\35\4\0\132\35\1\36\2\0\1\41\1\0"+ "\131\35\147\0\1\347\1\350\5\351\1\0\10\351\2\0"+ "\1\351\5\0\2\351\7\0\1\352\1\353\2\0\10\351"+ "\1\350\13\351\3\0\1\351\2\0\17\351\1\0\10\351"+ "\1\0\1\41\2\0\1\41\132\0\4\42\1\0\1\42"+ "\1\354\130\42\2\43\1\0\26\43\1\0\30\43\1\0"+ "\4\43\1\0\17\43\1\0\27\43\31\0\1\355\162\0"+ "\1\356\1\0\1\357\136\0\1\360\166\0\1\361\27\0"+ "\2\51\1\0\14\51\1\0\117\51\2\54\1\0\1\54"+ "\1\0\2\54\2\0\6\54\1\0\26\54\1\0\37\54"+ "\1\0\31\54\1\55\1\0\1\54\1\41\2\54\2\0"+ "\6\54\1\0\26\54\1\0\37\54\1\0\32\54\1\0"+ "\1\54\1\0\2\54\2\0\6\54\1\0\26\54\1\0"+ "\3\54\1\362\33\54\1\0\30\54\17\0\1\61\117\0"+ "\2\64\1\0\1\64\1\0\2\64\2\0\6\64\1\0"+ "\26\64\1\0\37\64\1\0\32\64\1\0\1\64\1\0"+ "\2\64\2\0\1\64\1\363\2\64\1\364\1\365\1\0"+ "\2\64\1\366\7\64\1\367\13\64\1\0\10\64\1\365"+ "\1\64\1\366\1\64\1\370\2\64\1\364\1\64\1\371"+ "\1\64\1\363\2\64\1\372\10\64\1\0\1\64\1\370"+ "\1\371\1\64\1\372\1\64\1\367\23\64\1\0\1\64"+ "\1\0\2\64\2\0\3\64\1\373\2\64\1\0\2\64"+ "\1\374\23\64\1\0\6\64\1\373\3\64\1\374\1\64"+ "\1\375\4\64\1\376\15\64\1\0\1\64\1\375\1\376"+ "\27\64\1\0\1\64\1\0\2\64\2\0\6\64\1\0"+ "\12\64\1\377\13\64\1\0\37\64\1\0\6\64\1\377"+ "\23\64\1\0\1\64\1\0\2\64\2\0\1\u0100\5\64"+ "\1\0\1\64\1\u0101\17\64\1\u0102\4\64\1\0\13\64"+ "\1\u0102\1\64\1\u0101\1\u0100\3\64\1\u0103\3\64\1\u0104"+ "\10\64\1\0\3\64\1\u0103\1\u0104\25\64\1\0\1\64"+ "\1\0\2\64\2\0\2\64\1\u0105\3\64\1\0\1\64"+ "\1\u0106\24\64\1\0\11\64\1\u0105\2\64\1\u0107\1\u0106"+ "\21\64\1\0\1\64\1\u0107\30\64\1\0\1\64\1\0"+ "\2\64\2\0\2\64\1\111\1\u0108\1\64\1\111\1\0"+ "\2\64\1\u0109\3\64\1\u010a\12\64\1\u010b\4\64\1\0"+ "\6\64\1\u0108\1\64\2\111\1\u0109\1\u010b\1\u010c\3\64"+ "\1\u010d\3\64\1\111\4\64\1\u010a\5\64\1\0\1\64"+ "\1\u010c\3\64\1\111\5\64\1\u010d\16\64\1\0\1\64"+ "\1\0\2\64\2\0\3\64\1\u010e\2\64\1\0\2\64"+ "\1\u010f\23\64\1\0\6\64\1\u010e\3\64\1\u010f\1\64"+ "\1\u0110\22\64\1\0\1\64\1\u0110\30\64\1\0\1\64"+ "\1\0\2\64\2\0\6\64\1\0\26\64\1\0\26\64"+ "\1\u0111\1\64\1\u0112\6\64\1\0\4\64\1\u0111\5\64"+ "\1\u0112\17\64\1\0\1\64\1\0\2\64\2\0\2\64"+ "\1\111\1\u0104\2\64\1\0\1\64\1\u0113\10\64\1\u0114"+ "\13\64\1\0\6\64\1\u0104\1\u0115\1\64\1\111\2\64"+ "\1\u0116\1\u0113\3\64\1\u0117\2\64\1\u0118\12\64\1\0"+ "\1\64\1\u0116\1\u0117\2\64\1\u0118\1\u0114\1\u0115\22\64"+ "\1\0\1\64\1\0\2\64\2\0\6\64\1\0\1\64"+ "\1\111\24\64\1\0\15\64\1\111\21\64\1\0\32\64"+ "\1\0\1\64\1\0\2\64\2\0\2\64\1\u0119\1\u011a"+ "\2\64\1\0\26\64\1\0\6\64\1\u011a\2\64\1\u0119"+ "\7\64\1\u011b\15\64\1\0\2\64\1\u011b\27\64\1\0"+ "\1\64\1\0\2\64\2\0\1\u011c\1\u011d\1\u011e\1\64"+ "\1\u011f\1\64\1\0\6\64\1\u0120\3\64\1\u0121\13\64"+ "\1\0\11\64\1\u011e\4\64\1\u011c\1\u011f\3\64\1\u011d"+ "\1\u0122\4\64\1\u0120\5\64\1\0\5\64\1\u0122\1\u0121"+ "\23\64\1\0\1\64\1\0\2\64\2\0\2\64\1\111"+ "\2\64\1\u0123\1\0\2\64\1\u0124\23\64\1\0\10\64"+ "\1\u0123\1\111\1\u0124\24\64\1\0\14\64\1\111\4\64"+ "\3\111\1\64\2\111\3\64\1\0\1\64\1\0\2\64"+ "\2\0\4\64\1\u0125\1\64\1\0\1\64\1\111\4\64"+ "\1\u0126\3\64\1\u0127\13\64\1\0\15\64\1\111\1\64"+ "\1\u0125\11\64\1\u0126\5\64\1\0\6\64\1\u0127\23\64"+ "\1\0\1\64\1\0\2\64\2\0\6\64\1\0\2\64"+ "\1\u0128\23\64\1\0\12\64\1\u0128\1\64\1\u0129\4\64"+ "\1\u012a\15\64\1\0\1\64\1\u0129\1\u012a\27\64\1\0"+ "\1\64\1\0\2\64\2\0\3\64\1\u012b\1\64\1\111"+ "\1\0\1\64\1\111\1\u012c\16\64\1\u012d\4\64\1\0"+ "\6\64\1\u012b\1\64\1\111\1\64\1\u012c\1\u012d\1\u012e"+ "\1\111\6\64\1\111\12\64\1\0\1\64\1\u012e\3\64"+ "\1\111\24\64\1\0\1\64\1\0\2\64\2\0\6\64"+ "\1\0\2\64\1\u012f\7\64\1\u0130\13\64\1\0\12\64"+ "\1\u012f\1\64\1\u0131\22\64\1\0\1\64\1\u0131\4\64"+ "\1\u0130\23\64\1\0\1\64\1\0\2\64\2\0\6\64"+ "\1\0\2\64\1\u0132\3\64\1\u0133\17\64\1\0\12\64"+ "\1\u0132\16\64\1\u0133\5\64\1\0\32\64\1\0\1\64"+ "\1\0\2\64\2\0\3\64\1\u0134\2\64\1\0\26\64"+ "\1\0\6\64\1\u0134\5\64\1\u0135\22\64\1\0\1\64"+ "\1\u0135\26\64\3\112\1\0\3\112\1\0\127\112\52\0"+ "\1\u0136\64\0\3\115\1\0\102\115\1\0\30\115\17\0"+ "\1\u0137\117\0\7\126\1\0\127\126\106\130\1\0\30\130"+ "\1\131\10\0\6\131\1\0\11\131\1\0\1\131\1\0"+ "\3\131\1\0\2\131\13\0\25\131\2\0\1\131\2\0"+ "\17\131\1\0\10\131\3\0\1\u0138\4\0\1\u0139\35\0"+ "\1\62\3\0\1\u013a\71\0\1\62\40\0\1\62\70\0"+ "\10\u013b\1\u013c\24\u013b\1\u013d\1\u013b\1\u013e\6\u013b\1\u013f"+ "\70\u013b\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u0141\7\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\17\0"+ "\1\u0142\26\0\1\62\70\0\1\u0143\10\0\6\u0143\1\0"+ "\1\u0143\1\u0144\1\u0145\1\u0143\2\143\1\u0143\1\143\1\u0143"+ "\1\0\1\u0143\1\0\3\u0143\1\0\1\u0143\1\u0146\1\0"+ "\1\u0147\11\0\4\u0143\1\u0145\1\u0146\1\u0143\1\u0144\6\u0143"+ "\1\u0146\6\u0143\2\0\1\u0143\2\0\5\u0143\1\u0146\6\u0143"+ "\1\143\2\u0143\1\0\1\u0143\3\143\1\u0143\3\143\1\u0143"+ "\10\0\6\u0143\1\0\1\u0143\1\u0144\1\u0145\1\u0143\1\u0148"+ "\1\u0149\1\u0143\1\u0149\1\u0143\1\0\1\u0143\1\0\3\u0143"+ "\1\0\1\u014a\1\u0146\1\0\1\u0147\11\0\4\u0143\1\u0145"+ "\1\u0146\1\u0143\1\u0144\6\u0143\1\u0146\6\u0143\2\0\1\u014a"+ "\2\0\5\u0143\1\u0146\6\u0143\1\u0149\2\u0143\1\0\1\u0143"+ "\3\u0149\1\u0143\2\u0149\1\u0148\31\0\1\62\14\0\1\62"+ "\70\0\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140"+ "\1\u014b\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\46\0\1\62\132\0\1\62\3\0\1\62\114\0"+ "\2\u0147\1\0\1\u0147\73\0\1\u0147\4\0\3\u0147\1\0"+ "\3\u0147\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\5\140"+ "\1\u014c\2\140\1\u014d\3\140\1\u014e\3\140\1\u014f\3\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u0150\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0151\6\140"+ "\1\u0152\4\140\1\u0153\4\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u0154\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\6\140\1\u0155\1\u0156\1\u0157\3\140\1\u0158\5\140"+ "\1\u0159\1\140\1\131\2\0\1\u015a\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\u015b"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u015c"+ "\5\140\1\u015d\1\u015e\3\140\1\u015f\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\23\140\1\u0160\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u0161\6\140\1\u0162\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\u0163\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u0164\7\140\1\u0165"+ "\4\140\1\u0166\4\140\1\131\2\0\1\140\2\0\1\u0167"+ "\16\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\u0168\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u0169\2\140\1\u016a\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\u016b\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u016c\1\140\1\u016d\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u016e\1\u016f"+ "\2\140\1\u0170\1\u0171\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u0172\6\140\1\u0173\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u015f\4\140\1\u0174\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0175\7\140"+ "\1\u0176\3\140\1\u0177\4\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u0178\11\140\1\u0179\11\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u017a\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\2\176\1\0\32\176\1\0"+ "\50\176\1\0\30\176\2\u017b\1\0\27\u017b\1\u017c\51\u017b"+ "\1\u017d\32\u017b\2\202\1\0\4\202\1\0\25\202\1\0"+ "\101\202\2\206\2\0\33\206\1\0\22\206\1\0\4\206"+ "\1\0\17\206\1\0\27\206\10\0\1\u017e\136\0\1\u017f"+ "\203\0\1\u0180\1\0\1\u0181\136\0\1\u0182\166\0\1\u0183"+ "\27\0\2\215\2\0\56\215\1\0\4\215\1\0\17\215"+ "\1\0\27\215\10\0\1\u0184\203\0\1\u0185\1\0\1\u0186"+ "\136\0\1\u0187\166\0\1\u0188\32\0\1\u0138\42\0\1\62"+ "\100\0\1\231\26\0\1\u0189\6\0\1\62\70\0\1\131"+ "\10\0\6\140\1\0\10\140\1\u018a\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u018b\1\u018c\2\140"+ "\1\u018d\1\140\1\u018e\3\140\1\u018f\1\u0190\2\140\1\u0191"+ "\1\u018d\2\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\2\231\1\0\134\231\1\131\10\0\6\u0192\1\0"+ "\4\u0192\2\140\1\u0192\1\140\1\u0192\1\0\1\u0192\1\0"+ "\1\131\1\u0140\1\140\1\0\2\u0192\13\0\24\u0192\1\131"+ "\2\0\1\u0192\2\0\14\u0192\1\140\2\u0192\1\0\1\u0192"+ "\3\140\1\u0192\3\140\17\0\1\u0193\117\0\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\140\1\u0194\1\u0195\2\140"+ "\1\u014c\2\140\1\u0196\1\u0197\2\140\1\u0198\1\u0199\1\u019a"+ "\1\140\1\u019b\2\140\1\u019c\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u019d\1\u019e\2\140\1\u019f\3\140\1\u0150"+ "\2\140\1\u01a0\1\140\1\u01a1\3\140\1\131\2\0\1\140"+ "\2\0\16\140\1\u01a2\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u01a3\2\140\1\u01a4\1\u01a5\1\140"+ "\1\u01a6\3\140\1\u01a7\1\u01a8\1\140\1\u01a9\1\140\1\u01aa"+ "\1\u01ab\3\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u01ac\1\140\1\u01ad\1\140\1\u01ae\1\140\1\u01af\1\u01b0"+ "\1\140\1\u01b1\4\140\1\u01b2\3\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u01b3\2\140\1\u01b4\1\u01b5\1\u01b6"+ "\2\140\1\u01b7\1\u01b8\1\u01b9\2\140\1\u01ba\1\140\1\u01bb"+ "\1\u01bc\1\131\2\0\1\u01bd\2\0\16\140\1\u01be\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\u01bf"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u01c0"+ "\1\u01c1\1\u01c2\1\u01c3\1\u01c4\1\u01c5\1\u015d\1\u01c6\1\u01c7"+ "\1\u01c8\1\140\1\u01c9\1\u01ca\1\u01cb\2\140\1\u01cc\2\140"+ "\1\u01cd\1\131\2\0\1\140\2\0\1\u01ce\16\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\u01cf"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\140"+ "\1\u01d0\1\u01d1\1\u01d2\3\140\1\u01d3\1\u01d4\1\u01d5\2\140"+ "\1\u01d6\1\u01d7\1\u01d8\4\140\1\u01d9\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u01da\1\140\1\u01ac\1\140\1\u01db\1\140"+ "\1\u01dc\1\140\1\u01dd\2\140\1\u01de\1\140\1\u01df\1\u01e0"+ "\5\140\1\131\2\0\1\140\2\0\16\140\1\u01e1\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\u01e2"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u01e3"+ "\1\140\1\u01e4\1\u01e5\1\u01e6\1\140\1\u01e7\1\u01e8\1\u01e9"+ "\1\u01ea\1\u01eb\1\u01ec\1\u01ed\1\u01ee\1\140\1\u01ef\1\140"+ "\1\u01f0\2\140\1\131\2\0\1\140\2\0\1\u01f1\16\140"+ "\1\0\1\u01f2\7\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\u01f3\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u01f4\1\u01f5\1\140\1\u01f6\1\140\1\u01f7\1\u01f8"+ "\3\140\1\u01f9\1\u01fa\1\u01fb\1\u01fc\1\u01fd\5\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u01fe\1\140\1\u01ff\1\140"+ "\1\u0200\1\140\1\u0201\10\140\1\u0202\4\140\1\131\2\0"+ "\1\140\2\0\1\u0203\16\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\u0204\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u0205\1\140\1\u0206"+ "\1\140\1\u0207\1\140\1\u0208\3\140\1\u0209\1\u020a\3\140"+ "\1\u020b\1\u020c\1\131\2\0\1\140\2\0\1\u020d\16\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\u020e\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\140\1\u020f\2\140\1\u0210\1\140\1\u0211\1\u0212\1\u0213"+ "\2\140\1\u0214\10\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\u0215\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u0216\1\u0217\1\u0218\1\u0219\1\u021a\2\140\1\u021b"+ "\1\u021c\1\140\1\u021d\1\140\1\u021e\4\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\u021f\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u0220\1\u020f\1\140\1\u0221\1\u0222"+ "\1\140\1\u0223\1\u0224\1\u0225\2\140\1\u0226\1\u0227\1\u0228"+ "\5\140\1\u0229\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\11\140"+ "\1\u022a\12\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u022b"+ "\1\140\1\u022c\1\140\1\u022d\1\140\1\u022e\1\140\1\u022f"+ "\1\140\1\u0230\1\u0231\1\140\1\u0232\1\u0233\1\u0234\1\140"+ "\1\u0235\1\140\1\u0236\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u0237\2\140\1\u018d\1\u0238\3\140\1\u01af\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u0239\3\140\1\u023a\1\u023b"+ "\1\u023c\1\140\1\u023b\1\u023d\12\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u023e\2\140\1\u0175\1\u023f\1\140\1\u0240"+ "\6\140\1\u0241\6\140\1\131\2\0\1\140\2\0\16\140"+ "\1\u0242\1\0\10\140\1\131\10\0\6\u0243\1\0\4\u0243"+ "\2\131\1\u0243\1\131\1\u0243\1\0\1\u0243\1\0\2\131"+ "\1\u0243\1\0\2\u0243\13\0\24\u0243\1\131\2\0\1\u0243"+ "\2\0\14\u0243\1\131\2\u0243\1\0\1\u0243\3\131\1\u0243"+ "\4\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u0244\5\140"+ "\1\u0245\1\140\1\u0246\1\u0247\1\140\1\u015f\4\140\1\u0248"+ "\3\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0249"+ "\6\140\1\u0179\1\u024a\2\140\1\u024b\5\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\5\140\1\u024c\2\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u024d\3\140\1\u024e"+ "\2\140\1\u024f\14\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\u0250\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\16\140\1\u0251\5\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\u0252\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u0253\1\140\1\u0254\2\140\1\u0255\1\140\1\u0256"+ "\2\140\1\u0257\5\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\2\267\1\0\34\267\1\0\22\267\1\0"+ "\4\267\1\0\17\267\1\0\27\267\10\0\1\u0258\126\0"+ "\2\272\1\0\4\272\1\0\25\272\2\0\100\272\2\u0259"+ "\1\0\134\u0259\11\0\6\u025a\1\0\4\u025a\2\0\1\u025a"+ "\1\0\1\u025a\1\0\1\u025a\5\0\2\u025a\13\0\24\u025a"+ "\3\0\1\u025a\2\0\14\u025a\1\0\2\u025a\1\0\1\u025a"+ "\3\0\1\u025a\3\0\2\u025b\1\0\134\u025b\10\0\1\u025c"+ "\165\0\1\u025d\110\0\6\307\1\0\13\307\5\0\2\307"+ "\1\0\1\307\11\0\24\307\3\0\1\307\2\0\17\307"+ "\1\0\10\307\11\0\6\u025e\1\0\4\u025e\2\0\1\u025e"+ "\1\0\3\u025e\4\0\3\u025e\1\0\1\u025e\11\0\24\u025e"+ "\3\0\1\u025e\2\0\14\u025e\1\0\2\u025e\1\0\1\u025e"+ "\3\0\1\u025e\56\0\1\u025f\3\0\1\u0260\1\u0261\1\u0262"+ "\1\u0263\1\u0264\1\u0265\2\0\1\u0266\1\u0267\1\u0268\1\u0269"+ "\1\u026a\3\0\1\u026b\50\0\6\u026c\1\0\4\u026c\2\0"+ "\1\u026c\1\0\3\u026c\4\0\3\u026c\1\0\1\u026c\11\0"+ "\24\u026c\3\0\1\u026c\2\0\14\u026c\1\0\2\u026c\1\0"+ "\1\u026c\3\0\1\u026c\14\0\6\321\1\0\13\321\5\0"+ "\2\321\13\0\24\321\3\0\1\321\2\0\17\321\1\0"+ "\10\321\11\0\6\321\1\0\4\321\2\0\1\321\1\0"+ "\3\321\5\0\2\321\13\0\24\321\3\0\1\321\2\0"+ "\14\321\1\0\2\321\1\0\1\321\3\0\1\321\13\0"+ "\7\332\1\0\4\332\2\0\1\332\1\0\3\332\2\0"+ "\1\332\1\0\1\u025d\2\332\13\0\24\332\2\0\1\340"+ "\1\332\2\0\14\332\1\0\2\332\1\0\1\332\3\0"+ "\1\332\13\0\7\332\1\0\4\332\2\0\1\332\1\0"+ "\3\332\2\0\1\332\2\0\2\332\13\0\24\332\2\0"+ "\1\340\1\332\2\0\14\332\1\0\2\332\1\0\1\332"+ "\3\0\1\332\27\0\2\333\1\0\1\333\13\0\1\333"+ "\4\0\1\u026d\4\0\1\u026e\3\0\1\u026f\3\0\1\u026d"+ "\1\u0270\3\0\1\u0271\2\0\1\u0272\25\0\1\333\4\0"+ "\3\333\1\0\3\333\10\0\7\332\1\0\4\332\2\333"+ "\1\332\1\333\3\332\2\0\1\332\2\0\2\332\13\0"+ "\24\332\2\0\1\340\1\332\2\0\14\332\1\333\2\332"+ "\1\0\1\332\3\333\1\332\3\333\12\0\1\u0273\7\0"+ "\1\u0273\1\0\4\u0273\11\0\1\u0273\17\0\3\u0273\6\0"+ "\2\u0273\4\0\1\u0273\7\0\1\u0273\3\0\1\u0273\6\0"+ "\1\u0273\4\0\3\u0273\1\0\3\u0273\55\0\1\u0274\71\0"+ "\1\u0275\137\0\6\u0276\1\0\10\u0276\2\0\1\u0276\5\0"+ "\2\u0276\13\0\24\u0276\3\0\1\u0276\2\0\17\u0276\1\0"+ "\10\u0276\11\0\1\351\1\u0277\3\351\1\u0278\1\0\10\351"+ "\2\0\1\351\5\0\2\351\13\0\2\351\1\u0278\12\351"+ "\1\u0277\6\351\3\0\1\351\2\0\17\351\1\0\10\351"+ "\11\0\6\351\1\0\10\351\2\0\1\351\5\0\2\351"+ "\13\0\24\351\3\0\1\351\2\0\17\351\1\0\10\351"+ "\31\0\1\u0279\173\0\1\u027a\67\0\1\u027b\203\0\1\u027c"+ "\140\0\1\u027d\127\0\1\u027e\166\0\1\u027f\27\0\2\54"+ "\1\0\1\54\1\0\2\54\2\0\6\54\1\0\26\54"+ "\1\0\17\54\1\u0280\17\54\1\0\30\54\2\64\1\0"+ "\1\64\1\0\2\64\2\0\2\64\1\u0281\3\64\1\0"+ "\26\64\1\0\11\64\1\u0281\25\64\1\0\32\64\1\0"+ "\1\64\1\0\2\64\2\0\6\64\1\0\26\64\1\0"+ "\14\64\1\u0282\22\64\1\0\1\64\1\u0282\30\64\1\0"+ "\1\64\1\0\2\64\2\0\2\64\1\u0283\3\64\1\0"+ "\1\377\25\64\1\0\11\64\1\u0283\13\64\1\377\11\64"+ "\1\0\32\64\1\0\1\64\1\0\2\64\2\0\1\64"+ "\1\u0284\1\u0285\3\64\1\0\1\64\1\u0286\24\64\1\0"+ "\11\64\1\u0285\3\64\1\u0286\5\64\1\u0284\13\64\1\0"+ "\32\64\1\0\1\64\1\0\2\64\2\0\4\64\1\111"+ "\1\64\1\0\6\64\1\111\17\64\1\0\17\64\1\111"+ "\11\64\1\111\5\64\1\0\32\64\1\0\1\64\1\0"+ "\2\64\2\0\6\64\1\0\26\64\1\0\26\64\1\u0287"+ "\10\64\1\0\4\64\1\u0287\25\64\1\0\1\64\1\0"+ "\2\64\2\0\6\64\1\0\12\64\1\u0288\13\64\1\0"+ "\37\64\1\0\6\64\1\u0288\23\64\1\0\1\64\1\0"+ "\2\64\2\0\6\64\1\0\26\64\1\0\14\64\1\u0289"+ "\22\64\1\0\1\64\1\u0289\30\64\1\0\1\64\1\0"+ "\2\64\2\0\5\64\1\u028a\1\0\26\64\1\0\10\64"+ "\1\u028a\26\64\1\0\32\64\1\0\1\64\1\0\2\64"+ "\2\0\6\64\1\0\26\64\1\0\22\64\1\u028b\14\64"+ "\1\0\3\64\1\u028b\26\64\1\0\1\64\1\0\2\64"+ "\2\0\4\64\1\u0284\1\64\1\0\26\64\1\0\17\64"+ "\1\u0284\2\64\1\u028c\14\64\1\0\3\64\1\u028c\26\64"+ "\1\0\1\64\1\0\2\64\2\0\6\64\1\0\1\64"+ "\1\u028d\24\64\1\0\15\64\1\u028d\6\64\1\u028a\1\64"+ "\1\u028e\10\64\1\0\4\64\1\u028e\1\u028a\24\64\1\0"+ "\1\64\1\0\2\64\2\0\6\64\1\0\1\64\1\u028a"+ "\24\64\1\0\15\64\1\u028a\21\64\1\0\32\64\1\0"+ "\1\64\1\0\2\64\2\0\3\64\1\u028f\2\64\1\0"+ "\26\64\1\0\6\64\1\u028f\30\64\1\0\32\64\1\0"+ "\1\64\1\0\2\64\2\0\6\64\1\0\26\64\1\0"+ "\14\64\1\u0290\22\64\1\0\1\64\1\u0290\30\64\1\0"+ "\1\64\1\0\2\64\2\0\2\64\1\u0291\3\64\1\0"+ "\26\64\1\0\11\64\1\u0291\25\64\1\0\32\64\1\0"+ "\1\64\1\0\2\64\2\0\1\111\3\64\1\u0292\1\64"+ "\1\0\26\64\1\0\16\64\1\111\1\u0292\17\64\1\0"+ "\32\64\1\0\1\64\1\0\2\64\2\0\6\64\1\0"+ "\26\64\1\0\7\64\1\111\27\64\1\0\7\64\1\111"+ "\22\64\1\0\1\64\1\0\2\64\2\0\6\64\1\0"+ "\2\64\1\111\23\64\1\0\12\64\1\111\6\64\1\u0293"+ "\15\64\1\0\2\64\1\u0293\27\64\1\0\1\64\1\0"+ "\2\64\2\0\6\64\1\0\26\64\1\0\14\64\1\u0294"+ "\22\64\1\0\1\64\1\u0294\30\64\1\0\1\64\1\0"+ "\2\64\2\0\2\64\1\u0295\3\64\1\0\26\64\1\0"+ "\11\64\1\u0295\25\64\1\0\32\64\1\0\1\64\1\0"+ "\2\64\2\0\5\64\1\377\1\0\26\64\1\0\10\64"+ "\1\377\15\64\1\u028a\10\64\1\0\4\64\1\u028a\25\64"+ "\1\0\1\64\1\0\2\64\2\0\6\64\1\0\20\64"+ "\1\u0296\5\64\1\0\35\64\1\u0296\1\64\1\0\32\64"+ "\1\0\1\64\1\0\2\64\2\0\6\64\1\0\26\64"+ "\1\0\21\64\1\u0117\15\64\1\0\2\64\1\u0117\27\64"+ "\1\0\1\64\1\0\2\64\2\0\6\64\1\0\26\64"+ "\1\0\21\64\1\u0297\15\64\1\0\2\64\1\u0297\27\64"+ "\1\0\1\64\1\0\2\64\2\0\6\64\1\0\6\64"+ "\1\377\17\64\1\0\31\64\1\377\5\64\1\0\32\64"+ "\1\0\1\64\1\0\2\64\2\0\6\64\1\0\2\64"+ "\1\u0298\23\64\1\0\12\64\1\u0298\24\64\1\0\32\64"+ "\1\0\1\64\1\0\2\64\2\0\6\64\1\0\26\64"+ "\1\0\22\64\1\u0299\14\64\1\0\3\64\1\u0299\26\64"+ "\1\0\1\64\1\0\2\64\2\0\6\64\1\0\26\64"+ "\1\0\7\64\1\u029a\27\64\1\0\7\64\1\u029a\22\64"+ "\1\0\1\64\1\0\2\64\2\0\6\64\1\0\1\u029b"+ "\5\64\1\u029c\17\64\1\0\25\64\1\u029b\3\64\1\u029c"+ "\5\64\1\0\32\64\1\0\1\64\1\0\2\64\2\0"+ "\6\64\1\0\6\64\1\u029d\17\64\1\0\31\64\1\u029d"+ "\5\64\1\0\32\64\1\0\1\64\1\0\2\64\2\0"+ "\6\64\1\0\2\64\1\u029e\23\64\1\0\12\64\1\u029e"+ "\24\64\1\0\32\64\1\0\1\64\1\0\2\64\2\0"+ "\3\64\1\u029f\2\64\1\0\26\64\1\0\6\64\1\u029f"+ "\12\64\1\u02a0\15\64\1\0\2\64\1\u02a0\27\64\1\0"+ "\1\64\1\0\2\64\2\0\5\64\1\u02a1\1\0\26\64"+ "\1\0\10\64\1\u02a1\26\64\1\0\32\64\1\0\1\64"+ "\1\0\2\64\2\0\1\u02a2\5\64\1\0\26\64\1\0"+ "\16\64\1\u02a2\20\64\1\0\32\64\1\0\1\64\1\0"+ "\2\64\2\0\1\u02a3\5\64\1\0\26\64\1\0\16\64"+ "\1\u02a3\20\64\1\0\32\64\1\0\1\64\1\0\2\64"+ "\2\0\6\64\1\0\26\64\1\0\24\64\1\u02a4\12\64"+ "\1\0\5\64\1\u02a4\24\64\1\0\1\64\1\0\2\64"+ "\2\0\6\64\1\0\26\64\1\0\21\64\1\111\15\64"+ "\1\0\2\64\1\111\27\64\1\0\1\64\1\0\2\64"+ "\2\0\6\64\1\0\26\64\1\0\14\64\1\u02a5\22\64"+ "\1\0\1\64\1\u02a5\30\64\1\0\1\64\1\0\2\64"+ "\2\0\6\64\1\0\2\64\1\u02a6\23\64\1\0\7\64"+ "\1\u02a7\2\64\1\u02a6\24\64\1\0\7\64\1\u02a7\22\64"+ "\1\0\1\64\1\0\2\64\2\0\2\64\1\u02a8\3\64"+ "\1\0\26\64\1\0\11\64\1\u02a8\7\64\1\u028b\1\u02a9"+ "\14\64\1\0\2\64\1\u028b\1\u02a9\26\64\1\0\1\64"+ "\1\0\2\64\2\0\3\64\1\u02aa\2\64\1\0\26\64"+ "\1\0\6\64\1\u02aa\30\64\1\0\32\64\1\0\1\64"+ "\1\0\2\64\2\0\2\64\1\u02ab\3\64\1\0\26\64"+ "\1\0\11\64\1\u02ab\25\64\1\0\32\64\1\0\1\64"+ "\1\0\2\64\2\0\5\64\1\u02ac\1\0\2\64\1\u02ad"+ "\23\64\1\0\10\64\1\u02ac\1\64\1\u02ad\24\64\1\0"+ "\32\64\1\0\1\64\1\0\2\64\2\0\4\64\1\u02ae"+ "\1\64\1\0\26\64\1\0\17\64\1\u02ae\17\64\1\0"+ "\32\64\1\0\1\64\1\0\2\64\2\0\6\64\1\0"+ "\6\64\1\u0135\17\64\1\0\31\64\1\u0135\5\64\1\0"+ "\32\64\1\0\1\64\1\0\2\64\2\0\6\64\1\0"+ "\26\64\1\0\24\64\1\u02af\12\64\1\0\5\64\1\u02af"+ "\24\64\1\0\1\64\1\0\2\64\2\0\6\64\1\0"+ "\26\64\1\0\24\64\1\u02b0\12\64\1\0\5\64\1\u02b0"+ "\24\64\1\0\1\64\1\0\2\64\2\0\6\64\1\0"+ "\26\64\1\0\26\64\1\u02b1\10\64\1\0\4\64\1\u02b1"+ "\25\64\1\0\1\64\1\0\2\64\2\0\6\64\1\0"+ "\26\64\1\0\14\64\1\u02b2\22\64\1\0\1\64\1\u02b2"+ "\30\64\1\0\1\64\1\0\2\64\2\0\5\64\1\u02b3"+ "\1\0\26\64\1\0\10\64\1\u02b3\26\64\1\0\32\64"+ "\1\0\1\64\1\0\2\64\2\0\6\64\1\0\26\64"+ "\1\0\37\64\1\0\15\64\1\u0286\6\64\1\u0286\5\64"+ "\1\0\1\64\1\0\2\64\2\0\5\64\1\u02b4\1\0"+ "\26\64\1\0\10\64\1\u02b4\26\64\1\0\32\64\1\0"+ "\1\64\1\0\2\64\2\0\1\u02a9\5\64\1\0\26\64"+ "\1\0\16\64\1\u02a9\20\64\1\0\32\64\1\0\1\64"+ "\1\0\2\64\2\0\6\64\1\0\26\64\1\0\30\64"+ "\1\111\6\64\1\0\12\64\1\111\17\64\1\0\1\64"+ "\1\0\2\64\2\0\1\u02b5\5\64\1\0\1\64\1\u0101"+ "\1\u02b6\3\64\1\u0135\12\64\1\u02b7\4\64\1\0\12\64"+ "\1\u02b6\1\u02b7\1\64\1\u0101\1\u02b5\12\64\1\u0135\5\64"+ "\1\0\32\64\1\0\1\64\1\0\2\64\2\0\2\64"+ "\1\111\3\64\1\0\26\64\1\0\11\64\1\111\2\64"+ "\1\u02b8\13\64\1\111\6\64\1\0\1\64\1\u02b8\10\64"+ "\1\111\17\64\1\0\1\64\1\0\2\64\2\0\5\64"+ "\1\u02b9\1\0\1\64\1\111\24\64\1\0\10\64\1\u02b9"+ "\4\64\1\111\21\64\1\0\32\64\1\0\1\64\1\0"+ "\2\64\2\0\6\64\1\0\26\64\1\0\22\64\1\111"+ "\14\64\1\0\3\64\1\111\26\64\1\0\1\64\1\0"+ "\2\64\2\0\5\64\1\u02ba\1\0\26\64\1\0\10\64"+ "\1\u02ba\26\64\1\0\32\64\1\0\1\64\1\0\2\64"+ "\2\0\5\64\1\u02bb\1\0\26\64\1\0\10\64\1\u02bb"+ "\11\64\1\u02bc\14\64\1\0\3\64\1\u02bc\26\64\1\0"+ "\1\64\1\0\2\64\2\0\6\64\1\0\1\64\1\u02bd"+ "\24\64\1\0\15\64\1\u02bd\21\64\1\0\32\64\1\0"+ "\1\64\1\0\2\64\2\0\2\64\1\u02be\1\64\1\111"+ "\1\64\1\0\26\64\1\0\11\64\1\u02be\5\64\1\111"+ "\17\64\1\0\32\64\1\0\1\64\1\0\2\64\2\0"+ "\6\64\1\0\1\u02bf\25\64\1\0\25\64\1\u02bf\11\64"+ "\1\0\32\64\1\0\1\64\1\0\2\64\2\0\6\64"+ "\1\0\26\64\1\0\24\64\1\111\12\64\1\0\5\64"+ "\1\111\24\64\1\0\1\64\1\0\2\64\2\0\6\64"+ "\1\0\26\64\1\0\24\64\1\u02c0\12\64\1\0\5\64"+ "\1\u02c0\24\64\1\0\1\64\1\0\2\64\2\0\2\64"+ "\1\111\3\64\1\0\26\64\1\0\11\64\1\111\25\64"+ "\1\0\30\64\66\0\1\u02c1\61\0\1\u02c2\53\0\1\u02c2"+ "\137\0\1\u02c3\50\0\10\u013b\1\u02c4\24\u013b\1\u013d\103\u013b"+ "\1\0\134\u013b\37\0\1\u02c5\77\0\1\131\10\0\6\131"+ "\1\0\11\131\1\0\1\u02c6\1\0\3\131\1\0\2\131"+ "\13\0\25\131\2\0\1\131\2\0\17\131\1\0\11\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\5\140\1\u02c7\16\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\17\0"+ "\1\150\26\0\1\62\70\0\1\u0143\10\0\6\u0143\1\0"+ "\11\u0143\1\0\1\u0143\1\0\3\u0143\1\0\2\u0143\13\0"+ "\25\u0143\2\0\1\u0143\2\0\17\u0143\1\0\11\u0143\10\0"+ "\6\u0143\1\0\4\u0143\2\u02c8\1\u0143\1\u02c8\1\u0143\1\u02c9"+ "\1\u0143\1\0\3\u0143\1\0\2\u0143\1\u02c9\12\0\25\u0143"+ "\2\0\1\u0143\2\0\14\u0143\1\u02c8\2\u0143\1\0\1\u0143"+ "\3\u02c8\1\u0143\3\u02c8\1\u0143\10\0\6\u0143\1\0\2\u0143"+ "\1\u0145\1\u0143\2\u0147\1\u0143\1\u0147\1\u0143\1\0\1\u0143"+ "\1\0\3\u0143\1\0\1\u0143\1\u0146\13\0\4\u0143\1\u0145"+ "\1\u0146\10\u0143\1\u0146\6\u0143\2\0\1\u0143\2\0\5\u0143"+ "\1\u0146\6\u0143\1\u0147\2\u0143\1\0\1\u0143\3\u0147\1\u0143"+ "\3\u0147\1\u0143\10\0\6\u0143\1\0\2\u0143\1\u0145\1\u0143"+ "\2\u0148\1\u0143\1\u0148\1\u0143\1\0\1\u0143\1\0\3\u0143"+ "\1\0\1\u0143\1\u0146\1\0\1\u0147\11\0\4\u0143\1\u0145"+ "\1\u0146\10\u0143\1\u0146\6\u0143\2\0\1\u0143\2\0\5\u0143"+ "\1\u0146\6\u0143\1\u0148\2\u0143\1\0\1\u0143\3\u0148\1\u0143"+ "\3\u0148\1\u0143\10\0\6\u0143\1\0\1\u0143\1\u02ca\1\u0145"+ "\1\u0143\1\u0148\1\u0149\1\u0143\1\u0149\1\u0143\1\0\1\u0143"+ "\1\0\3\u0143\1\0\1\u0143\1\u0146\1\0\1\u0147\11\0"+ "\4\u0143\1\u0145\1\u0146\1\u0143\1\u02ca\6\u0143\1\u0146\6\u0143"+ "\2\0\1\u0143\2\0\5\u0143\1\u0146\6\u0143\1\u0149\2\u0143"+ "\1\0\1\u0143\3\u0149\1\u0143\2\u0149\1\u0148\1\u0143\10\0"+ "\1\u0143\1\u02cb\4\u0143\1\0\2\u0143\1\u02cb\1\u0143\4\u02cb"+ "\1\u0143\1\0\1\u0143\1\0\3\u0143\1\0\1\u0143\1\u02cb"+ "\13\0\4\u0143\3\u02cb\6\u0143\2\u02cb\4\u0143\1\u02cb\1\u0143"+ "\2\0\1\u0143\2\0\1\u0143\1\u02cb\3\u0143\1\u02cb\6\u0143"+ "\1\u02cb\2\u0143\1\0\1\u0143\3\u02cb\1\u0143\3\u02cb\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u02cc\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\1\140\1\u02cd\13\0\24\140\1\131"+ "\2\0\1\140\2\0\3\140\1\u02ce\13\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u02cf"+ "\5\140\1\u02d0\13\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\11\140\1\u02d1\12\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u02d2\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\u02d3\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\6\140\1\u02d4\10\140\1\u014c\4\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u02d5\2\140\1\u02d6\20\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\11\140\1\u02d7\12\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u02d8\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\15\140\1\u02d9\6\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\10\140\1\u02da\13\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\15\140\1\u02db\6\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\u02dc\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\6\140\1\u02dd\15\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u02de\6\140\1\u02df\12\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\14\140\1\u02e0\7\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\14\140\1\u02e1\7\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\7\140\1\u02e2\14\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\13\140\1\u02e3\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\3\140\1\u014c\20\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\10\140\1\u02e4\13\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u02e5\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\14\140\1\u02e6\7\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\11\140\1\u02e7\12\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u02e8\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\13\140\1\u02e9\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\14\140\1\u02ea\7\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u02eb\23\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\23\140\1\u02ec\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u02ed\12\140\1\u02ee\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u02ef\11\140\1\u02f0\6\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\7\140\1\u02f1\14\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\1\u014c\16\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u02f2\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u02f3\5\140\1\u02da\13\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u02f4\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u02f5\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u02f6\7\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\5\140\1\u02f7\1\140"+ "\1\u02f8\13\140\1\u02f9\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\u02fa\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u01d6\6\140"+ "\1\u02fb\14\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u02fc\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140"+ "\1\u02fd\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u02fe\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u02ff\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u0300"+ "\23\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\3\140\1\u014c\13\140\1\0\10\140"+ "\12\0\1\u0301\7\0\1\u0301\1\0\4\u0301\11\0\1\u0301"+ "\17\0\3\u0301\6\0\2\u0301\4\0\1\u0301\7\0\1\u0301"+ "\3\0\1\u0301\6\0\1\u0301\4\0\3\u0301\1\0\3\u0301"+ "\12\0\1\u0302\7\0\1\u0302\1\0\4\u0302\11\0\1\u0302"+ "\17\0\3\u0302\6\0\2\u0302\4\0\1\u0302\7\0\1\u0302"+ "\3\0\1\u0302\6\0\1\u0302\4\0\3\u0302\1\0\3\u0302"+ "\11\0\1\u0303\53\0\1\u0303\135\0\1\u0304\140\0\1\u0305"+ "\127\0\1\u0306\166\0\1\u0307\40\0\1\u0308\53\0\1\u0308"+ "\135\0\1\u0309\140\0\1\u030a\127\0\1\u030b\166\0\1\u030c"+ "\27\0\1\131\10\0\1\140\1\u030d\4\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\1\140"+ "\1\u030e\13\0\1\140\1\u030f\1\u0310\12\140\1\u0311\6\140"+ "\1\131\2\0\1\140\2\0\3\140\1\u0312\1\u0313\1\u0314"+ "\11\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\5\140\1\u0315\16\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\7\140\1\u0316\14\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\10\140\1\u01af\13\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u0317\2\140\1\u0318\3\140\1\u0319\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u031a\2\140\1\u031b"+ "\3\140\1\u031c\1\u031d\1\u031e\12\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\5\140\1\u031f\16\140\1\131\2\0\1\140"+ "\2\0\1\u0320\16\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u0321\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\u0192"+ "\1\0\11\u0192\1\0\1\u0192\1\0\1\131\1\u0140\1\140"+ "\1\0\2\u0192\13\0\24\u0192\1\131\2\0\1\u0192\2\0"+ "\17\u0192\1\0\10\u0192\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u0322\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u0323\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u0324\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u0325\1\140\1\u0326\1\u0327\1\u0328\1\u0329"+ "\1\u032a\1\u032b\1\u032c\1\u032d\1\u032e\2\140\1\u032f\1\u0330"+ "\5\140\1\131\2\0\1\u0331\2\0\1\u0332\16\140\1\0"+ "\4\140\1\u0333\3\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u0334\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\1\140\1\u0335\6\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u0336\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u0337\1\140\1\u0338\1\140"+ "\1\u0339\1\u033a\2\140\1\u033b\4\140\1\u033c\6\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u033d\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u033e\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u033f\2\140\1\u0340"+ "\12\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u0341"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0342"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0343"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u0344"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u0345\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u0346\1\u0347"+ "\4\140\1\u0348\1\140\1\u0349\3\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\u034a\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u034b\1\u034c\1\u034d\1\u034e\1\u034f\1\u0329"+ "\2\140\1\u0350\1\u0351\1\140\1\u0352\1\140\1\u0353\1\u0354"+ "\5\140\1\131\2\0\1\140\2\0\1\u01ce\16\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u0355\13\140\1\u0356\1\140\1\u0357\3\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\u0358\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u0359\16\140\1\u014c\4\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\7\140\1\u02dd\10\140\1\u035a"+ "\3\140\1\131\2\0\1\u035b\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\140\1\u035c"+ "\1\140\1\u035d\10\140\1\u035e\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u035f\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\u0360\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\21\140\1\u0361\2\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\11\140\1\u0362\12\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\11\140\1\u0363\12\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\11\140\1\u0364\12\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u0365\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\140\1\u0366\1\u02d8\3\140\1\u0367\1\u0368"+ "\1\u0369\1\u036a\2\140\1\u036b\1\u036c\2\140\1\u036d\3\140"+ "\1\131\2\0\1\140\2\0\1\u036e\16\140\1\0\1\u036f"+ "\7\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u0370\10\140\1\u0371\1\140\1\u0372\5\140\1\131\2\0"+ "\1\140\2\0\1\u0373\16\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u0319\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\7\140\1\u0374\14\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\u0375\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u0376\4\140\1\u0377"+ "\14\140\1\131\2\0\1\140\2\0\1\u0378\16\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\16\140"+ "\1\u0379\5\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u037a\1\u037b\1\140\1\u037c\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\10\140\1\u037d\4\140\1\u037e\6\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\10\140\1\u037f\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\15\140\1\u0380\6\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\5\140\1\u0224\16\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u0381\3\140\1\u0382"+ "\7\140\1\u0383\5\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\12\140\1\u02d2\11\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\11\140\1\u0384\12\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\6\140\1\u02f1\15\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\15\140\1\u0385\6\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u0386\1\140\1\u0387\1\140\1\u0388\4\140\1\u0389\12\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\20\140\1\u038a\3\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u038b\7\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u038c\1\u038d"+ "\2\140\1\u038e\4\140\1\u038f\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u0390\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u0391\1\u0237\3\140\1\u01dd\1\u0392"+ "\1\140\1\u0393\10\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u0394\3\140\1\u0395\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u0396\10\140\1\u01b7\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\7\140\1\u0397\14\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\u0398\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\13\140\1\u0399\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u039a\1\140\1\u039b\6\140"+ "\1\u039c\1\140\1\u039d\6\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\u039e\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u039f\2\140\1\u03a0\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\3\140\1\u03a1\5\140\1\u03a2\12\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\20\140\1\u03a3\3\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u03a4\14\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u0325\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u03a5\13\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u03a6\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u03a7\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\140\1\u03a8\22\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u03a9\3\140"+ "\1\u03aa\15\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u03ab\4\140\1\u01af\13\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u03ac\23\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u03ad\7\140\1\u03ae\2\140\1\u0319\1\140\1\u03af\6\140"+ "\1\131\2\0\1\u03b0\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u03b1\2\140"+ "\1\u03b2\4\140\1\u03b3\5\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\16\140\1\u014c\5\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\13\140\1\u03b4\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\16\140\1\u03b5\5\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\10\140\1\u03b6\13\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\10\140\1\u03b7\3\140\1\u03b8\7\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\22\140\1\u03b9\1\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\10\140\1\u03ba\3\140\1\u03bb\7\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u039a\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\140\1\u03bc\4\140"+ "\1\u03bd\4\140\1\u03be\1\u03bf\1\u03c0\6\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\140\1\u03c1\22\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u03c2\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\5\140\1\u03c3\16\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\23\140\1\u03c4\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\14\140\1\u035e\3\140\1\u03c5\3\140\1\131"+ "\2\0\1\140\2\0\16\140\1\u03c6\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u03c7\2\140"+ "\1\u03c8\4\140\1\u03c9\2\140\1\u03ca\1\140\1\u03cb\3\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u0375\6\140"+ "\1\u03cc\6\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u03cd\1\u03ce\1\u0393\2\140\1\u03cf\1\u03d0\3\140\1\u03d1"+ "\3\140\1\u03d2\3\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\22\140\1\u03d3\1\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u03d4\1\140\1\u03d5\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u03d6\5\140\1\u039d\6\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u039f\1\u03d7\2\140"+ "\1\u03d8\14\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\u03d9"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u03da\1\140\1\u03db\4\140\1\u03dc\4\140\1\u03dd\3\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\u03de\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u03df\11\140"+ "\1\u03e0\6\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\20\140"+ "\1\u03e1\3\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u03e2\3\140\1\u03e3\11\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\10\140\1\u03e4\7\140\1\u03e5\3\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u03e6\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u02eb\4\140\1\u03e7\16\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u03df\3\140\1\u03e8"+ "\14\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u03e9"+ "\20\140\1\u03ea\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140"+ "\1\u03eb\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u03ec\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u03ed\3\140"+ "\1\u03ee\6\140\1\u03ef\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\10\140\1\u03f0\1\u03f1\12\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u03f2\1\u03f3\4\140\1\u03f4\4\140"+ "\1\u0393\6\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\11\140"+ "\1\u03f5\12\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140"+ "\1\u03f6\1\u03a2\12\140\1\131\2\0\1\140\2\0\1\u0224"+ "\16\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\140\1\u03f7\22\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\7\140\1\u03a4\3\140\1\u03f8\1\u03f9\7\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\5\140\1\u03fa\16\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\140\1\u03fb\22\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u03fc\15\140\1\u03fd"+ "\3\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u03fe"+ "\14\140\1\u03ff\1\131\2\0\1\u0400\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140"+ "\1\u0401\3\140\1\u0402\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\11\140\1\u0403\12\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u0404\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u0405\1\140\1\u01dd\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u0406\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u0407\7\140\1\u0224"+ "\5\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\5\140\1\u0408"+ "\16\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\16\140\1\u0409"+ "\5\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u040a"+ "\1\140\1\u040b\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u040c\1\140\1\u0400\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\23\140\1\u040d\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u040e\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u040f"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\4\140\1\u0410\3\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u0411\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\20\140\1\u0412\3\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u0413\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\u0414\2\0\1\u014c\16\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u0415\15\140\1\u0416\3\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u0417\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\1\140\1\u0418\6\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u0419\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u041a\1\u041b\12\140\1\u041c"+ "\5\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u041d"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u041e"+ "\1\140\1\u041f\6\140\1\u0420\1\140\1\u0421\4\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u02dd\23\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\u015b\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u02f3\4\140\1\u0422\1\u02da\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u0423\3\140\1\u0424\1\140"+ "\1\u0425\4\140\1\u0426\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\u0427\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u0428\1\u0429\1\140\1\u042a\1\u042b\1\140\1\u042c"+ "\4\140\1\u042d\2\140\1\u0379\1\140\1\u01cc\3\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\u042e\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\10\140\1\u035e\1\u042f\2\140"+ "\1\u0430\3\140\1\u0431\3\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\22\140\1\u0432\1\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u0433\17\140\1\u0434\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\20\140\1\u0435\3\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u0436\1\u014c\3\140\1\u0437\2\140"+ "\1\u0438\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u0439\15\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\140"+ "\1\u043a\3\140\1\u043b\1\u043c\1\u043d\1\u043e\4\140\1\u043f"+ "\5\140\1\u0440\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u0441\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u0442\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\u0443"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u0444\12\140\1\u0445\2\140\1\u0446\3\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\140\1\u020f\6\140\1\u0447\13\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\140\1\u020f\6\140"+ "\1\u01dd\3\140\1\u0448\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\7\140\1\u0449\1\u01dd\7\140\1\u044a\3\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u044b\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\14\140\1\u044c\1\u044d\2\140\1\u044e"+ "\3\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u044f\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0450\15\140"+ "\1\u0451\3\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u0452"+ "\1\u0453\6\140\1\u0454\13\140\1\131\2\0\1\u0224\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\140\1\u0455\2\140\1\u0456\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\1\u02dd\7\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u0457\15\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u0458\10\140\1\u0459"+ "\5\140\1\u045a\1\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u045b\2\140\1\u045c\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u045d\17\140\1\131\2\0\1\140"+ "\2\0\14\140\1\u045e\2\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\10\140\1\u045f\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u0460\13\140\1\u0379"+ "\5\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u0461\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u02dd\14\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\17\140\1\u0462\4\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0463\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0464\3\140"+ "\1\u0465\14\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\11\140"+ "\1\u0466\12\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u0467\3\140\1\u0468\14\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u039f\7\140\1\u0469\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\14\140\1\u046a\7\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\140\1\u046b\22\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\10\140\1\u046c\13\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u046d\1\140\1\u046e\1\u046f"+ "\3\140\1\u0470\1\u0471\1\140\1\u0472\3\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\3\140\1\u0473\1\u0474\1\u01c5\5\140"+ "\1\u0352\1\140\1\u0353\1\u0475\5\140\1\131\2\0\1\140"+ "\2\0\1\u01ce\16\140\1\0\10\140\1\131\10\0\6\u0243"+ "\1\0\11\u0243\1\0\1\u0243\1\0\1\131\1\u0476\1\u0243"+ "\1\0\2\u0243\13\0\24\u0243\1\131\2\0\1\u0243\2\0"+ "\17\u0243\1\0\10\u0243\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u0477\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u0478\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\7\140\1\u0479\14\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u047a\3\140\1\u047b\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\7\140\1\u047c\14\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u047d\23\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u047e\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\16\140\1\u047f\5\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\1\140\1\u0480\6\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\11\140\1\u0481\12\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\14\140\1\u0482\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u0483\23\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u0484\6\140\1\u0485\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\13\140\1\u0486\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\7\140\1\u0487\14\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\1\u0488\16\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\22\140\1\u0489\1\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u01fb\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u048a\23\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u048b\13\140\1\u048c\1\140\1\u048d\3\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\11\0"+ "\6\u025a\1\0\11\u025a\1\0\1\u025a\5\0\2\u025a\13\0"+ "\24\u025a\3\0\1\u025a\2\0\17\u025a\1\0\10\u025a\11\0"+ "\1\u048e\53\0\1\u048e\62\0\6\u025e\1\0\13\u025e\5\0"+ "\2\u025e\1\0\1\u025e\11\0\24\u025e\3\0\1\u025e\2\0"+ "\17\u025e\1\0\10\u025e\62\0\1\u048f\1\u0490\14\0\1\u0491"+ "\121\0\1\u0492\143\0\1\u0493\137\0\1\u0494\3\0\1\u0495"+ "\116\0\1\u0496\12\0\1\u0497\140\0\1\u0498\121\0\1\u0499"+ "\5\0\1\u049a\143\0\1\u049b\137\0\1\u049c\124\0\1\u049d"+ "\10\0\1\u049e\135\0\1\u049f\124\0\1\u04a0\136\0\1\u04a1"+ "\72\0\6\u026c\1\0\13\u026c\5\0\2\u026c\1\0\1\u026c"+ "\11\0\24\u026c\3\0\1\u026c\2\0\17\u026c\1\0\10\u026c"+ "\71\0\1\u026d\142\0\1\u026d\6\0\1\u026d\111\0\1\u026d"+ "\12\0\1\u026d\11\0\1\u026d\127\0\1\u026d\126\0\1\u026d"+ "\7\0\1\u026d\136\0\1\u04a2\52\0\2\351\1\u04a3\3\351"+ "\1\0\10\351\2\0\1\351\5\0\2\351\13\0\3\351"+ "\1\u04a3\20\351\3\0\1\351\2\0\17\351\1\0\10\351"+ "\11\0\6\351\1\0\1\u04a4\7\351\2\0\1\351\5\0"+ "\2\351\13\0\17\351\1\u04a4\4\351\3\0\1\351\2\0"+ "\17\351\1\0\10\351\31\0\1\u04a5\174\0\1\u04a6\130\0"+ "\1\u027d\130\0\1\u04a7\151\0\1\u04a8\113\0\1\u04a9\73\0"+ "\2\54\1\0\1\54\1\0\2\54\2\0\6\54\1\0"+ "\26\54\1\0\20\54\1\u04aa\16\54\1\0\30\54\2\64"+ "\1\0\1\64\1\0\2\64\2\0\3\64\1\u04ab\2\64"+ "\1\0\26\64\1\0\6\64\1\u04ab\30\64\1\0\32\64"+ "\1\0\1\64\1\0\2\64\2\0\1\64\1\u029b\4\64"+ "\1\0\26\64\1\0\22\64\1\111\1\u029b\13\64\1\0"+ "\3\64\1\111\26\64\1\0\1\64\1\0\2\64\2\0"+ "\3\64\1\u04ac\2\64\1\0\26\64\1\0\6\64\1\u04ac"+ "\12\64\1\u04ad\15\64\1\0\2\64\1\u04ad\27\64\1\0"+ "\1\64\1\0\2\64\2\0\5\64\1\u04ae\1\0\26\64"+ "\1\0\10\64\1\u04ae\26\64\1\0\32\64\1\0\1\64"+ "\1\0\2\64\2\0\6\64\1\0\26\64\1\0\30\64"+ "\1\u029b\6\64\1\0\12\64\1\u029b\17\64\1\0\1\64"+ "\1\0\2\64\2\0\6\64\1\0\2\64\1\u04af\23\64"+ "\1\0\12\64\1\u04af\24\64\1\0\32\64\1\0\1\64"+ "\1\0\2\64\2\0\4\64\1\111\1\64\1\0\26\64"+ "\1\0\17\64\1\111\17\64\1\0\32\64\1\0\1\64"+ "\1\0\2\64\2\0\2\64\1\u04b0\3\64\1\0\26\64"+ "\1\0\11\64\1\u04b0\25\64\1\0\32\64\1\0\1\64"+ "\1\0\2\64\2\0\6\64\1\0\1\64\1\u02b1\24\64"+ "\1\0\15\64\1\u02b1\21\64\1\0\32\64\1\0\1\64"+ "\1\0\2\64\2\0\6\64\1\0\2\64\1\111\23\64"+ "\1\0\12\64\1\111\24\64\1\0\32\64\1\0\1\64"+ "\1\0\2\64\2\0\5\64\1\u029b\1\0\26\64\1\0"+ "\10\64\1\u029b\26\64\1\0\32\64\1\0\1\64\1\0"+ "\2\64\2\0\6\64\1\0\26\64\1\0\30\64\1\u04b1"+ "\6\64\1\0\12\64\1\u04b1\17\64\1\0\1\64\1\0"+ "\2\64\2\0\6\64\1\0\26\64\1\0\7\64\1\u04b2"+ "\27\64\1\0\7\64\1\u04b2\22\64\1\0\1\64\1\0"+ "\2\64\2\0\6\64\1\0\26\64\1\0\26\64\1\u04b3"+ "\10\64\1\0\4\64\1\u04b3\25\64\1\0\1\64\1\0"+ "\2\64\2\0\6\64\1\0\26\64\1\0\22\64\1\u04b4"+ "\14\64\1\0\3\64\1\u04b4\26\64\1\0\1\64\1\0"+ "\2\64\2\0\6\64\1\0\1\u029b\25\64\1\0\25\64"+ "\1\u029b\11\64\1\0\32\64\1\0\1\64\1\0\2\64"+ "\2\0\6\64\1\0\26\64\1\0\14\64\1\u04b5\22\64"+ "\1\0\1\64\1\u04b5\30\64\1\0\1\64\1\0\2\64"+ "\2\0\6\64\1\0\12\64\1\u02a9\13\64\1\0\37\64"+ "\1\0\6\64\1\u02a9\23\64\1\0\1\64\1\0\2\64"+ "\2\0\6\64\1\0\26\64\1\0\7\64\1\u02b0\27\64"+ "\1\0\7\64\1\u02b0\22\64\1\0\1\64\1\0\2\64"+ "\2\0\3\64\1\u04b6\2\64\1\0\26\64\1\0\6\64"+ "\1\u04b6\30\64\1\0\32\64\1\0\1\64\1\0\2\64"+ "\2\0\6\64\1\0\26\64\1\0\14\64\1\u02a8\22\64"+ "\1\0\1\64\1\u02a8\30\64\1\0\1\64\1\0\2\64"+ "\2\0\5\64\1\u04b7\1\0\26\64\1\0\10\64\1\u04b7"+ "\26\64\1\0\32\64\1\0\1\64\1\0\2\64\2\0"+ "\6\64\1\0\26\64\1\0\21\64\1\u02a9\15\64\1\0"+ "\2\64\1\u02a9\27\64\1\0\1\64\1\0\2\64\2\0"+ "\6\64\1\0\26\64\1\0\14\64\1\u0133\22\64\1\0"+ "\1\64\1\u0133\30\64\1\0\1\64\1\0\2\64\2\0"+ "\6\64\1\0\26\64\1\0\27\64\1\111\7\64\1\0"+ "\10\64\1\111\21\64\1\0\1\64\1\0\2\64\2\0"+ "\6\64\1\0\2\64\1\u04b8\23\64\1\0\12\64\1\u04b8"+ "\24\64\1\0\32\64\1\0\1\64\1\0\2\64\2\0"+ "\6\64\1\0\2\64\1\u0135\23\64\1\0\12\64\1\u0135"+ "\24\64\1\0\32\64\1\0\1\64\1\0\2\64\2\0"+ "\6\64\1\0\2\64\1\u02b1\23\64\1\0\12\64\1\u02b1"+ "\24\64\1\0\32\64\1\0\1\64\1\0\2\64\2\0"+ "\6\64\1\0\2\64\1\u0133\23\64\1\0\12\64\1\u0133"+ "\24\64\1\0\32\64\1\0\1\64\1\0\2\64\2\0"+ "\6\64\1\0\26\64\1\0\22\64\1\u04b9\14\64\1\0"+ "\3\64\1\u04b9\26\64\1\0\1\64\1\0\2\64\2\0"+ "\1\64\1\u04ba\4\64\1\0\26\64\1\0\23\64\1\u04ba"+ "\13\64\1\0\32\64\1\0\1\64\1\0\2\64\2\0"+ "\5\64\1\u04bb\1\0\26\64\1\0\10\64\1\u04bb\26\64"+ "\1\0\32\64\1\0\1\64\1\0\2\64\2\0\6\64"+ "\1\0\26\64\1\0\21\64\1\u04bc\15\64\1\0\2\64"+ "\1\u04bc\27\64\1\0\1\64\1\0\2\64\2\0\6\64"+ "\1\0\2\64\1\u04bd\23\64\1\0\12\64\1\u04bd\24\64"+ "\1\0\32\64\1\0\1\64\1\0\2\64\2\0\6\64"+ "\1\0\1\111\25\64\1\0\25\64\1\111\11\64\1\0"+ "\32\64\1\0\1\64\1\0\2\64\2\0\6\64\1\0"+ "\26\64\1\0\26\64\1\u04be\10\64\1\0\4\64\1\u04be"+ "\25\64\1\0\1\64\1\0\2\64\2\0\6\64\1\0"+ "\1\64\1\u04bf\24\64\1\0\15\64\1\u04bf\21\64\1\0"+ "\32\64\1\0\1\64\1\0\2\64\2\0\6\64\1\0"+ "\12\64\1\u04c0\13\64\1\0\37\64\1\0\6\64\1\u04c0"+ "\23\64\1\0\1\64\1\0\2\64\2\0\6\64\1\0"+ "\26\64\1\0\26\64\1\111\10\64\1\0\4\64\1\111"+ "\25\64\1\0\1\64\1\0\2\64\2\0\5\64\1\111"+ "\1\0\26\64\1\0\10\64\1\111\26\64\1\0\32\64"+ "\1\0\1\64\1\0\2\64\2\0\6\64\1\0\26\64"+ "\1\0\24\64\1\u028a\12\64\1\0\5\64\1\u028a\24\64"+ "\1\0\1\64\1\0\2\64\2\0\6\64\1\0\26\64"+ "\1\0\21\64\1\u04c1\15\64\1\0\2\64\1\u04c1\27\64"+ "\1\0\1\64\1\0\2\64\2\0\3\64\1\u04c2\2\64"+ "\1\0\26\64\1\0\6\64\1\u04c2\30\64\1\0\32\64"+ "\1\0\1\64\1\0\2\64\2\0\6\64\1\0\26\64"+ "\1\0\14\64\1\111\22\64\1\0\1\64\1\111\30\64"+ "\1\0\1\64\1\0\2\64\2\0\6\64\1\0\1\64"+ "\1\u04c3\24\64\1\0\15\64\1\u04c3\21\64\1\0\32\64"+ "\1\0\1\64\1\0\2\64\2\0\3\64\1\u0118\2\64"+ "\1\0\26\64\1\0\6\64\1\u0118\30\64\1\0\32\64"+ "\1\0\1\64\1\0\2\64\2\0\2\64\1\u04c4\3\64"+ "\1\0\26\64\1\0\11\64\1\u04c4\25\64\1\0\32\64"+ "\1\0\1\64\1\0\2\64\2\0\6\64\1\0\26\64"+ "\1\0\24\64\1\u04c5\12\64\1\0\5\64\1\u04c5\24\64"+ "\1\0\1\64\1\0\2\64\2\0\3\64\1\u04bb\2\64"+ "\1\0\26\64\1\0\6\64\1\u04bb\1\u04b2\27\64\1\0"+ "\7\64\1\u04b2\22\64\1\0\1\64\1\0\2\64\2\0"+ "\4\64\1\u0292\1\64\1\0\26\64\1\0\17\64\1\u0292"+ "\17\64\1\0\32\64\1\0\1\64\1\0\2\64\2\0"+ "\1\64\1\363\4\64\1\0\26\64\1\0\23\64\1\363"+ "\13\64\1\0\32\64\1\0\1\64\1\0\2\64\2\0"+ "\6\64\1\0\26\64\1\0\26\64\1\u04c6\10\64\1\0"+ "\4\64\1\u04c6\25\64\1\0\1\64\1\0\2\64\2\0"+ "\2\64\1\u04c7\3\64\1\0\26\64\1\0\11\64\1\u04c7"+ "\25\64\1\0\32\64\1\0\1\64\1\0\2\64\2\0"+ "\6\64\1\0\1\64\1\u04c8\24\64\1\0\15\64\1\u04c8"+ "\21\64\1\0\32\64\1\0\1\64\1\0\2\64\2\0"+ "\6\64\1\0\26\64\1\0\14\64\1\u04c9\22\64\1\0"+ "\1\64\1\u04c9\30\64\1\0\1\64\1\0\2\64\2\0"+ "\6\64\1\0\26\64\1\0\14\64\1\u04ca\22\64\1\0"+ "\1\64\1\u04ca\30\64\1\0\1\64\1\0\2\64\2\0"+ "\6\64\1\0\2\64\1\u0135\23\64\1\0\12\64\1\u0135"+ "\1\64\1\111\22\64\1\0\1\64\1\111\30\64\1\0"+ "\1\64\1\0\2\64\2\0\6\64\1\0\12\64\1\111"+ "\13\64\1\0\37\64\1\0\6\64\1\111\23\64\1\0"+ "\1\64\1\0\2\64\2\0\5\64\1\u04cb\1\0\26\64"+ "\1\0\10\64\1\u04cb\26\64\1\0\32\64\1\0\1\64"+ "\1\0\2\64\2\0\6\64\1\0\26\64\1\0\27\64"+ "\1\111\7\64\1\0\10\64\1\111\1\u04cc\6\64\1\u04cc"+ "\11\64\1\0\1\64\1\0\2\64\2\0\6\64\1\0"+ "\26\64\1\0\7\64\1\u04cd\27\64\1\0\7\64\1\u04cd"+ "\22\64\1\0\1\64\1\0\2\64\2\0\6\64\1\0"+ "\2\64\1\u0118\23\64\1\0\12\64\1\u0118\24\64\1\0"+ "\30\64\67\0\1\u04ce\61\0\1\u04cf\57\0\1\u04cf\133\0"+ "\1\u04d0\124\0\2\u02c4\16\0\1\u02c4\51\0\1\u04d1\126\0"+ "\1\131\10\0\1\131\1\u04d2\4\131\1\0\2\131\1\u04d2"+ "\1\131\4\u04d2\1\131\1\0\1\131\1\0\3\131\1\0"+ "\1\131\1\u04d2\13\0\4\131\3\u04d2\6\131\2\u04d2\4\131"+ "\1\u04d2\1\131\2\0\1\131\2\0\1\131\1\u04d2\3\131"+ "\1\u04d2\6\131\1\u04d2\2\131\1\0\1\131\3\u04d2\1\131"+ "\3\u04d2\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u04d3"+ "\23\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\u0143\10\0\6\u0143\1\0\4\u0143\2\u02c8\1\u0143\1\u02c8"+ "\1\u0143\1\0\1\u0143\1\0\3\u0143\1\0\1\u0143\1\u0146"+ "\13\0\5\u0143\1\u0146\10\u0143\1\u0146\6\u0143\2\0\1\u0143"+ "\2\0\5\u0143\1\u0146\6\u0143\1\u02c8\2\u0143\1\0\1\u0143"+ "\3\u02c8\1\u0143\3\u02c8\24\0\2\u02c8\1\0\1\u02c8\73\0"+ "\1\u02c8\4\0\3\u02c8\1\0\3\u02c8\1\u0143\10\0\1\u0143"+ "\1\u02cb\4\u0143\1\0\1\u0143\1\u02ca\1\u02cb\1\u0143\4\u02cb"+ "\1\u0143\1\0\1\u0143\1\0\3\u0143\1\0\1\u0143\1\u02cb"+ "\13\0\4\u0143\3\u02cb\1\u02ca\5\u0143\2\u02cb\4\u0143\1\u02cb"+ "\1\u0143\2\0\1\u0143\2\0\1\u0143\1\u02cb\3\u0143\1\u02cb"+ "\6\u0143\1\u02cb\2\u0143\1\0\1\u0143\3\u02cb\1\u0143\3\u02cb"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u0157"+ "\13\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u04d4\23\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u04d5\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u04d6\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u04d7\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u04d8\3\140"+ "\1\u04d9\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140"+ "\1\u014c\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u04da\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140"+ "\1\u04db\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140"+ "\1\u014c\13\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140"+ "\1\u04dc\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u04dd\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\u04de"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\12\140\1\u04df\11\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u014c\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u01aa\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\20\140\1\u014c\3\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u0224\14\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u04e0\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u04d9\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u04e1\6\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u04e2\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u02d3\13\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u04e3\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u04e4\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\140\1\u04e5\22\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u015f\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u04e6\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u04e3\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u04e7\6\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u02f3\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u04e6\14\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\22\140\1\u04e8\1\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u04e9\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u04ea\13\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\21\140\1\u04eb\2\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u014c\14\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u04ec\23\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\15\140\1\u02ff\6\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\10\140\1\u02d5\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u04e5\20\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u04ed\5\140\1\u03b7"+ "\13\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u04ee"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u04ef"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\u04f0\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\23\140\1\u04f1\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u04f2\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u04f3\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\7\140\1\u04f4\14\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u04e5\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\12\140\1\u014c\11\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\7\140\1\u02da\14\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\12\0\1\u04f5\7\0"+ "\1\u04f5\1\0\4\u04f5\11\0\1\u04f5\17\0\3\u04f5\6\0"+ "\2\u04f5\4\0\1\u04f5\7\0\1\u04f5\3\0\1\u04f5\6\0"+ "\1\u04f5\4\0\3\u04f5\1\0\3\u04f5\12\0\1\u04f6\7\0"+ "\1\u04f6\1\0\4\u04f6\11\0\1\u04f6\17\0\3\u04f6\6\0"+ "\2\u04f6\4\0\1\u04f6\7\0\1\u04f6\3\0\1\u04f6\6\0"+ "\1\u04f6\4\0\3\u04f6\1\0\3\u04f6\12\0\1\u04f7\57\0"+ "\1\u04f7\125\0\1\u0305\130\0\1\u04f8\151\0\1\u04f9\113\0"+ "\1\u04fa\105\0\1\u04fb\57\0\1\u04fb\125\0\1\u030a\130\0"+ "\1\u04fc\151\0\1\u04fd\113\0\1\u04fe\73\0\1\131\10\0"+ "\6\140\1\0\1\140\1\u04ff\7\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\3\140\1\u0500\2\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\6\140\1\u0501\10\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0502"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u0503"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u0237"+ "\4\140\1\u0504\10\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\1\140\1\u0505\15\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\2\140\1\u0506"+ "\6\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\3\140\1\u0507\2\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\7\140"+ "\1\u0508\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u0509\11\140\1\u050a\5\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u050b\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u050c\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u03d4\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u03df\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\u050d\2\0\17\140"+ "\1\0\1\u050e\7\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u050f\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u0510\12\140\1\u0511\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u0512\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u0511\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u0513\23\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\13\140\1\u0514\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\10\140\1\u0393\13\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\13\140\1\u0515\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u0516\14\140\1\u0224\3\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\u0517\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u0518\2\140\1\u0519\1\u0328\1\u051a"+ "\1\u051b\1\u051c\1\u051d\2\140\1\u051e\1\u051f\1\u0520\1\u0521"+ "\4\140\1\u0522\1\131\2\0\1\140\2\0\1\u0523\16\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\16\140\1\u0224\5\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u0524\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u0525\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\u0526\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u0355\23\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u0527\13\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u0528\23\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\u0529\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u03b7\1\140\1\u052a"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\12\140\1\u0527"+ "\11\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u03b0"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u052b"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u052c\12\140"+ "\1\u03df\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\12\140"+ "\1\u032e\5\140\1\u02dd\3\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u052d\6\140\1\u052e\11\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\10\140\1\u052f\13\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\15\140\1\u0530\6\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\7\140\1\u0531\14\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u0532\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u0533\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u0224\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u0534\15\140\1\u0159"+ "\1\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0535"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u0224"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u04d7"+ "\1\140\1\u0536\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u0537\3\140\1\u0538\14\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\14\140\1\u0539\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\14\140\1\u053a\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\140\1\u053b\7\140\1\u053c\12\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\7\140\1\u053d\3\140\1\u053e"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u053f"+ "\13\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\140\1\u0540"+ "\22\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u0541\1\0\1\u0542"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u0543"+ "\1\u0544\1\u0545\1\u0546\1\u0547\1\u0548\1\u0549\1\u054a\1\u054b"+ "\1\u054c\1\u054d\1\u054e\1\u054f\1\u0550\1\u0551\1\140\1\u0552"+ "\1\140\1\u0553\1\u0554\1\131\2\0\1\140\2\0\1\u0555"+ "\16\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\23\140\1\u0556\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u0557\23\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u0558\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u0559\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u052f"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\21\140\1\u055a"+ "\2\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u055b"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u055c"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u055d"+ "\17\140\1\131\2\0\1\140\2\0\16\140\1\u055e\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u0237\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u055f\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140"+ "\1\u01b7\1\u0560\7\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u039b\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\u0561\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\6\140\1\u03a0\15\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\11\140\1\u03a2\12\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\7\140\1\u03a4\3\140\1\u0562\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u055c\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u0363\14\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\17\140\1\u0563\4\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u0564\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u04da\7\140\1\u0565\7\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\140\1\u0566\16\140\1\u0224"+ "\3\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\11\140\1\u0567"+ "\12\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0568"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u0569"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\140\1\u056a"+ "\22\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\12\140\1\u0224"+ "\11\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u056b"+ "\6\140\1\u016c\10\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\15\140\1\u037e\6\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u056c\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\1\u056d\16\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u0224\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\5\140"+ "\1\u0329\16\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u056e"+ "\23\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u056f\23\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u0570\1\u0571"+ "\5\140\1\u0572\5\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\6\140\1\u0573\15\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\u0574\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u0575\1\140\1\u03df\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u0576\14\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u0577\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\13\140\1\u0578\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\13\140\1\u0579\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u057a\23\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\u057b\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u057c\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\140\1\u0363"+ "\14\140\1\u0224\5\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\1\140"+ "\1\u057d\6\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\u057e\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u057f\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u0325\7\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u0580\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u0581\14\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u0582\6\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u052c\23\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u0583\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\140\1\u0584\22\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\10\140\1\u0363\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u0585\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u0586\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u0587\15\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u0588\23\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\23\140\1\u0589\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u058a\4\140\1\u058b\2\140\1\u058c\5\140"+ "\1\u058d\5\140\1\131\2\0\1\140\2\0\1\u058e\16\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u058f\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\16\140\1\u0590\5\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u0591\2\140\1\u0592\16\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u0593\1\u0594\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\15\140\1\u0595\6\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\7\140\1\u0596\3\140\1\u0319\4\140"+ "\1\u0597\3\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140"+ "\1\u0598\14\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140"+ "\1\u0599\6\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140"+ "\1\u059a\13\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140"+ "\1\u059b\14\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u059c\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u02f1\7\140\1\u0224\5\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u059d\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\u059e\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u059f\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\21\140\1\u0224"+ "\2\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\23\140\1\u05a0"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u05a1\1\140"+ "\1\u0325\5\140\1\u05a2\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\15\140\1\u05a3\6\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\u0398\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140"+ "\1\u037e\13\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u05a4\4\140\1\u052c\1\140\1\u0393\6\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u03df\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u0393\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\15\140\1\u05a5\6\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u05a6\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u05a7\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u05a8\23\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\10\140\1\u03f4\13\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u05a9\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u048a\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u05aa\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\13\140\1\u037c\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\1\u05ab\7\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u052f\23\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\13\140\1\u05ac\10\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u05ad\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u05ae\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\14\140\1\u05af\7\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\6\140\1\u05b0\15\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\140\1\u048a\22\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\14\140\1\u035e\7\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u05b1\3\140\1\u05b2\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u05b3\23\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\20\140\1\u02dd\3\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\15\140\1\u05b4\6\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u05b5\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u05b6"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140"+ "\1\u035e\13\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u05b7\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u05b8\1\u05b9\1\u05ba\1\140\1\u05bb\4\140\1\u05bc"+ "\6\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u014c"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\21\140\1\u05bd"+ "\2\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u05be"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u05bf"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\140\1\u05c0"+ "\22\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\6\140\1\u05c1\1\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\16\140\1\u05c2"+ "\5\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\21\140\1\u05c3"+ "\2\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\140\1\u05c4"+ "\22\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u05c5"+ "\12\140\1\u0224\2\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u05c6"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\11\140"+ "\1\u05c7\12\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u05c8\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u05c9"+ "\13\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u05ca\10\140"+ "\1\u05cb\12\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u05cc\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u05cd\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u05ce\1\140\1\u05cf\1\u05d0\1\u05d1\1\u055a\1\140\1\u03a2"+ "\1\u05d2\1\u05d3\2\140\1\u05d4\1\u05d5\4\140\1\u0159\1\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u05d6\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u05d7\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\1\140\1\u05d8\4\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u05d9\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u05da\1\140"+ "\1\u05db\13\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u05dc\1\0"+ "\1\u0527\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u05dd\1\140\1\u05de\1\u05df\1\140\1\u05e0\1\u05e1\1\u05e2"+ "\1\u05e3\1\u05e4\1\u05e5\1\u05e6\1\u0569\1\u05e7\1\u05e8\1\140"+ "\1\u05e9\2\140\1\u05ea\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u05eb\23\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u05ec\1\u014c\16\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\6\140\1\u05ed\1\140\1\u05ee\13\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\16\140\1\u05ef\5\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u05f0\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u05c2\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u0527\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\22\140\1\u05f1\1\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u05f2\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\15\140\1\u05f3\6\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u05f4"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u05f5\23\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\5\140\1\u05f6\16\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\7\140\1\u05f7\14\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\6\140"+ "\1\u045e\1\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\1\u05f8\16\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u05f9\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\13\140\1\u05fa\10\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\14\140\1\u05fb\7\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u0224\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\21\140\1\u05fc\2\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\11\140\1\u05fd\12\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\7\140\1\u05fe\4\140\1\u01b2\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u05ff\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u0600\4\140\1\u0601\14\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\7\140\1\u032b\14\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\1\u0602\16\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u0603\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\23\140\1\u0604\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u0605\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u0606\23\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u0607\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\7\140\1\u0608\14\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\140\1\u0224\22\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\u0609\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u060a\1\u060b\1\u060c\1\u060d\1\u060e"+ "\1\u060f\1\u0610\1\u0611\1\u0612\1\u0613\1\u0614\1\u0615\1\u0616"+ "\1\u0617\1\u0618\1\140\1\u0619\1\140\1\u0553\1\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\1\u061a\7\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u061b\5\140"+ "\1\u04e8\1\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\140"+ "\1\u061c\3\140\1\u061d\3\140\1\u061e\10\140\1\u061f\1\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u04e9\12\140"+ "\1\u0620\6\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140"+ "\1\u039c\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u0621\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\12\140"+ "\1\u0345\11\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u0622\3\140\1\u0623\13\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\10\140\1\u0624\13\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u0625\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u0557\14\140\1\u0626\4\140\1\u0553\1\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u0627\23\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\1\140\1\u0628\6\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\14\140\1\u0629\7\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u062a\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u062b\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\12\140\1\u062c\11\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\11\140\1\u062d\12\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\7\140\1\u062e\14\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\16\140\1\u062f\5\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\3\140\1\u0630\20\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\16\140\1\u0631\5\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u0632\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\5\140\1\u0633\1\u0634\1\140"+ "\1\u0635\3\140\1\u0326\1\u0636\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\16\140\1\u0355\5\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\13\140\1\u03df\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\u0637\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u0638\1\u0639\1\140\1\u063a\1\u063b\1\u063c"+ "\1\u063d\1\140\1\u063e\1\u063f\1\140\1\u0640\1\u0641\1\u0642"+ "\1\u0643\1\140\1\u0644\3\140\1\131\2\0\1\140\2\0"+ "\1\u0645\16\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\11\140\1\u0646\12\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\11\140\1\u0647\12\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u0648\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\10\140\1\u0649\13\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u064a\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u064b\23\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140"+ "\1\u064c\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u064d\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u064e\2\140\1\u064f\1\u0650\1\u0651\1\140\1\u0652\1\u0653"+ "\1\u0654\2\140\1\u0655\1\u0656\1\u0657\4\140\1\u0658\1\131"+ "\2\0\1\140\2\0\1\u0659\16\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u065a\6\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u065b\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u065c\1\u065d\1\u065e"+ "\1\140\1\u065f\1\u01c5\1\140\1\u0660\1\u0661\4\140\1\u0662"+ "\6\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0663"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0664"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u0665\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\23\140"+ "\1\u0666\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0667"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0668"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u01af"+ "\4\140\1\u0669\6\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u066a\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\7\140\1\u066b\14\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\23\140\1\u052c\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\11\140"+ "\1\u066c\12\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u066d\1\140\1\u066e\15\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\20\140\1\u05eb\3\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u066f\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u0670\3\140\1\u0671\14\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u0672\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\15\140\1\u0673\6\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\5\140\1\u0674\2\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\11\140\1\u03df\12\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u0675\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\7\140\1\u0676\14\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u0677\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u0678\15\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\10\140\1\u0679\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\10\140\1\u067a\3\140\1\u067b"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u067c"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u067d"+ "\14\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0527"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u0403"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u067e"+ "\6\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u067f"+ "\10\140\1\u0680\7\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\11\140\1\u0224\12\140\1\131\2\0\1\140\2\0\1\u048a"+ "\16\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u0681\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\17\140\1\u0224\4\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u0682\5\140\1\u0683\3\140\1\u0684\5\140"+ "\1\u0685\1\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\11\140"+ "\1\u0593\6\140\1\u0686\3\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\10\140\1\u0687\13\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\u0688\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u0689\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\11\140"+ "\1\u068a\12\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u0382\12\140\1\u068b\2\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u068c\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\1\u068d\16\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\1\140\1\u068e"+ "\6\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u068f"+ "\5\140\1\u04ee\15\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\140\1\u0690\22\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u0691\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\15\140\1\u0692\6\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u0537\3\140\1\u0693\2\140\1\u0694\1\u0695\7\140"+ "\1\u0256\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\u0696\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u0697\1\140\1\u0698"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u05da"+ "\4\140\1\u0699\10\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\23\140\1\u069a\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140"+ "\1\u069b\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\u069c"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u05de\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u069d\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\u069e\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u069f\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\140\1\u020f\22\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u06a0\23\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u060a\2\140\1\u06a1\1\u06a2"+ "\1\u06a3\5\140\1\u0352\1\u06a4\1\u01cb\1\u06a5\5\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\140\1\u06a6\2\140\1\u06a7"+ "\1\u031f\1\u0237\5\140\1\u0326\1\u039a\1\140\1\u06a8\1\u06a9"+ "\3\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\140\1\u06aa"+ "\22\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u06ab"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u06ac"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\140\1\u06ad"+ "\1\140\1\u06ae\4\140\1\u06af\13\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u06b0\3\140\1\u06b1\11\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u06b2\1\140\1\u06b3"+ "\6\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u0224"+ "\4\140\1\u0224\7\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u06b4\23\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u06b5\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u06b6\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u06b7"+ "\13\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u06b8"+ "\13\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u06b9"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u06ba"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u06bb"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\17\140\1\u06bc"+ "\4\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u06bd"+ "\14\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u06be"+ "\6\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u0364\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\1\u06bf\7\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u06c0\23\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u06c1\1\u06c2\1\140\1\u06c3\1\u06c4"+ "\2\140\1\u06c5\1\u06c6\1\u06c7\1\u06c8\1\u06c9\1\140\1\u06ca"+ "\1\u06cb\5\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u06cc\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u06cd"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u06ce"+ "\13\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u06cf"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u039f"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u06d0\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u06d1"+ "\23\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\u06d2\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u06d3\23\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\11\140\1\u06d4\12\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\16\140\1\u06d5\5\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\1\140\1\u06d6"+ "\6\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u06d7"+ "\23\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u06d8"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\16\140\1\u0325"+ "\5\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\u06d9\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u06da"+ "\6\140\1\131\2\0\1\140\2\0\17\140\1\0\1\u0319"+ "\7\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140"+ "\1\u06db\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140"+ "\1\u06dc\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u06dd"+ "\23\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\u02dd\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u0325"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u06de"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u06df"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u055b"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\131\1\0\11\131\1\0\1\u06e0\1\0"+ "\3\131\1\0\2\131\13\0\25\131\2\0\1\131\2\0"+ "\17\131\1\0\11\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\15\140\1\u06e1\6\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u06e2\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u06e3"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u06e4\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u06e5\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u06e6\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u06e7\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u06e8\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u06e9\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\16\140\1\u06ea\5\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\u06eb\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\6\140\1\u06ec\15\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u06ed"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\16\140"+ "\1\u06ee\5\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\23\140"+ "\1\u06ef\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u042f"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u06f0"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\20\140\1\u06f1"+ "\3\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u06f2\23\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u06f3\23\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u06f4\15\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\14\140\1\u0224\7\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u06f5\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u06f6\15\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u06f7\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\16\0\1\u06f8"+ "\40\0\1\u06f8\134\0\1\u06f9\143\0\1\u06fa\135\0\1\u06fb"+ "\135\0\1\u06fc\146\0\1\u049e\131\0\1\u06fd\141\0\1\u06fe"+ "\130\0\1\u06ff\150\0\1\u0700\123\0\1\u0701\150\0\1\u0702"+ "\132\0\1\u0703\3\0\1\u0704\144\0\1\u0705\123\0\1\u0706"+ "\141\0\1\u0707\126\0\1\u0708\140\0\1\u0709\142\0\1\u0494"+ "\136\0\1\u070a\137\0\1\u070b\61\0\3\351\1\u070c\2\351"+ "\1\0\10\351\2\0\1\351\5\0\2\351\13\0\1\u070c"+ "\23\351\3\0\1\351\2\0\17\351\1\0\10\351\11\0"+ "\6\351\1\0\1\351\1\u070d\6\351\2\0\1\351\5\0"+ "\2\351\13\0\7\351\1\u070d\14\351\3\0\1\351\2\0"+ "\17\351\1\0\10\351\66\0\1\u070e\60\0\1\u070f\201\0"+ "\1\u04a7\11\0\1\u027d\56\0\2\u0710\1\0\7\u04a9\1\0"+ "\10\u04a9\2\u0710\1\u04a9\1\0\1\u0710\1\0\1\u04a9\1\u0710"+ "\2\u04a9\2\u0710\1\0\2\u0710\1\0\5\u0710\24\u04a9\3\u0710"+ "\1\u04a9\2\u0710\17\u04a9\1\0\10\u04a9\2\54\1\0\1\54"+ "\1\0\2\54\2\0\6\54\1\0\26\54\1\0\17\54"+ "\1\u0711\17\54\1\0\30\54\2\64\1\0\1\64\1\0"+ "\2\64\2\0\4\64\1\u02a9\1\64\1\0\26\64\1\0"+ "\17\64\1\u02a9\17\64\1\0\32\64\1\0\1\64\1\0"+ "\2\64\2\0\6\64\1\0\26\64\1\0\27\64\1\u028a"+ "\7\64\1\0\10\64\1\u028a\21\64\1\0\1\64\1\0"+ "\2\64\2\0\6\64\1\0\26\64\1\0\22\64\1\u0104"+ "\14\64\1\0\3\64\1\u0104\26\64\1\0\1\64\1\0"+ "\2\64\2\0\3\64\1\u04bb\2\64\1\0\26\64\1\0"+ "\6\64\1\u04bb\30\64\1\0\32\64\1\0\1\64\1\0"+ "\2\64\2\0\1\64\1\u02a9\4\64\1\0\26\64\1\0"+ "\23\64\1\u02a9\13\64\1\0\32\64\1\0\1\64\1\0"+ "\2\64\2\0\1\64\1\u028a\4\64\1\0\26\64\1\0"+ "\23\64\1\u028a\13\64\1\0\32\64\1\0\1\64\1\0"+ "\2\64\2\0\6\64\1\0\26\64\1\0\14\64\1\u0712"+ "\22\64\1\0\1\64\1\u0712\30\64\1\0\1\64\1\0"+ "\2\64\2\0\2\64\1\u0713\3\64\1\0\26\64\1\0"+ "\11\64\1\u0713\25\64\1\0\32\64\1\0\1\64\1\0"+ "\2\64\2\0\6\64\1\0\2\64\1\u0714\23\64\1\0"+ "\12\64\1\u0714\1\64\1\u04b8\22\64\1\0\1\64\1\u04b8"+ "\30\64\1\0\1\64\1\0\2\64\2\0\6\64\1\0"+ "\26\64\1\0\24\64\1\u0715\12\64\1\0\5\64\1\u0715"+ "\24\64\1\0\1\64\1\0\2\64\2\0\6\64\1\0"+ "\26\64\1\0\26\64\1\u028a\10\64\1\0\4\64\1\u028a"+ "\25\64\1\0\1\64\1\0\2\64\2\0\6\64\1\0"+ "\26\64\1\0\22\64\1\u0716\14\64\1\0\3\64\1\u0716"+ "\26\64\1\0\1\64\1\0\2\64\2\0\6\64\1\0"+ "\26\64\1\0\14\64\1\u0717\22\64\1\0\1\64\1\u0717"+ "\30\64\1\0\1\64\1\0\2\64\2\0\6\64\1\0"+ "\26\64\1\0\22\64\1\u0133\14\64\1\0\3\64\1\u0133"+ "\26\64\1\0\1\64\1\0\2\64\2\0\5\64\1\u0718"+ "\1\0\26\64\1\0\10\64\1\u0718\26\64\1\0\32\64"+ "\1\0\1\64\1\0\2\64\2\0\6\64\1\0\26\64"+ "\1\0\27\64\1\u0719\7\64\1\0\10\64\1\u0719\21\64"+ "\1\0\1\64\1\0\2\64\2\0\6\64\1\0\26\64"+ "\1\0\21\64\1\u012d\15\64\1\0\2\64\1\u012d\27\64"+ "\1\0\1\64\1\0\2\64\2\0\6\64\1\0\12\64"+ "\1\u04b8\13\64\1\0\37\64\1\0\6\64\1\u04b8\23\64"+ "\1\0\1\64\1\0\2\64\2\0\6\64\1\0\21\64"+ "\1\u071a\4\64\1\0\13\64\1\u071a\23\64\1\0\32\64"+ "\1\0\1\64\1\0\2\64\2\0\6\64\1\0\2\64"+ "\1\u071b\23\64\1\0\12\64\1\u071b\24\64\1\0\32\64"+ "\1\0\1\64\1\0\2\64\2\0\6\64\1\0\26\64"+ "\1\0\24\64\1\u071c\12\64\1\0\5\64\1\u071c\24\64"+ "\1\0\1\64\1\0\2\64\2\0\2\64\1\u028a\3\64"+ "\1\0\26\64\1\0\11\64\1\u028a\25\64\1\0\32\64"+ "\1\0\1\64\1\0\2\64\2\0\6\64\1\0\26\64"+ "\1\0\22\64\1\u071d\14\64\1\0\3\64\1\u071d\26\64"+ "\1\0\1\64\1\0\2\64\2\0\1\64\1\377\4\64"+ "\1\0\26\64\1\0\23\64\1\377\13\64\1\0\32\64"+ "\1\0\1\64\1\0\2\64\2\0\6\64\1\0\2\64"+ "\1\u02a9\23\64\1\0\12\64\1\u02a9\24\64\1\0\32\64"+ "\1\0\1\64\1\0\2\64\2\0\6\64\1\0\2\64"+ "\1\u071e\23\64\1\0\12\64\1\u071e\24\64\1\0\32\64"+ "\1\0\1\64\1\0\2\64\2\0\6\64\1\0\26\64"+ "\1\0\14\64\1\u071f\22\64\1\0\1\64\1\u071f\30\64"+ "\1\0\1\64\1\0\2\64\2\0\6\64\1\0\26\64"+ "\1\0\21\64\1\u0104\15\64\1\0\2\64\1\u0104\27\64"+ "\1\0\1\64\1\0\2\64\2\0\3\64\1\u0720\2\64"+ "\1\0\26\64\1\0\6\64\1\u0720\30\64\1\0\32\64"+ "\1\0\1\64\1\0\2\64\2\0\5\64\1\u0721\1\0"+ "\1\64\1\u0722\24\64\1\0\7\64\1\u0723\1\u0721\4\64"+ "\1\u0722\21\64\1\0\7\64\1\u0723\22\64\1\0\1\64"+ "\1\0\2\64\2\0\3\64\1\u0724\2\64\1\0\26\64"+ "\1\0\6\64\1\u0724\30\64\1\0\32\64\1\0\1\64"+ "\1\0\2\64\2\0\6\64\1\0\12\64\1\u0725\13\64"+ "\1\0\37\64\1\0\6\64\1\u0725\23\64\1\0\1\64"+ "\1\0\2\64\2\0\6\64\1\0\2\64\1\u012d\23\64"+ "\1\0\12\64\1\u012d\24\64\1\0\30\64\66\0\1\u0726"+ "\63\0\1\u0727\44\0\1\u0727\144\0\1\u0728\50\0\1\131"+ "\10\0\1\131\1\u0729\4\131\1\0\2\131\1\u0729\1\131"+ "\4\u0729\1\131\1\0\1\131\1\0\3\131\1\0\1\131"+ "\1\u0729\13\0\4\131\3\u0729\6\131\2\u0729\4\131\1\u0729"+ "\1\131\2\0\1\131\2\0\1\131\1\u0729\3\131\1\u0729"+ "\6\131\1\u0729\2\131\1\0\1\131\3\u0729\1\131\3\u0729"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u072a"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u03a6"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\3\140\1\u0224\13\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u072b"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u072c"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u072d"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u03b7"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u072e"+ "\13\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\1\u072f\16\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u058a\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0730\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u0731\7\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0732\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u0733\14\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u04e5\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0734\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u0735\23\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\12\140\1\u0736\11\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u04ef\15\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u0737\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u0738\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u0739\15\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\22\140\1\u02da\1\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u073a\23\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\u073b\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u02da\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\140\1\u073c\22\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\7\140\1\u02fe\14\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u0179\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\21\140\1\u014c\2\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u073d\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\13\0\1\u073e\44\0\1\u073e\66\0"+ "\1\u073f\201\0\1\u04f8\11\0\1\u0305\56\0\2\u0740\1\0"+ "\7\u04fa\1\0\10\u04fa\2\u0740\1\u04fa\1\0\1\u0740\1\0"+ "\1\u04fa\1\u0740\2\u04fa\2\u0740\1\0\2\u0740\1\0\5\u0740"+ "\24\u04fa\3\u0740\1\u04fa\2\u0740\17\u04fa\1\0\10\u04fa\13\0"+ "\1\u0741\44\0\1\u0741\66\0\1\u0742\201\0\1\u04fc\11\0"+ "\1\u030a\56\0\2\u0743\1\0\7\u04fe\1\0\10\u04fe\2\u0743"+ "\1\u04fe\1\0\1\u0743\1\0\1\u04fe\1\u0743\2\u04fe\2\u0743"+ "\1\0\2\u0743\1\0\5\u0743\24\u04fe\3\u0743\1\u04fe\2\u0743"+ "\17\u04fe\1\0\10\u04fe\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\1\140\1\u0744"+ "\15\140\1\0\10\140\1\131\10\0\6\140\1\0\1\140"+ "\1\u0745\7\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\3\140\1\u0746"+ "\13\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u0747\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\10\140\1\u0748\13\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u0749\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\4\140\1\u074a"+ "\12\140\1\0\10\140\1\131\10\0\5\140\1\u074b\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\2\140\1\u074c\3\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u0316"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140"+ "\1\u0560\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u0560\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u074d\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u074e\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\7\140\1\u0449\14\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u074f\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u0325\23\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\140"+ "\1\u0750\22\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140"+ "\1\u0751\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140"+ "\1\u0393\6\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u014c\1\u03ce\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u06a0\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u0752\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u0753\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\6\140\1\u0754\15\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\11\140\1\u0755\12\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\14\140\1\u0756\7\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u0757\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u0758\6\140\1\u0759\14\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u075a\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u0528\12\140\1\u075b\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\u075c\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u075d\10\140\1\u075e\1\140\1\u075f"+ "\6\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\23\140\1\u0760"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\u0761\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u048a\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u0762\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u052c\12\140\1\u0763"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u0764"+ "\3\140\1\u0765\10\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u0766\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\u03df\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u0767"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0768"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\11\140\1\u0224"+ "\12\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"; private static final String ZZ_TRANS_PACKED_1 = "\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u0393"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\11\140\1\u0769"+ "\12\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\20\140\1\u076a"+ "\3\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\20\140\1\u076b"+ "\3\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0224"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u076c\23\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u076d\23\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u0363\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u076e\4\140\1\u076f"+ "\12\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u075b"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\140\1\u0770"+ "\1\140\1\u0771\2\140\1\u0772\1\140\1\u056a\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u0773\20\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u0774\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\3\140\1\u0775\20\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u076b\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\u0776\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\22\140\1\u0777\1\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u0778\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u0779\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u077a\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u072d\6\140\1\u077b\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u077c\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u077d\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\13\140\1\u077e\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u077f\2\140\1\u0780\1\u0781\1\140\1\u0782"+ "\1\u0783\1\u0784\1\u0785\1\u0786\1\u0787\1\u0788\1\u0789\1\u078a"+ "\1\140\1\u078b\2\140\1\u078c\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u078d\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u078e\11\140\1\u078f\3\140\1\u0790\3\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0791\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u0792\3\140\1\u0524"+ "\12\140\1\u01aa\4\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\u0793\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\6\140\1\u0794\15\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\7\140\1\u0795\4\140\1\u06dd\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\u0796\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u0797\23\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u0798\4\140\1\u0799\14\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u079a\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\u079b\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u079c\1\140\1\u079d\1\140\1\u079e"+ "\5\140\1\u079f\11\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u07a0\1\u07a1\1\140\1\u07a2\4\140\1\u07a3\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u07a4\6\140"+ "\1\u07a5\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\11\140"+ "\1\u03df\12\140\1\131\2\0\1\140\2\0\1\u07a6\16\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\6\140\1\u07a7\15\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u0460\1\u07a8\6\140\1\u07a9\11\140\1\131\2\0"+ "\1\140\2\0\1\u0325\16\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u07aa\1\140\1\u052f"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0460"+ "\1\140\1\u07ab\12\140\1\u07ac\4\140\1\131\2\0\1\u07ad"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u07ae\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\u07af\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u07b0\23\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140"+ "\1\u07b1\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u07b2\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u07b3"+ "\1\u07b4\1\140\1\u07b5\1\140\1\u0593\1\u07b6\1\u07b7\1\u07b8"+ "\1\u07b9\1\u07ba\1\u052c\1\u07bb\1\u07bc\1\u07bd\1\140\1\u0472"+ "\3\140\1\131\2\0\1\u07be\2\0\17\140\1\0\4\140"+ "\1\u07bf\3\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u0460\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\15\140\1\u07c0\6\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\5\140\1\u07c1\16\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u07c2\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\1\u01ce\16\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u0325\15\140\1\131\2\0\1\140\2\0\1\u07c3\16\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\15\140\1\u0596\6\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u07c4\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\20\140\1\u07c5\3\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u07c6"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u07c7\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u0348"+ "\6\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\140\1\u07c8"+ "\22\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u07c9"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\16\140\1\u07ca"+ "\5\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u06c0"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u03df"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u07cb"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u07cc"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u07cd"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\20\140\1\u0224"+ "\3\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u07ce"+ "\13\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u07cf\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\11\140"+ "\1\u07d0\12\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140"+ "\1\u048a\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u07d1\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\140\1\u07d2\3\140\1\u0329\1\140\1\u07d3\6\140\1\u0379"+ "\5\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\u07d4\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\7\140\1\u07d5\14\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u07d6\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u07d7\15\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\20\140\1\u07d8\3\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\16\140\1\u07d9\5\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\22\140\1\u07da\1\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\14\140\1\u07db\7\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u07dc\23\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u07dd\2\140\1\u0449\3\140"+ "\1\u0352\1\140\1\u01cb\6\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\16\140\1\u07bb\5\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u018c\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\11\140\1\u07de\12\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\1\u07df\7\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u05fe\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\23\140\1\u031e\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\13\140\1\u07e0\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u07e1\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u07e2\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u07e3\23\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u07e4\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u058a\23\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\11\140\1\u07e5\12\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u07e6\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\7\140\1\u07e7\14\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\5\140\1\u014c\16\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\13\140\1\u07e8\10\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\1\u0167\16\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u07e9\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\12\140"+ "\1\u0179\11\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\17\140"+ "\1\u014c\4\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u07ea"+ "\23\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u07eb\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u0695\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u07ec\7\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\u052f\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\13\140\1\u077b\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\6\140\1\u0224\1\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\20\140\1\u07ed\3\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u07ee\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u07ef\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u07f0\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\16\140\1\u07f1\5\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u07f2\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u07f3\1\u0544\1\u05de"+ "\3\140\1\u055a\1\140\1\u07f4\1\u07f5\1\140\1\u07f6\1\140"+ "\1\u055a\2\140\1\u055a\3\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\10\140\1\u07f7\4\140\1\u07f8\6\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\14\140\1\u0565\7\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\140\1\u07f9\1\140\1\u07fa\1\u07fb"+ "\1\u07fc\1\u07fd\1\u07fe\1\u07ff\1\u0800\2\140\1\u0801\1\u0802"+ "\1\u06a5\1\140\1\u0803\3\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\1\u0804\7\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u0805\23\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u050b\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\15\140\1\u0806\6\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\12\140\1\u0807\11\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u0808\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\21\140\1\u0809\2\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\14\140\1\u01b7\7\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\10\140\1\u0224\4\140\1\u080a\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\14\140\1\u080b\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u02f3\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u0360\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u080c\14\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\15\140\1\u080d\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u080e\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u080f\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u0810\3\140\1\u0811\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\12\140\1\u0224\11\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\1\140\1\u0224\6\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\17\140\1\u0812"+ "\4\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\140\1\u0813"+ "\22\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0814"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u0815\23\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\12\140\1\u0816\11\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u0817\7\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\140\1\u0818\2\140"+ "\1\u0819\3\140\1\u081a\4\140\1\u081b\1\u081c\4\140\1\u081d"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u063a\10\140"+ "\1\u081e\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140"+ "\1\u081f\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\u0820"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u0237"+ "\23\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u0821"+ "\6\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u075d"+ "\4\140\1\u0822\2\140\1\u02db\11\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\10\140\1\u0823\2\140\1\u0824\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\14\140\1\u0825\7\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u0826\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u0827\23\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\16\140\1\u0828\5\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\5\140\1\u0224\3\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\11\140\1\u0224"+ "\12\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\12\140\1\u0829"+ "\11\140\1\131\2\0\1\u03b0\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\u082a\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\1\140\1\u082b\6\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\7\140\1\u082c\14\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\22\140\1\u082d\1\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u082e\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\13\140\1\u082f\1\140\1\u07c0\1\u0475"+ "\5\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0830"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u0831"+ "\14\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u0832"+ "\14\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u01b7"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u07e2\2\140"+ "\1\u0833\4\140\1\u0834\1\u06de\12\140\1\131\2\0\1\140"+ "\2\0\1\u0835\16\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\10\140\1\u0836\1\u0837\12\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u0224\7\140\1\u0838"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u0839\3\140"+ "\1\u06dd\4\140\1\u083a\3\140\1\u083b\6\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u083c\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u052c\6\140\1\u048a\12\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0460\10\140"+ "\1\u07c4\7\140\1\u083d\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\6\140\1\u083e\6\140\1\u083f\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u0840\1\140\1\u0841\1\140\1\u052c"+ "\1\u0237\4\140\1\u0527\3\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u0842\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\7\140\1\u016f\14\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u0843\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\14\140\1\u0844\7\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\13\140\1\u0845\10\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u0846\1\140\1\u0847\1\140\1\u0848\1\u0849\1\u084a\1\u084b"+ "\3\140\1\u0421\1\u084c\1\u084d\2\140\1\u084e\3\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\14\140\1\u084f\7\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\17\140\1\u01aa\4\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u0850\5\140\1\u0851\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0852\7\140"+ "\1\u0853\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u0854\12\140\1\u0821\6\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u0855\3\140\1\u0856\6\140\1\u0857\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\11\140\1\u0858\12\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u0859\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u03df\3\140\1\u07a4\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\22\140\1\u085a\1\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u085b\3\140"+ "\1\u085c\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u085d"+ "\3\140\1\u07aa\6\140\1\u085e\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u085f\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\u07af\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u0860\4\140\1\u0861\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u0862\15\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\15\140\1\u0863\6\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\20\140\1\u0864\3\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u0865\23\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u0866\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\140\1\u056a\1\140\1\u0867\2\140\1\u0868"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0869"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u056a"+ "\13\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u086a\23\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u086b\6\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u086c\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\5\140\1\u0355\16\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u086d\14\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u086e\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\140\1\u086f\1\140\1\u0870"+ "\2\140\1\u0871\2\140\1\u0872\4\140\1\u0873\5\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\11\140\1\u0874\12\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\16\140\1\u0694\5\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u0875\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\1\u0876\16\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u0877\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\20\140\1\u0878\3\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u0879\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\13\140\1\u03eb\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\17\140\1\u0877\4\140\1\131\2\0"+ "\1\u0877\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\140\1\u087a\1\u087b\1\u087c\1\u087d"+ "\1\u087e\1\u087f\1\u0880\1\u0881\1\u0882\1\140\1\u0883\1\u0884"+ "\1\u0885\1\u0886\1\140\1\u0887\1\140\1\u0888\1\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\u0889\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u088a\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u088b\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\14\140\1\u06dd\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u088c\23\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\11\140\1\u088d\2\140\1\u088e\7\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\14\140\1\u088f\7\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u0890\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u042f\1\u0891\20\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u0892\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u0893\4\140\1\u0894"+ "\3\140\1\u0895\7\140\1\131\2\0\1\u0631\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u0896\2\140\1\u0897\1\u0898\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\5\140\1\u0899\16\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u089a\4\140\1\u089b\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u089c\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\u089d\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u075b\5\140\1\u089e\4\140"+ "\1\u0319\1\140\1\u089f\6\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\13\140\1\u06a0\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\11\140\1\u066e\12\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\u08a0\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u08a1\1\u08a2\3\140\1\u08a3\4\140\1\u08a4\3\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u08a5\16\140\1\u035c"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u08a6\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\u08a7\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u08a8\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u08a9\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u08aa\23\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\6\140\1\u08ab\15\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u08ac\23\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u08ad"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u08ae\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\13\140\1\u08af\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u08b0\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u08b1\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u08b2\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\u035c\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u08b3\6\140\1\u08b4\1\u08b5\4\140\1\u08b6\6\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u08b7\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\u08b8\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\1\u08b9\16\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\14\140\1\u08ba\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u08bb\14\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u08bc\1\u08bd\1\u08be\1\u08bf\1\u08c0\1\u08c1"+ "\1\u08c2\1\u08c3\1\u08c4\1\u08c5\1\140\1\u08c6\1\u08c7\1\u08c8"+ "\1\u06a5\1\140\1\u08c9\2\140\1\u08ca\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u08cb\14\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u08cc\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u08cd\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u08ce\3\140\1\u08cf\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u08d0\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u08d1\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u07a8\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u08d2\6\140\1\u08d3"+ "\6\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u08d4"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u08d5"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u08d6\23\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\12\140\1\u08d7\11\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u08d8\7\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u08d9\1\140"+ "\1\u019a\5\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u08da\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u08db\12\140\1\u08dc\5\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u08dd\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u08de\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u039a\1\140\1\u08df\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u08e0\14\140\1\u089f\6\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\u08e1\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\23\140\1\u08e2\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u08e3\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\7\140\1\u03a4\1\140\1\u0224\1\u08e4"+ "\1\u08e5\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\u08e6"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u08e7\6\140\1\u08e8\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\6\140\1\u08e9\4\140\1\u08ea\6\140\1\u0224\1\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\12\140\1\u033a\11\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u08eb\23\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\u08ec\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\140\1\u08ed\1\140\1\u08ee\1\u08ef\1\u08f0"+ "\1\140\1\u08f1\1\140\1\u08f2\1\140\1\u0352\1\u08f3\1\u08f4"+ "\1\u033a\4\140\1\u07c3\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u08f5\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\5\140\1\u0218\16\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\13\140\1\u08f6\10\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\7\140\1\u0601\1\u08f7\5\140\1\u0379\5\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u08f8\2\140\1\u08f9\1\u0650\1\u08fa"+ "\1\140\1\u08fb\1\u08fc\1\u08fd\2\140\1\u08fe\1\u08ff\1\u0900"+ "\4\140\1\u0901\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140"+ "\1\u0902\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u0903\6\140\1\u0904\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u0905\20\140\1\131\2\0\1\u0906\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u0907\1\u0908\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\13\140\1\u0909\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u090a\1\140\1\u090b\1\140\1\u090c"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u090d"+ "\1\u090e\14\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\u090f"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u0910\2\140\1\u090e\14\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\6\140\1\u0911\1\u0912\3\140\1\u0913\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u0914\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u0915\23\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\3\140\1\u0916\20\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u0917\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u0918\3\140\1\u0919\14\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\15\140\1\u091a\2\140\1\u091b"+ "\3\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u091c"+ "\17\140\1\131\2\0\1\140\2\0\16\140\1\u091d\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u091e"+ "\23\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u091f"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u0920\23\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0921\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u0922\14\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u0923\6\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0924\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0925\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0926\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0326\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u0927\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\5\140\1\u0928"+ "\16\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u0929"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u092a"+ "\13\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u092b"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u092c\23\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u092d\13\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u040a\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u092e\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u0853\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u092f\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u0930\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\21\140\1\u0931\2\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\1\140\1\u0224\6\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u0557\1\140\1\u0932\2\140\1\u0933"+ "\10\140\1\u0934\5\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u0935"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140"+ "\1\u0936\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u0937\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140"+ "\1\u0938\13\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u0939\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u093a\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\21\140"+ "\1\u093b\2\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\16\140"+ "\1\u093c\5\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\21\140"+ "\1\u093d\2\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u093e\15\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\140"+ "\1\u093f\22\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u0940\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u073a"+ "\3\140\1\u0853\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u0941\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u0942\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u0943\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u03df\23\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u0944\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u0945"+ "\13\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0946"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u0947\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u0948\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\5\140\1\u0949"+ "\16\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u094a"+ "\1\u0473\1\140\1\u094b\2\140\1\u094c\2\140\1\u0352\1\140"+ "\1\u01cb\6\140\1\131\2\0\1\140\2\0\1\u01ce\16\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\7\140\1\u094d\5\140\1\u094e\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u06de\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\14\140\1\u094f\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\140\1\u0950\22\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u0951\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u0952\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u0953\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u08aa\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\15\140\1\u03df\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\140\1\u0954\22\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u0955\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u0956\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\5\140\1\u0957\16\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\7\140\1\u0958\14\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u0959\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\20\140\1\u095a\3\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u095b\23\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\20\140"+ "\1\u095c\3\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\140"+ "\1\u095d\13\140\1\u095e\6\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\10\140\1\u03df\13\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u095f\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\u0960\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u0961"+ "\3\140\1\u05aa\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u0962\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u08a5\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u0963\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u0964\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\11\140\1\u0965\12\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\6\140\1\u0966\15\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u0967"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140"+ "\1\u055a\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u0968\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u05de\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u0969\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\6\140\1\u0375\15\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u06ae\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\11\140\1\u096a\12\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\13\140\1\u096b\10\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u096c\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\6\140\1\u096d\15\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\15\140\1\u096e\6\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u096f\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\140\1\u0970\1\140\1\u0971\4\140\1\u0972\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\10\140\1\u0973\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\12\140\1\u0974\11\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u0975\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\17\140\1\u0976\4\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u0977\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u033a\6\140\1\u0978"+ "\12\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\11\140\1\u0979"+ "\12\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u097a\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u097b\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u097c\14\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\20\140\1\u0363\3\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u097d\7\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u097e\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u097f\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0980\10\140"+ "\1\u0981\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u0982"+ "\5\140\1\u0983\15\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\u0984\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u0985\1\140\1\u0986\4\140\1\u0987\12\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u0988\2\140\1\u0989"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u098a"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\u098b\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u098c\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u098d\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u06a2\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\u0159\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u098e\23\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\15\140\1\u098f\6\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u0990\11\140\1\u0991\5\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u0992\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u07f7\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\16\140\1\u0993\5\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\20\140\1\u0994\3\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u0995\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u0996\1\140\1\u07a8"+ "\4\140\1\u0997\3\140\1\u0998\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\12\140\1\u0694\11\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\14\140\1\u0999\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u099a\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\14\140\1\u0569\7\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\2\140\1\u099b\5\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\23\140\1\u0224\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u0355\15\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\1\u099c\16\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\20\140\1\u0527\3\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\22\140\1\u0224\1\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u0325\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\3\140\1\u099d\20\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\1\131"+ "\1\u099e\4\131\1\0\2\131\1\u099e\1\131\4\u099e\1\131"+ "\1\0\1\131\1\0\3\131\1\0\1\131\1\u099e\13\0"+ "\4\131\3\u099e\6\131\2\u099e\4\131\1\u099e\1\131\2\0"+ "\1\131\2\0\1\131\1\u099e\3\131\1\u099e\6\131\1\u099e"+ "\2\131\1\0\1\131\3\u099e\1\131\3\u099e\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\7\140\1\u099f\14\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u09a0\20\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\u09a1"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u09a2\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u09a3\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\12\140\1\u09a4\11\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\140\1\u09a5\2\140\1\u09a6\3\140\1\u09a7\1\u09a8\12\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\11\140\1\u09a9\12\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u09aa\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\1\u09ab\16\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u09ac\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\11\140\1\u09ad\12\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\3\140\1\u0473\1\u09ae\6\140\1\u0352"+ "\1\140\1\u01cb\6\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u09af"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u09b0\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u09b1"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u09b2\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u09b3\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u0806\13\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u09b4\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\u09b5\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\140\1\u09b6\3\140\1\u09b7"+ "\16\140\1\131\2\0\1\140\2\0\17\140\1\0\4\140"+ "\1\u09b8\3\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\17\140\1\u09b9\4\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\14\140\1\u09ba\7\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\20\0\1\u09bb\53\0\1\u09bb\122\0\1\u09bc"+ "\135\0\1\u0705\141\0\1\u09bd\132\0\1\u09be\160\0\1\u09bf"+ "\115\0\1\u09c0\144\0\1\u0703\103\0\1\u09c1\161\0\1\u09c2"+ "\157\0\1\u0708\117\0\1\u09c3\135\0\1\u0708\141\0\1\u09c4"+ "\151\0\1\u09c3\73\0\1\u09c5\177\0\1\u09c6\121\0\1\u09c7"+ "\151\0\1\u09c8\57\0\4\351\1\u09c9\1\351\1\0\10\351"+ "\2\0\1\351\5\0\2\351\13\0\11\351\1\u09c9\12\351"+ "\3\0\1\351\2\0\17\351\1\0\10\351\11\0\6\351"+ "\1\0\2\351\1\u09ca\5\351\2\0\1\351\5\0\2\351"+ "\13\0\4\351\1\u09ca\17\351\3\0\1\351\2\0\17\351"+ "\1\0\10\351\10\0\1\u04a9\126\0\2\64\1\0\1\64"+ "\1\0\2\64\2\0\1\111\5\64\1\0\26\64\1\0"+ "\16\64\1\111\20\64\1\0\32\64\1\0\1\64\1\0"+ "\2\64\2\0\6\64\1\0\26\64\1\0\21\64\1\u09cb"+ "\15\64\1\0\2\64\1\u09cb\27\64\1\0\1\64\1\0"+ "\2\64\2\0\6\64\1\0\26\64\1\0\22\64\1\u02a9"+ "\14\64\1\0\3\64\1\u02a9\26\64\1\0\1\64\1\0"+ "\2\64\2\0\6\64\1\0\2\64\1\u09cc\23\64\1\0"+ "\12\64\1\u09cc\24\64\1\0\32\64\1\0\1\64\1\0"+ "\2\64\2\0\5\64\1\u09cd\1\0\26\64\1\0\10\64"+ "\1\u09cd\26\64\1\0\32\64\1\0\1\64\1\0\2\64"+ "\2\0\2\64\1\u09ce\3\64\1\0\26\64\1\0\11\64"+ "\1\u09ce\25\64\1\0\32\64\1\0\1\64\1\0\2\64"+ "\2\0\1\u09cf\5\64\1\0\26\64\1\0\16\64\1\u09cf"+ "\20\64\1\0\32\64\1\0\1\64\1\0\2\64\2\0"+ "\6\64\1\0\26\64\1\0\37\64\1\0\11\64\1\u09d0"+ "\6\64\1\u09d0\11\64\1\0\1\64\1\0\2\64\2\0"+ "\6\64\1\0\26\64\1\0\21\64\1\u0714\15\64\1\0"+ "\2\64\1\u0714\27\64\1\0\1\64\1\0\2\64\2\0"+ "\1\u04c3\5\64\1\0\26\64\1\0\16\64\1\u04c3\20\64"+ "\1\0\32\64\1\0\1\64\1\0\2\64\2\0\6\64"+ "\1\0\1\u02a8\25\64\1\0\25\64\1\u02a8\11\64\1\0"+ "\32\64\1\0\1\64\1\0\2\64\2\0\1\u0712\5\64"+ "\1\0\26\64\1\0\16\64\1\u0712\20\64\1\0\32\64"+ "\1\0\1\64\1\0\2\64\2\0\6\64\1\0\26\64"+ "\1\0\26\64\1\u09d1\10\64\1\0\4\64\1\u09d1\25\64"+ "\1\0\1\64\1\0\2\64\2\0\6\64\1\0\1\64"+ "\1\u0712\24\64\1\0\15\64\1\u0712\21\64\1\0\32\64"+ "\1\0\1\64\1\0\2\64\2\0\6\64\1\0\2\64"+ "\1\u09d2\23\64\1\0\12\64\1\u09d2\24\64\1\0\32\64"+ "\1\0\1\64\1\0\2\64\2\0\3\64\1\u0128\2\64"+ "\1\0\26\64\1\0\6\64\1\u0128\30\64\1\0\32\64"+ "\1\0\1\64\1\0\2\64\2\0\2\64\1\u09d3\3\64"+ "\1\0\26\64\1\0\11\64\1\u09d3\25\64\1\0\32\64"+ "\1\0\1\64\1\0\2\64\2\0\1\64\1\u09d4\4\64"+ "\1\0\26\64\1\0\23\64\1\u09d4\13\64\1\0\32\64"+ "\1\0\1\64\1\0\2\64\2\0\6\64\1\0\2\64"+ "\1\u028a\23\64\1\0\12\64\1\u028a\24\64\1\0\30\64"+ "\14\0\1\u09d5\40\0\1\u09d5\61\0\1\131\10\0\1\131"+ "\1\u09d6\4\131\1\0\2\131\1\u09d6\1\131\4\u09d6\1\131"+ "\1\0\1\131\1\0\3\131\1\0\1\131\1\u09d6\13\0"+ "\4\131\3\u09d6\6\131\2\u09d6\4\131\1\u09d6\1\131\2\0"+ "\1\131\2\0\1\131\1\u09d6\3\131\1\u09d6\6\131\1\u09d6"+ "\2\131\1\0\1\131\3\u09d6\1\131\3\u09d6\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u0384\23\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\5\140\1\u09d7\16\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\14\140\1\u09d8\7\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\20\140\1\u09d9\3\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u09da\23\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\14\140\1\u0591\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\16\140\1\u02d5\5\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u09db\23\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\7\140\1\u058f\14\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\6\140\1\u09dc\15\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\15\140\1\u014c\6\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u09dd\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\15\140\1\u09de\6\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\3\140\1\u0853\2\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\1\140\1\u09df\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\140\1\u02da\22\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\14\140\1\u09e0\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u03b7\14\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\140\1\u02e7\22\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u09e1\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\14\0\1\u09e2\40\0\1\u09e2"+ "\71\0\1\u04fa\142\0\1\u09e3\40\0\1\u09e3\71\0\1\u04fe"+ "\126\0\1\131\10\0\1\u09e4\5\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\2\140\1\u074c\6\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\1\140\1\u09e5\4\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u09e6"+ "\2\140\1\u09e7\1\140\1\u09e8\14\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u075d\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\10\140\1\u09e9\13\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\2\140\1\u09ea\6\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\13\140"+ "\1\u09eb\3\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u09ec\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u0903\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u09ed\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\13\140\1\u09ee\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u09ef\23\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\21\140\1\u09f0\2\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\16\140\1\u07c4\5\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u09f1\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u09f2\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\7\140\1\u09f3\14\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u09f4\2\140\1\u02cd\16\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u09f5\1\140\1\u09f6\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\7\140\1\u0363\4\140\1\u03a6"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u039a"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u09f7"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\23\140\1\u09f8"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u09f9\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u09fa\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u09fb\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\4\140\1\u08ba\3\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u02dd\10\140"+ "\1\u09fc\3\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140"+ "\1\u09fd\14\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\u09fe"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u09ff\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u02dd\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u0a00\23\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\16\140\1\u0a01\5\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\15\140\1\u0a02\6\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\11\140\1\u0a03\12\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u07f3\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\20\140\1\u0670\3\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u0a01\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u0a04\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\20\140\1\u0a05\3\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u0a06\15\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u0a07\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u0a08\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\7\140\1\u0a09\14\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\5\140\1\u0a0a\6\140\1\u0a0b"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\11\140\1\u0a0c"+ "\2\140\1\u0a0d\7\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u0a0e\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\16\140\1\u0a0f\5\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u0a10"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u0a11"+ "\23\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u0a12\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u0a13"+ "\1\u0a14\1\u0a15\1\u0a16\1\u0a17\1\u0a18\1\u0a19\1\u0a1a\1\u0a1b"+ "\1\u0a1c\3\140\1\u0a1d\1\u0a1e\5\140\1\131\2\0\1\u0a1f"+ "\2\0\1\u08b9\16\140\1\0\1\140\1\u0628\2\140\1\u0a20"+ "\3\140\1\131\10\0\6\140\1\0\11\140\1\0\1\u0a21"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\140"+ "\1\u0a22\1\u0a23\1\u0a24\1\u0a25\1\u0a26\1\u0a27\1\u0a28\1\u0a29"+ "\1\u09f9\1\u0a2a\1\u0352\1\u0a2b\1\u0a2c\1\u0a2d\1\140\1\u0a2e"+ "\2\140\1\u0a2f\1\131\2\0\1\140\2\0\17\140\1\0"+ "\1\u0a30\6\140\1\u0a31\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\16\140\1\u0363\5\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u0a32\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u0a33\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u0487\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\14\140\1\u0a34\7\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u0a35\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\7\140\1\u0a36\14\140\1\131\2\0\1\u0a37\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u0a38\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\13\140\1\u0a39\10\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u0a3a\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\6\140\1\u0a3b\15\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u0a3c\1\140\1\u0a3d\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\23\140\1\u0a3e\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\13\140\1\u0a3f\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\u0a40\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\5\140\1\u0a41\1\140\1\u0a42\3\140\1\u0a43\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0a44\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0a45\1\140"+ "\1\u0a46\15\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u0a47\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\11\140"+ "\1\u0a48\12\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u0a49\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140"+ "\1\u077b\1\u0a4a\7\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\6\140\1\u0a4b\15\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\13\140\1\u0a4c\10\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\20\140\1\u0a4d\3\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\10\140\1\u0a4e\13\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\14\140\1\u0a4f\7\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u0a50\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\14\140\1\u0a51\7\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\7\140\1\u0a52\14\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u06c0\1\140\1\u0a53\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\7\140\1\u0a54\14\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\10\140\1\u0a55\13\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\23\140\1\u0a56\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\16\140\1\u0363\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u0561\15\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u0a57\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u0a58\15\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140"+ "\1\u0a59\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u0a5a\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u0a5b\12\140\1\u0a5c\6\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\10\140\1\u0a5d\13\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u0a5e\23\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\10\140\1\u0a5f\13\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\14\140\1\u085a\7\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\20\140\1\u0a60\3\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\15\140\1\u0224\6\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u0a61\23\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\11\140"+ "\1\u0a62\12\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u0a63\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\u050e"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u07f3"+ "\1\u050e\7\140\1\u050e\12\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u052c\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u0a64\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\5\140\1\u0a65\16\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\16\140\1\u0a62\5\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\5\140\1\u033a\16\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\5\140\1\u055a\16\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u0a66\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\15\140\1\u0a67\6\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\6\140\1\u0a68\15\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u0325\1\140\1\u0325\4\140\1\u07c4\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u0a69\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\u06d9\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u03ac\1\140\1\u0a6a\1\140"+ "\1\u0a6b\10\140\1\u0a6c\6\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\1\u0a6d\7\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u0a6e\1\u0a6f\6\140\1\u0a70\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u0a71\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u03eb\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u0a72\3\140"+ "\1\u056e\4\140\1\u0527\3\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u0a73\23\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\13\140\1\u052c\10\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\6\140\1\u0a74\15\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\13\140\1\u0562\10\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\7\140\1\u0348\14\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\10\140\1\u07f7\4\140\1\u0224\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u0375\23\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\10\140\1\u0224\13\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\11\140\1\u0a75\12\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u0a76\1\u0a77\1\140\1\u0a78\1\u0a79\1\140\1\u0a7a"+ "\1\u0a7b\1\u0a7c\1\u0a7d\3\140\1\u0a7e\1\u0a7f\5\140\1\131"+ "\2\0\1\140\2\0\1\u0a80\16\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u0a81\7\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0a82\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u056e\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u0a83\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\16\140\1\u0a84\5\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u0a85\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u0a86\15\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u0a87\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u0a88\10\140\1\u089f"+ "\6\140\1\131\2\0\1\140\2\0\17\140\1\0\1\u061a"+ "\7\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u0a62\15\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u0a89\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\16\140\1\u0364\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u0a8a\23\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u0a8b\7\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0a8c\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0a8d\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u0a8e\6\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0a8f\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0a90\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0a91\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\16\140\1\u0a92\5\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0a0f\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u0a93\7\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0a94\2\140"+ "\1\u0a95\15\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\u0a96"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\u0853\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u0a97\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u0557\14\140\1\u0596\6\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u06a1\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u07e2\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u0a98\20\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u0a99\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u0a9a\23\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u0a9b\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\3\140\1\u03a1\20\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\15\140\1\u0a9c\6\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\15\140\1\u0a9d\6\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u0a9e\1\140\1\u0a9f\1\u0aa0\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u0aa1\5\140"+ "\1\u02d5\5\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u0aa2\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\140\1\u0aa3"+ "\12\140\1\u0aa4\7\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u0aa5\23\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u0826\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u0aa6\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\140\1\u0aa7\2\140"+ "\1\u06a2\4\140\1\u0aa8\12\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u0596\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u079c\23\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u0aa9\1\u07a1\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\1\u07a6\16\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\10\140\1\u06dd\13\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u0aaa\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u035c\1\140\1\u0aab\11\140\1\u01b2\3\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\u0631"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\140\1\u056a\7\140\1\u0aac\12\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\7\140\1\u0aad\14\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u0aae\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u0aaf\3\140\1\u0ab0\3\140"+ "\1\u0ab1\6\140\1\u0ab2\4\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\u03df\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\6\140\1\u080a\15\140\1\131\2\0\1\140\2\0"+ "\1\u0325\16\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u0449\13\140\1\u0ab3\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\7\140\1\u03a4\2\140\1\u0ab4\1\u03f8"+ "\2\140\1\u0a4c\5\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\16\140\1\u0ab5\2\140\1\u01b2\2\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\u0686\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\16\140\1\u0ab6\5\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\12\140\1\u050d\11\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u0ab7"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\6\140\1\u0237\1\140\1\u0ab8\13\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\22\140\1\u0159\1\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\13\140\1\u0352\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u01b7\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u0ab9\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\13\140\1\u0aba\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\140\1\u0abb\22\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\140\1\u056a\6\140\1\u056a\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\23\140\1\u0abc\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\16\140\1\u052d\5\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u0abd\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\14\140\1\u0abe\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u0abf\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\1\140\1\u0ac0\6\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u0ac1\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\16\140\1\u0ac2\5\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u0ac3\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\15\140\1\u0645\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u0ac4\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u0ac5\2\140\1\u0ac6\1\u0ac7\3\140"+ "\1\u0ac8\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\u0ac9"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0aca\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u0acb\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0484\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u05ba\7\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0acc\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u0acd\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u0822\14\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u07be\14\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u0ace\13\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u0acf\6\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u0ad0\7\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0ad1\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0ad2\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\11\140\1\u0ad3\12\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u0527\23\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u0460\1\140\1\u0ad4"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u0ad5"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\u0ad6\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\140\1\u0ad7"+ "\1\u0ad8\1\u0ad9\1\u0ada\1\u0adb\1\u046d\1\u0449\1\u0adc\1\u0add"+ "\2\140\1\u0ade\1\u0adf\1\u0ae0\1\140\1\u0ae1\2\140\1\u07c3"+ "\1\131\2\0\1\140\2\0\17\140\1\0\7\140\1\u0ae2"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\11\140\1\u0ae3"+ "\12\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0ae4"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u0ae5"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0ae6"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0ae7"+ "\6\140\1\u0ae8\10\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\11\140\1\u0987\1\u0ae9\11\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\13\140\1\u0aea\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u052c\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u0aeb\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\10\140\1\u0823\2\140\1\u07c4\1\140\1\u0aec"+ "\6\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\u0aed\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0460"+ "\4\140\1\u0aee\11\140\1\u0224\2\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\11\140\1\u083a\12\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\13\140\1\u07c4\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\12\140\1\u052c\11\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\20\140\1\u0aef\3\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u0393\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u0af0\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u0840\11\140\1\u0527\3\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\10\140\1\u0af1\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\11\140\1\u048a\12\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u0af2\23\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\15\140\1\u0af3\6\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\5\140\1\u0af4\16\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\14\140\1\u0af5\7\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u0af6\23\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u0af7\20\140\1\131\2\0\1\u0af8"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u0af9\23\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u0afa\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\13\140\1\u0afb\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\6\140\1\u0afc\15\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\13\140\1\u0a43\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\6\140\1\u0afd\15\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\16\140\1\u0afe\5\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\140\1\u0aff\22\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u0b00\21\140\1\131\2\0\1\140\2\0"+ "\1\u0b01\16\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u0b02\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\14\140\1\u03df\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u0b03\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\14\140\1\u0b04\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\5\140\1\u0b05\16\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\15\140\1\u06da\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u0b06\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u0b07\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u052c\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u08ae\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u07be\3\140\1\u0b08\4\140\1\u0b09"+ "\3\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\20\140\1\u0b0a"+ "\3\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\1\u048a\16\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0b0b\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u0b0c\6\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\u0b0d\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\7\140\1\u07f4\14\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u0b0e\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u0b0f\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\13\140\1\u0b10\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u0b11\14\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u0b12\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\15\140\1\u0b13\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u0b14\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\5\140\1\u0b15\16\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\7\140\1\u0b16\14\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u0224\1\140\1\u0326\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u0b17\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\10\140\1\u09f6\13\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u0b18\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u0b19\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u0b1a\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\u0b18\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u0b1a\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u0b1b\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0b1c"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u0b1d"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u033a"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u0b1e"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\20\140\1\u0b1f"+ "\3\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0b20"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0b21"+ "\1\u0b22\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u0b23\6\140\1\u0b24\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u0b25\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\13\140\1\u0b26\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\15\140\1\u0b27\1\u0b28\5\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u0b29\4\140\1\u0b2a\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u0b2b\1\140\1\u0b2c"+ "\5\140\1\u0b2d\2\140\1\u06da\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\u0b2e\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u0b2f\2\140\1\u0b30\3\140\1\u0b31"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0b32"+ "\5\140\1\u0b33\2\140\1\u0b34\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u0b35\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u0b36\14\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u0b37\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\u0b38\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\13\140\1\u08ea\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u0b39\23\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u0b3a\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u0b3b\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u0b3c\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\15\140\1\u0b3d\6\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\16\140\1\u0348\5\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u0b3e\1\140\1\u0b3f\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\10\140\1\u0b40\13\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u0b41\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u0b42\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\10\140\1\u0b43\13\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\3\140\1\u0b44\20\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\15\140\1\u0b45\6\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\16\140\1\u0b46\5\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u0b47\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u0b48\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u0b49\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\5\140\1\u0b4a\16\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\10\140\1\u0b4b\13\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u0b4c\1\0\1\u0b4d\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u0b4e\2\140\1\u0b4f\1\u0990"+ "\6\140\1\u0352\1\140\1\u0b50\6\140\1\131\2\0\1\140"+ "\2\0\1\u01ce\16\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u0b51\4\140\1\u08ba\4\140"+ "\1\u0b52\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u0b53\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u0b54\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140"+ "\1\u03f8\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\20\140"+ "\1\u0b55\3\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140"+ "\1\u0b56\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u0b57"+ "\12\140\1\u037c\10\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\11\140\1\u0b58\2\140\1\u0b59\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\16\140\1\u0b5a\5\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u0b5b\14\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u0b5c\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u0484\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u052c\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u0b5d\1\u0224\16\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\140\1\u0b5e\1\140\1\u0b5f"+ "\4\140\1\u0b60\7\140\1\u0b61\3\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\1\u0b62\7\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\u0224\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u0363\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\13\140\1\u0b63\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\140\1\u0b64\1\u0b65\10\140\1\u0352\1\u0b66\1\u01cb"+ "\6\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u07c4"+ "\13\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u0b67\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0b68\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u0b69\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\21\140\1\u0b6a"+ "\2\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\12\140\1\u0b6b"+ "\11\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u0b6c"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u0b6d"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0b6e"+ "\3\140\1\u0b6f\15\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\12\140\1\u0b70\11\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u0b71\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u0b72"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\23\140"+ "\1\u06dc\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0695"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u0b73\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u0b74\7\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0b75\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0b21\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0b76\6\140"+ "\1\u0b24\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140"+ "\1\u0b77\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u0b78"+ "\23\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0b79"+ "\1\u0b7a\12\140\1\u0b7b\5\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u0b7c\12\140\1\u0b7d\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u0b7e\1\140\1\u0b7f\1\140\1\u0b80"+ "\3\140\1\u0b81\2\140\1\u06da\3\140\1\u08c7\2\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\7\140\1\u0b82\14\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\11\140\1\u0b83\12\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u0b84\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\u0b85\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u0b86\6\140\1\u0b87\3\140"+ "\1\u0b88\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u0b89\4\140\1\u0b8a\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u0b8b\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u0b8c\23\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\23\140\1\u0b8d\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u0b8e\11\140\1\u0b8f\5\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u0b90\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\11\140\1\u0b91\12\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u0b92\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\22\140\1\u0b93\1\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u0b94\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\12\140\1\u0b95\11\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\6\140\1\u0b96\15\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u0b97\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\23\140\1\u0b98\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u0b99\23\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140"+ "\1\u0b9a\14\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\5\140"+ "\1\u033a\2\140\1\u0b9b\4\140\1\u0b9c\6\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u0b9d\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\3\140\1\u0b9e\20\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u0413\23\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u0b9f\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u0ba0\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u0ba1\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\11\140\1\u0ba2\12\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u0ba3\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\4\140\1\u0ba4\3\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\1\u0924"+ "\16\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u0ba5\5\140\1\u0ba6\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\14\140\1\u0ba7\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\20\140\1\u0ba8\3\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u0ba9\14\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\15\140\1\u0baa\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\11\140\1\u050e\12\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\16\140\1\u0bab\5\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u0bac\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u0bad\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u0bae\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\13\140\1\u0baf\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u0bb0\20\140\1\131\2\0\1\u0631\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u0bb1\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\13\140\1\u0bb2\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\6\140\1\u0a06\1\u090e\14\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\u0bb3\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\7\140\1\u03a4\3\140\1\u0bb4\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u0bb5\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\14\140\1\u07c4\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\10\140\1\u0bb6\13\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\14\140\1\u0bb7\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u0903\6\140\1\u0baf\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u0bb8\2\140\1\u0bb9\1\u0bba"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u0bbb"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0bbc"+ "\1\140\1\u0bbd\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\6\140\1\u0bbe\6\140\1\u089f\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\u0bbf\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u0bc0\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u0911\1\u03a4\3\140\1\u0bc1\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0bc2\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u0bc3\23\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u0bc4\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\10\140\1\u0bc5\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\7\140\1\u0377\14\140\1\131"+ "\2\0\1\140\2\0\1\u0378\16\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u07be\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0bc6\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0bc7\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0bc8\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\140\1\u0bc9\4\140"+ "\1\u0bca\15\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u0bcb\15\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u0bcc\1\u0bcd\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\22\140\1\u0bce\1\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u037c\4\140\1\u0bcf\13\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\13\140\1\u0bd0\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\20\140\1\u0bd1\3\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\1\u0bd2"+ "\16\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u0bd3\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\13\140\1\u0bd4\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\7\140\1\u0bd5\10\140\1\u0bd6\3\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\5\140\1\u0bd7\16\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\14\140\1\u0bd8\7\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u0bd9\23\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\140\1\u0bda\1\u0bdb\1\u0bdc\1\u0bdd\1\u0bde"+ "\1\u0bdf\1\u0be0\1\u0be1\1\u0be2\2\140\1\u0be3\1\u0be4\1\u0be5"+ "\4\140\1\u0be6\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u0be7"+ "\23\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u06de"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u0be8"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\11\140\1\u0be9"+ "\12\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0bea"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\12\140\1\u0beb"+ "\11\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\16\140\1\u0bec"+ "\5\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\16\140\1\u0bed"+ "\5\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u0bee"+ "\13\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u0319"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0bef"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0bf0"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u0bf1\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u0bf2\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0976\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u074d\4\140"+ "\1\u0bf3\13\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u0569\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140"+ "\1\u0bf4\13\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\11\140"+ "\1\u09d7\12\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140"+ "\1\u0bf5\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u0bf6\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u0bf7\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u05de\11\140"+ "\1\u0569\5\140\1\u082d\1\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u0af2\1\u0bf8\2\140\1\u0bf9\3\140\1\u0bfa\4\140"+ "\1\u0bfb\2\140\1\u0bfc\1\140\1\u0553\1\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u0bfd\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u0bfe\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\13\140\1\u0bff\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u0c00\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u0c01\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\u0c02\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u0c03\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\10\140\1\u0c04\13\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u0c05"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\21\140\1\u0c06\2\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\7\140\1\u0601\6\140\1\u0379\5\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u07f3\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\14\140\1\u0596\7\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u0c07\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u0c08\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u03a2\20\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u048a\12\140\1\u0aac\2\140"+ "\1\u0c09\5\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140"+ "\1\u0c0a\6\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u0c0b\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u0c0c\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u0853"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u0c0d"+ "\6\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0c0e"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u0af2\1\140"+ "\1\u0c0f\1\u0c10\2\140\1\u0c11\1\u0c12\1\u0c13\3\140\1\u08c7"+ "\1\u0c14\1\u0c15\3\140\1\u0c16\1\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u0c17\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\15\140\1\u0c18\6\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\5\140\1\u0329\6\140\1\u0596\1\140\1\u0c19\1\140"+ "\1\u0c1a\3\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u0c1b\2\140\1\u0c1c\16\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u0c1d\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u0391\11\140\1\u0c1e\6\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\15\140\1\u0c1f\6\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u039a\1\140\1\u039b\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u0c20\23\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\u0c21\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u0c22\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u0c23\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u0c24\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u0c25\23\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u02da\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u0c26\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\140\1\u0c27\22\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\10\140\1\u0c28\13\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\10\140\1\u0350\13\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\10\140\1\u0c29\13\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u0808\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u0c2a\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u0c2b\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\20\140\1\u0c2c\3\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u0c2d\14\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u0c2e\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\12\140\1\u0c2f\11\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\11\140\1\u0c30\12\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u0c31\23\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u0c32\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\u0c33\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u0c34\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u0c35\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u0c36\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0360"+ "\5\140\1\u0a09\13\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\u0c37\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\10\140\1\u0c38\10\140\1\u0c39\2\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\15\140\1\u0c3a\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u0c3b\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\12\140\1\u0c3c\11\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\16\140\1\u0c3d\5\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\17\140\1\u0c3e\4\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\15\140\1\u0c3f\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u0c40\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u0869\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u0c41\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u0c42\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u0c43\1\140\1\u0c44\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u0c45\23\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u0c46\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u0c47\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u0c48\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0"; private static final String ZZ_TRANS_PACKED_2 = "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\u0517"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0c49\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0c4a\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u0c4b\1\140\1\u0c4c"+ "\1\u0c4d\1\u0c4e\1\u0c4f\1\u0c50\1\u0c51\1\u0c52\1\u0809\1\140"+ "\1\u0352\1\u0c53\1\u0c54\1\u0c55\5\140\1\131\2\0\1\140"+ "\2\0\1\u0c56\16\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\17\140\1\u0c57\4\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u0c58\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u0c59\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u01a0\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\140\1\u0c5a\22\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u0c5b\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\15\140\1\u0c5c\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\10\140\1\u0c5d\13\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\14\140\1\u0c5e\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\23\140\1\u0c5f\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u0c60\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u0c61\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\7\140\1\u0686\14\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u0c62\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u0c63\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u0c64\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u0c65\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u0c66\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u0c67\12\140\1\u0c5c\6\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\13\140\1\u0c68\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u0c69\23\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\u0c6a\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\u06dc\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u0c6b"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u0c6c"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0c6d"+ "\1\u074d\5\140\1\u0997\12\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u0c6e\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\6\140\1\u0c6f\15\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\13\140\1\u0c70\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u0c71\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\15\140\1\u0c72\6\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\3\140\1\u0508\4\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\20\140\1\u01cc\3\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\10\140\1\u0836\2\140\1\u052c\1\u033a\7\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\1\131\1\u0c73\4\131\1\0\2\131\1\u0c73\1\131\4\u0c73"+ "\1\131\1\0\1\131\1\0\3\131\1\0\1\131\1\u0c73"+ "\13\0\4\131\3\u0c73\6\131\2\u0c73\4\131\1\u0c73\1\131"+ "\2\0\1\131\2\0\1\131\1\u0c73\3\131\1\u0c73\6\131"+ "\1\u0c73\2\131\1\0\1\131\3\u0c73\1\131\3\u0c73\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\u077b\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u0c74\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\10\140\1\u0c75\13\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\140\1\u0bfa\2\140\1\u0c76\1\u0c77\2\140"+ "\1\u0c78\1\u0c79\3\140\1\u0c7a\5\140\1\u0c7b\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u0808\7\140\1\u0c7c\7\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u0c7d\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u0c7e\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u0c7f\20\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u0c80\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u0c81\15\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\15\140\1\u0c82\6\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u0c83\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u0c84\20\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u0c85\1\140\1\u0c86"+ "\1\u0c87\4\140\1\u0c88\5\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u0c89\23\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\14\140\1\u0c8a\7\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\7\140\1\u08b4\12\140\1\u0553\1\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\140\1\u0c8b\22\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\16\140\1\u0c8c\1\140\1\u0c8d\3\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u0c77\1\140\1\u09ed"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u050d"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u0c8e"+ "\14\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u061d"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0c8f"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0c90"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\u0c91\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0c92"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u0c93"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0c94"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\21\0\1\u0c95\42\0\1\u0c95\137\0\1\u0c96\141\0\1\u0c97"+ "\127\0\1\u049e\141\0\1\u0c98\146\0\1\u0708\127\0\1\u0708"+ "\150\0\1\u0c99\70\0\1\u0c9a\165\0\1\u0708\142\0\1\u0c9b"+ "\3\0\1\u0c9c\1\0\1\u0c9d\142\0\1\u0c98\117\0\1\u0c98"+ "\137\0\1\u0c9e\67\0\5\351\1\u0c9f\1\0\10\351\2\0"+ "\1\351\5\0\2\351\13\0\2\351\1\u0c9f\21\351\3\0"+ "\1\351\2\0\17\351\1\0\10\351\2\64\1\0\1\64"+ "\1\0\2\64\2\0\6\64\1\0\12\64\1\u0287\13\64"+ "\1\0\37\64\1\0\6\64\1\u0287\23\64\1\0\1\64"+ "\1\0\2\64\2\0\6\64\1\0\20\64\1\111\5\64"+ "\1\0\35\64\1\111\1\64\1\0\32\64\1\0\1\64"+ "\1\0\2\64\2\0\6\64\1\0\2\64\1\u0ca0\23\64"+ "\1\0\12\64\1\u0ca0\24\64\1\0\32\64\1\0\1\64"+ "\1\0\2\64\2\0\6\64\1\0\2\64\1\u02ad\23\64"+ "\1\0\12\64\1\u02ad\24\64\1\0\32\64\1\0\1\64"+ "\1\0\2\64\2\0\6\64\1\0\26\64\1\0\21\64"+ "\1\371\15\64\1\0\2\64\1\371\27\64\1\0\1\64"+ "\1\0\2\64\2\0\6\64\1\0\12\64\1\u0ca1\13\64"+ "\1\0\37\64\1\0\6\64\1\u0ca1\23\64\1\0\1\64"+ "\1\0\2\64\2\0\6\64\1\0\2\64\1\u0712\23\64"+ "\1\0\12\64\1\u0712\24\64\1\0\32\64\1\0\1\64"+ "\1\0\2\64\2\0\6\64\1\0\26\64\1\0\26\64"+ "\1\u0ca2\10\64\1\0\4\64\1\u0ca2\25\64\1\0\1\64"+ "\1\0\2\64\2\0\3\64\1\u0133\2\64\1\0\26\64"+ "\1\0\6\64\1\u0133\30\64\1\0\32\64\1\0\1\64"+ "\1\0\2\64\2\0\6\64\1\0\26\64\1\0\21\64"+ "\1\u02b1\15\64\1\0\2\64\1\u02b1\25\64\15\0\1\u0ca3"+ "\50\0\1\u0ca3\50\0\1\131\10\0\1\131\1\140\4\131"+ "\1\0\2\131\1\140\1\131\4\140\1\131\1\0\1\131"+ "\1\0\3\131\1\0\1\131\1\140\13\0\4\131\3\140"+ "\6\131\2\140\4\131\1\140\1\131\2\0\1\131\2\0"+ "\1\131\1\140\3\131\1\140\6\131\1\140\2\131\1\0"+ "\1\131\3\140\1\131\3\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u0ca4\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\15\140\1\u02d7\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u0ca5\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u0ca6\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\13\140\1\u0ca7\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\15\140\1\u03b7\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\13\140\1\u0ca8\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u0ca9\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u0759\14\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\u02da\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\14\140\1\u04e5\7\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\15\0\1\u0caa\50\0\1\u0caa\65\0\1\u0cab"+ "\50\0\1\u0cab\50\0\1\131\10\0\1\u074c\5\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\5\140\1\u0cac\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\17\140"+ "\1\u0cad\4\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\u0796"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u0cae\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0caf\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\1\u0cb0\5\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\2\140\1\u0cb1\14\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u014c\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\3\140\1\u0905\20\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\4\140\1\u0325\3\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\10\140\1\u0cb2\13\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u07f3\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u0cb3\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\13\140\1\u0cb4\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\13\140\1\u0cb5\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u0cb6\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\7\140\1\u0224\6\140\1\u0a01\5\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\13\140\1\u0cb7\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u042f\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\15\140\1\u0cb8\6\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u075b\23\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\11\140\1\u0cb9\12\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u0cba\14\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u0cbb\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u0a01\14\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\23\140\1\u0355\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u0cbc\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u0cbd\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\6\140\1\u09fe\15\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\u076c\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140"+ "\1\u0cbe\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u0cbf\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\23\140"+ "\1\u0cc0\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u037c"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0cc1"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u0cc2"+ "\13\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u085a"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u0cc3"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u0cc4"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0571"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0cc5"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u0cc6\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u0cc7\6\140\1\u0cc8\1\u0cc9\4\140\1\u0cca\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u0ccb\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\140\1\u0ccc\6\140\1\u0ccd\7\140"+ "\1\u0cce\3\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\5\140"+ "\1\u042f\16\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u0ccf\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140"+ "\1\u0cd0\3\140\1\u0cd1\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u01b7\5\140\1\u0cd2\7\140\1\u0cd3\5\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u0cd4\1\u0cd5\13\140"+ "\1\u0cad\4\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u0cd6\6\140\1\u0b24\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\7\140\1\u0cd7\14\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u0cd8\1\140\1\u0cd9\10\140\1\u0cda\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u07a8\3\140\1\u0cdb"+ "\4\140\1\u0cdc\7\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u0cdd\5\140\1\u0cde\4\140\1\u0cdf\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u0ce0\1\140\1\u0ce1\1\140"+ "\1\u0ce2\10\140\1\u0224\4\140\1\131\2\0\1\u0224\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\6\140\1\u0ce3\1\140\1\u0ce4\2\140\1\u0ce5\1\u03eb"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0ce6"+ "\6\140\1\u0ce7\1\u0ce8\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u0ce9\1\140\1\u0cea\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\23\140\1\u056e\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\11\140\1\u07bb\12\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u0325\1\140\1\u0ceb\11\140\1\u0cec\7\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0ced\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u0cee\11\140\1\u0cef"+ "\11\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0cf0"+ "\1\u0cf1\16\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u0cf2\20\140\1\131\2\0\1\u0cf3\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u0cf4\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140"+ "\1\u0cf5\1\140\1\u0cf6\12\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u0cf7\5\140\1\u0cf8\1\140\1\u0cf9\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\u0cfa\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u0cfb\1\140\1\u0cfc"+ "\6\140\1\u0319\1\140\1\u0cfd\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u0cfe\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\u0cff\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u0d00\3\140\1\u0d01\2\140\1\u0d02\11\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u0d03\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u0d04\5\140\1\u0d05\1\140"+ "\1\u0d06\13\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u0d07"+ "\5\140\1\u0d08\4\140\1\u0d09\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\11\140\1\u0d0a\12\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\23\140\1\u0686\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u0d0b\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\14\140\1\u0596\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\140\1\u0d0c\1\u0d0d\1\u0d0e\1\u0d0f\1\u0d10"+ "\1\u0d11\1\140\1\u0d12\1\u0d13\2\140\1\u0d14\1\u0d15\1\u0d16"+ "\1\140\1\u0d17\2\140\1\u0d18\1\131\2\0\1\140\2\0"+ "\1\u0d19\16\140\1\0\1\u061a\7\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\15\140\1\u0d1a\6\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\10\140\1\u0d1b\13\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\1\u0d1c\7\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u0d1d\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u0d1e\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u0d1f\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u0d20\15\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u0d21\20\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u0d22\20\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\20\140\1\u0d23\3\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u0d24\15\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\4\140\1\u0d25\3\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\16\140\1\u0a9a\5\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u0d26\20\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\140\1\u0d27\22\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u0d28\5\140\1\u0d29\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u0d2a\7\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\5\140\1\u0d2b\7\140"+ "\1\u0d2c\6\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u0d2d\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\140"+ "\1\u0d2e\22\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140"+ "\1\u0d2f\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u0d30\15\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u0d31\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u0d32\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\140"+ "\1\u0d33\22\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\u0527"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0d34\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u0d35\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\16\140\1\u0d36\5\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\20\140\1\u0d37\3\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u066e\6\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0d38\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0d39\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\12\140\1\u0d3a\11\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0d3b\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u0d3c\23\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\22\140\1\u0d3d\1\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\11\140\1\u0d3e\12\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u0d3f\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\20\140\1\u07c4\3\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\12\140\1\u0436\11\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\21\140\1\u0d40\2\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u0821\23\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\140\1\u0d41\22\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u0d42\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u0d43\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\7\140\1\u0d44\14\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u037e\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\12\140\1\u01cc\11\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\10\140\1\u0acc\13\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\5\140\1\u0d45\16\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u03df\1\140\1\u0808\17\140\1\u0b40"+ "\1\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\16\140\1\u0d46"+ "\5\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u0d47"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\140\1\u0d48"+ "\22\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0808"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0a31"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u0d49"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0d4a"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u0d4b"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0d4c"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\11\140\1\u0378"+ "\12\140\1\131\2\0\1\140\2\0\1\u0d4d\16\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\20\140"+ "\1\u0d4e\3\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u0a31\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\22\140"+ "\1\u0d4f\1\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140"+ "\1\u0d50\6\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u0d51\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140"+ "\1\u0d52\13\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u0d53\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u0d54\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u0d55\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140"+ "\1\u0d56\6\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140"+ "\1\u0d57\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u0d58\1\140\1\u0d59\15\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\6\140\1\u0d5a\15\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\7\140\1\u0d5b\3\140\1\u0d5c\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u0d5d\23\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u0d5e\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u0d5f\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u0d60\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\20\140\1\u0d61\3\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u0d62\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\140\1\u0d63\12\140\1\u0569\7\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\11\140\1\u0d64\12\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u0d65\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\10\140\1\u0d66\13\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\u0d67\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u0d68\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\140\1\u0b1e\22\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u0d69\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u0d6a\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u0d6b\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u0d6c"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u0d6d\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u0d6e\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u0d6f\6\140\1\u0acf\6\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u0d70\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\13\140\1\u0d71\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u0d72\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u0d73\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u0d74\3\140\1\u0601\14\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u0d75\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u0503\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\10\140\1\u0d76\13\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u07c4\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u0d77\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u0693\14\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\1\140\1\u0d78\6\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\20\140\1\u0d79\3\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u0d7a\3\140\1\u0d7b\11\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u0d7c\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u0d7d\23\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\12\140\1\u0d7e\11\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u0d7f\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\u0d80\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\13\140\1\u0d81\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\10\140\1\u0350\4\140\1\u0582\6\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u0d82\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\u0d82\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\13\140\1\u0d83\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u0d84\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\1\u0d85\16\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\u03df\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u0d86"+ "\14\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\140\1\u0256"+ "\22\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0363"+ "\21\140\1\131\2\0\1\140\2\0\16\140\1\u0363\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u0d87\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140"+ "\1\u0d88\14\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140"+ "\1\u0d89\13\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u0d8a\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\16\140\1\u0379"+ "\1\140\1\u01cc\3\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u056e\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u0d8b\23\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u0d8c\1\140\1\u0d8d\1\u0d8e\4\140\1\u051e\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u0d8f\23\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u0d90\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\20\140\1\u0bd6\3\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u0d91\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\u0d92\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\u0d93\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u0d94\2\140\1\u0d95\1\140\1\u0d96\2\140\1\u0d97"+ "\1\u0d98\3\140\1\u0d99\1\u0d9a\1\140\1\u0d9b\1\u0d9c\1\u0d9d"+ "\1\140\1\131\2\0\1\140\2\0\1\u0d9e\16\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u0d9f\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u0da0\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0da1"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u0da2\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u0da3\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u0acf"+ "\1\u0da4\5\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u0da5\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u0da6\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140"+ "\1\u0da7\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140"+ "\1\u0da8\14\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\u0528"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u0da9\7\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\20\140\1\u0daa\3\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0dab\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\20\140\1\u0dac\3\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u0571\23\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\10\140\1\u0dad\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\12\140\1\u0dae\11\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\12\140\1\u0daf\11\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\10\140\1\u0db0\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\11\140\1\u05c6\12\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\20\140\1\u0db1\3\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\11\140\1\u0db2\2\140\1\u0db3"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u0db4"+ "\6\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u0db5"+ "\14\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u0db6"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0db7"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\2\140\1\u0db8\5\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0db9"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0dba"+ "\20\140\1\131\2\0\1\u0dbb\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u0dbc\2\140"+ "\1\u0dbd\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u0dbe\1\140\1\u0dbf\1\140\1\u0dc0\4\140\1\u0319\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u0dc1\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0dc2\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u03a4\3\140"+ "\1\u0dc3\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u08a5\7\140\1\u0dc4\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\13\140\1\u0dc5\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\7\140\1\u0dc6\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u0dc7\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u0dc8"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u0dc9\23\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u0dca\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\u0dcb\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\11\140\1\u0dcc"+ "\12\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0dcd"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\u03d9\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u0dce\20\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u0dcf\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\10\140\1\u0823\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\11\140\1\u0dd0\12\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u0dd1\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u0dd2\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\20\140\1\u0dd3\3\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u083f\6\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0dd4\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u0686\7\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\12\140\1\u0dd5\11\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\16\140\1\u06a0\5\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u0dd6\6\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\20\140\1\u0dd7\3\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0dd8\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u0dd9\6\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u0dda\14\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0ddb\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u0ddc\6\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\20\140\1\u0ddd\3\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\140\1\u0453\22\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0dde\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\12\140\1\u0b05\11\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u033a\3\140\1\u0224"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u0ddf"+ "\6\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\20\140\1\u0a9a"+ "\3\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0de0"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0de1"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0de2"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u09f9"+ "\6\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u0de3"+ "\13\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\21\140\1\u0de4"+ "\2\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\20\140\1\u0de5"+ "\3\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0de6"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\140\1\u0de7"+ "\22\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\21\140\1\u0de8"+ "\2\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u0752"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u0de9\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u08ee\1\u0dea"+ "\1\u0deb\1\u0610\1\140\1\u0dec\3\140\1\u0ded\1\u0dee\1\u0def"+ "\5\140\1\131\2\0\1\140\2\0\17\140\1\0\1\u061a"+ "\7\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140"+ "\1\u0df0\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140"+ "\1\u0df1\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140"+ "\1\u0df2\10\140\1\u0df3\3\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\1\u0df4\7\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\1\u061a"+ "\7\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u0cc0"+ "\23\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u0df5"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u07fb"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0d27"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\20\140\1\u0df6"+ "\3\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0df7"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0473"+ "\4\140\1\u07f4\2\140\1\u0352\1\140\1\u01cb\1\u06a5\5\140"+ "\1\131\2\0\1\140\2\0\1\u01ce\16\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u0df8\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u0df9\14\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\22\140\1\u0dfa\1\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u050e\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u0dfb\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u0dfc\15\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\u0dfd"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\20\140\1\u0dfe\3\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u0348\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\16\140\1\u0dff\5\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\14\140\1\u0e00\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u0e01\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\16\140\1\u0e02\5\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\23\140\1\u0e03\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\13\140\1\u0e04\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\6\140\1\u0e05\15\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u0e06\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\6\140\1\u0e07\4\140\1\u0e08\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\10\140\1\u0e09\13\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\3\140\1\u0e0a\20\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u0e0b\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\7\140\1\u0e0c\1\u0e0d\1\u0e0e\12\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0e0f\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0e10\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u0e11\6\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\u0e12\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\13\140\1\u0e13\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\5\140\1\u0e14\16\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\7\140\1\u0e15\14\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u0e16\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u0e17\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\140\1\u0e18\22\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u0e19\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u0891\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\10\140\1\u0e1a\13\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u0319\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u0e1b\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\7\140\1\u0e1c\14\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\15\140\1\u0363\6\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\u0e1d\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\13\140\1\u0e1e\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\6\140\1\u0e1f\15\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u0e20\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\7\140\1\u0e21\14\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u0e22\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\15\140\1\u0e23\6\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u0e24\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u0e25\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\u0b4d\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u0b4e\1\140\1\u034d\1\u0e26\1\u0990\3\140\1\u0350\2\140"+ "\1\u0352\1\140\1\u0b50\6\140\1\131\2\0\1\140\2\0"+ "\1\u01ce\16\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\14\140\1\u03e5\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\20\140\1\u0c6a\3\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u0e27\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u0e28\3\140\1\u03a4\14\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u0e29\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u0e2a\6\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\16\140\1\u0869\5\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u0e2b\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u0e2c\15\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u0e2d\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0925\1\140"+ "\1\u0e2e\16\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140"+ "\1\u0e2f\6\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u0e30\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\17\140"+ "\1\u0e31\4\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140"+ "\1\u0e32\5\140\1\u0b40\1\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u0e33\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u052f\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\6\140\1\u0e34\15\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u0e35\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u03d4\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u0e36\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\11\140\1\u0987\12\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\6\140\1\u0e37\15\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\u0e38\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\u0e39"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0e3a\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0e3b\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u0b42\23\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u0af2\10\140\1\u0e3c\3\140"+ "\1\u0e3d\4\140\1\u0553\1\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u07f3\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\10\140\1\u0224\13\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\u0e3e\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u0e3f\7\140\1\u0836\13\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u0e40\23\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u0e41\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u0e42\23\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\140\1\u0e43\22\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u0e44\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\11\140\1\u0e45\12\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u0e46\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\16\140\1\u0e47\5\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\u035c\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u0e48\1\u0e49\1\u0e4a\1\140\1\u0e4b\3\140\1\u0e4c"+ "\4\140\1\u0e4d\2\140\1\u0e4e\1\u0e4f\2\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\140\1\u0e50\2\140\1\u07fb\1\u0e51"+ "\1\u0e52\1\140\1\u0e53\13\140\1\131\2\0\1\140\2\0"+ "\1\u0e54\16\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u0e55\23\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u0e56\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\10\140\1\u0cc2\4\140\1\u03df\6\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\16\140\1\u0e57\5\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u0e58\4\140\1\u0e59\4\140"+ "\1\u0e5a\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u0e5b\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140"+ "\1\u0e5c\6\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\16\140"+ "\1\u0e5d\5\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140"+ "\1\u0e5e\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u0e5f\15\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u0e60\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u0e61\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\22\140"+ "\1\u0363\1\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140"+ "\1\u0e62\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u0e63\15\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u0e64\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\1\u0224\16\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0b8a"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0e65"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u0527\12\140"+ "\1\u0e66\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140"+ "\1\u0e67\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\21\140"+ "\1\u0e68\2\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\22\140"+ "\1\u0e5e\1\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\140"+ "\1\u0e69\22\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\140"+ "\1\u0e6a\22\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\u0e6b"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u0e6c\7\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\u0e6d\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u0381\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u0e6e\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\10\140\1\u0e6f\13\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u0e70\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u0e71\23\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u0e72\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u0e73\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u0e74\14\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u0e75\14\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\13\140\1\u0511\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u0e76\10\140\1\u0e77\1\u0d86\5\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u0e78\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\u0e79\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0326\1\u0e7a"+ "\2\140\1\u0e7b\1\140\1\u0e7c\1\u0e7d\1\140\1\u0e7e\1\140"+ "\1\u0e7f\6\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140"+ "\1\u0e80\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u0924\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u0e81\15\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140"+ "\1\u0e82\14\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u0bf1\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\11\140"+ "\1\u0e83\12\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u0e84\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140"+ "\1\u0e85\14\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140"+ "\1\u0e86\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140"+ "\1\u0e87\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\20\140"+ "\1\u042f\3\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u0e88\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\u0e89"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\23\140"+ "\1\u0e8a\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u0e8b\23\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\12\140\1\u0e8c\11\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u0e8d\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u0e8e\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\7\140\1\u0377\14\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u0e8f\20\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u0e90\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\140\1\u0bc9\22\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\20\140\1\u0e91\3\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\7\140\1\u0e92\10\140\1\u0e93"+ "\3\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\u0e94\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\140\1\u056a"+ "\2\140\1\u06a2\3\140\1\u056a\13\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u0e95\14\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u0e96\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u0e97\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u0e98\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u0e99\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\23\140\1\u0e9a\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\6\140\1\u0e9b\15\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u0e9c\1\u0e9d\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u037c\4\140\1\u0e9e\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\20\140\1\u0e9f\3\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\1\u0ea0\16\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\14\140\1\u0629\3\140\1\u0bd6\3\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\5\140\1\u0ea1\16\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u0ea2\7\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0ea3\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\u0ea4\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\15\140\1\u0ea5\6\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u0ea6\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\15\140\1\u0ea7\6\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\13\140\1\u0ea8\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\16\140\1\u0ea9\5\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u0eaa\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\11\140\1\u0eab\12\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\22\140\1\u0eac\1\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u0ead\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\10\140\1\u0eae\13\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\140\1\u0571\22\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\15\140\1\u0eaf\6\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\15\140\1\u0eb0\1\u0eb1\5\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\15\140\1\u0eb2\6\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\10\140\1\u0eb3\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\u0eb4\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\7\140\1\u0eb5\14\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\20\140\1\u0686\3\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u0eb6\23\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\16\140\1\u0eb7\5\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u0eb8\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u0eb9\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u0eba\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u0ebb\6\140\1\u0baf\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u08db\20\140"+ "\1\131\2\0\1\u0ebc\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u0ebd\2\140\1\u0dbd"+ "\1\u0ebe\6\140\1\u0ebf\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\u01cf\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140"+ "\1\u0ec0\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u0ec1\1\140\1\u0ec2\4\140\1\u0ec3\12\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\3\140\1\u0ec4\11\140\1\u089f\6\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\u0bbf\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0ec5\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\u0ec6\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u0ec7\3\140"+ "\1\u0ec8\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u0ec9\4\140\1\u0224\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u0eca\23\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\16\140\1\u0ecb\5\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\14\140\1\u0ecc\7\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\7\140\1\u0ecd\14\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u0ece"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u0ecf\15\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\17\140"+ "\1\u091d\4\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u0ed0\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0ed1"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u048a"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\23\140\1\u0ed2"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\16\140\1\u0ed3\5\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\1\u07c4\16\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u0ed4\23\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u018d\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\140\1\u0345\22\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\3\140\1\u0ed5\16\140\1\u0ed6\1\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\u0ed7\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\5\140\1\u0ed8\1\140"+ "\1\u0ed9\1\u0eda\1\140\1\u0edb\1\140\1\u0edc\1\u0edd\1\u0ede"+ "\1\140\1\u0edf\1\140\1\u0553\1\u0ee0\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u0ee1\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u0ee2\20\140\1\131\2\0\1\u0631"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u0ee3\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u03a4\3\140\1\u0ee4\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\u0ee5\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u0ee6\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u0ee7\1\140\1\u0ee8\1\140"+ "\1\u0ee9\2\140\1\u0eea\3\140\1\u0eeb\1\u0eec\5\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\140\1\u0eed\11\140\1\u0eee"+ "\1\140\1\u0eef\6\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u09ee"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140"+ "\1\u0ef0\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\17\140"+ "\1\u0ef1\4\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140"+ "\1\u0ef2\13\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u0ef3\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0ef4"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u0ef5\3\140"+ "\1\u06a2\4\140\1\u0ef6\12\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u0ef7\23\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\10\140\1\u0b60\13\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\14\140\1\u0788\7\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\6\140\1\u052f\5\140\1\u0ef8\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u0ef9\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u0efa\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\15\140\1\u0efb\6\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u0efc\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u0efd\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u0efe\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u0eff\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\u0a62\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\16\140\1\u0325\5\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\13\140\1\u0f00\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u0cfb\3\140\1\u0355\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\13\140\1\u0f01\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u08a5\6\140\1\u0cdd\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u050e\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\u0ad6\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u0f02\6\140"+ "\1\u0f03\5\140\1\u07c3\1\131\2\0\1\140\2\0\17\140"+ "\1\0\1\u061a\7\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\6\140\1\u0f04\15\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u0f05\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u056e\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\13\140\1\u0f06\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u0f07\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u0dac\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\10\140\1\u0f08\13\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u0f09\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u05fe\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u0f0a\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u0f0b\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\16\140\1\u0224\5\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u0f0c\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\16\140\1\u0da4\5\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\11\140\1\u0821\12\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\11\140\1\u0f0d\11\140\1\u0f0e\1\131\2\0"+ "\1\140\2\0\16\140\1\u0f0f\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u0f10\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\u0f11\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u0f12\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u0f13\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u0f14\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\11\140\1\u0f15\12\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u0f16\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u0f17\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u0f18\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\7\140\1\u0891\14\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\10\140\1\u0561\13\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\10\140\1\u0c33\13\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u0f19\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u0f1a"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u0503\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\14\140\1\u033a\7\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\13\140\1\u0f1b\10\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\10\140\1\u0f1c\13\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u0f1d\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u0f1e\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\13\140\1\u0f1f\10\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u0f20\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\13\140\1\u0cdd\10\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u0f21"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\12\140"+ "\1\u0f22\11\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\1\u0f23\7\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0f24"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u0f25"+ "\2\140\1\u0f26\3\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\6\140\1\u0c41\15\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u0f24\11\140\1\u0325\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\13\140\1\u0f27\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\140\1\u0f28\13\140\1\u0582\3\140\1\u0f29"+ "\2\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0f2a"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\5\140\1\u0f2b"+ "\16\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u0877"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u0f2c\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u0f2d\13\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u0f2e\23\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u0f2f\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\22\140\1\u0f30\1\140\1\131"+ "\2\0\1\u0cf3\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u0f31\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\11\140\1\u0f32\12\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u0f33\23\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u0f34\11\140\1\u0f35\7\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0f36\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0f37\3\140"+ "\1\u03a4\14\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u0f38\1\140\1\u0f39\15\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u0f3a\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\11\140\1\u0f3b\12\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\u0f3c\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u0f3d\1\u0f3e\1\u0f3f\1\u0f40\1\u0f41\1\u0f42\1\u0610"+ "\1\u0f43\1\u0f44\1\u0f45\2\140\1\u0f46\1\u0f47\1\u0f48\5\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\1\u061a\7\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0f49"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0f4a"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\140\1\u0f4b"+ "\22\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u0f4c"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0f4d"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\140\1\u0f4e"+ "\22\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u0f4f"+ "\13\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u0f50\1\140"+ "\1\u0f51\1\u0839\3\140\1\u03a2\1\140\1\u083a\3\140\1\u0aac"+ "\6\140\1\131\2\0\1\140\2\0\1\u0555\16\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\16\140"+ "\1\u0f52\5\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\5\140"+ "\1\u0f53\16\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140"+ "\1\u0f54\13\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\11\140"+ "\1\u0f55\12\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\11\140"+ "\1\u0f56\12\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\22\140"+ "\1\u0f57\1\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u0f58\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140"+ "\1\u0f59\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140"+ "\1\u0f5a\13\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\11\140"+ "\1\u01af\12\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u0f5b\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u0f5c"+ "\23\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0f5d"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\u035b\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u07c9\20\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\7\140\1\u0f5e\14\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u0f5f\20\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u0f60\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\1\131\1\u0f61\4\131\1\0\2\131\1\u0f61\1\131\4\u0f61"+ "\1\131\1\0\1\131\1\0\3\131\1\0\1\131\1\u0f61"+ "\13\0\4\131\3\u0f61\6\131\2\u0f61\4\131\1\u0f61\1\131"+ "\2\0\1\131\2\0\1\131\1\u0f61\3\131\1\u0f61\6\131"+ "\1\u0f61\2\131\1\0\1\131\3\u0f61\1\131\3\u0f61\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\140\1\u056a\1\140"+ "\1\u0f62\3\140\1\u0449\1\u0f63\13\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u0f64\14\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u0ee2\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u0f65\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u0f66\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u0f67\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u0e28\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u0f68\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u0f69\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u0f6a\7\140\1\u0c7c\7\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u0f6b\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u0f6c\20\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u0f6d\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u0f6e\20\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u0f6f\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u0f70\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u0527\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\16\140\1\u0f71\5\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u0f72\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u0f73\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u0f74\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u0f75\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u0f76\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u0f77\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u0f78\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u0f79\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\6\140\1\u0f7a\15\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u0f7b\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u0f7c\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\7\140\1\u0f7d\14\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\1\u0f7e\16\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\5\140\1\u0f7f\16\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\12\140\1\u035c\11\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\22\0\1\u0f80\36\0\1\u0f80\134\0\1\u0f81"+ "\137\0\1\u0c99\137\0\1\u0f82\136\0\1\u0708\145\0\1\u0c9c"+ "\1\0\1\u0c9d\127\0\1\u06ff\135\0\1\u0f83\143\0\1\u0f84"+ "\126\0\1\u0f85\57\0\2\64\1\0\1\64\1\0\2\64"+ "\2\0\6\64\1\0\20\64\1\u02a9\5\64\1\0\35\64"+ "\1\u02a9\1\64\1\0\32\64\1\0\1\64\1\0\2\64"+ "\2\0\6\64\1\0\26\64\1\0\21\64\1\373\15\64"+ "\1\0\2\64\1\373\27\64\1\0\1\64\1\0\2\64"+ "\2\0\4\64\1\u0f86\1\64\1\0\26\64\1\0\17\64"+ "\1\u0f86\17\64\1\0\30\64\16\0\1\u0f87\40\0\1\u0f87"+ "\57\0\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140"+ "\1\u02da\6\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140"+ "\1\u0f88\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140"+ "\1\u03b7\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140"+ "\1\u014c\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140"+ "\1\u0f89\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u01d6\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\16\0\1\u0f8a\40\0\1\u0f8a\75\0\1\u0f8b\40\0"+ "\1\u0f8b\57\0\1\131\10\0\3\140\1\u0f8c\2\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\11\140\1\u0a9a\12\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\10\140\1\u0f8d\13\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u0f8e\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\4\140\1\u0f8f\1\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\5\140\1\u074c\11\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u0f90\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\u0f91\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0f92"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u0f93"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\140\1\u085a"+ "\22\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\u0f94\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\7\140\1\u0f95\14\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u0f96\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u052c\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\3\140\1\u0f97\20\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\21\140\1\u0f98\2\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u0a01\1\140\1\u09fe\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0f99\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u0f9a\13\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0325\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u0f9b\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u0f9c\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\15\140\1\u0f9d\6\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\7\140\1\u0f9e\14\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u0527\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\23\140\1\u0cca\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\14\140\1\u0f9f\7\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\13\140\1\u0fa0\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u0f79\4\140\1\u0fa1\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0fa2\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u0fa3\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u0936\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\u0fa4\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u0fa5\1\140\1\u0936"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u0fa6\23\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\17\140\1\u0fa7\4\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0fa8\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0fa9\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\20\140\1\u0faa\3\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\5\140\1\u0cd9\16\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\u0fab\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\15\140\1\u0fac\6\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\7\140\1\u0fad\14\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\7\140\1\u0fae\14\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u0326\20\140\1\u0faf\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\14\140\1\u0fb0\7\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\11\140\1\u0fb1\12\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u0fb2\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\14\140\1\u0363\7\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\17\140\1\u0fb3\4\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u0e5a\15\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u0fb4\20\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u0fb5\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\22\140\1\u0fb6\1\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\7\140\1\u0fb7\14\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u0326\1\140\1\u0fb8"+ "\1\u0fb9\1\140\1\u0fba\1\u0fbb\4\140\1\u0fbc\5\140\1\u0faf"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u0fbd\14\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0fbe\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u0fbf\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u0fc0\1\140"+ "\1\u0fc1\12\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140"+ "\1\u0fc2\13\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140"+ "\1\u0fc3\13\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\5\140"+ "\1\u0fc4\16\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140"+ "\1\u0fc5\5\140\1\u06a5\5\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u0fc6\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\20\140\1\u0fc7\3\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u0473\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\13\140\1\u0352\1\u0fc8\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\15\140\1\u0fc9\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u0dd5\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\11\140\1\u0fca\12\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u0fcb\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u0fcc\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\11\140\1\u0fcd\12\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\10\140\1\u0fce\13\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\10\140\1\u0fcf\13\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\u06d9\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\23\140\1\u0fd0\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u0fd1\15\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u0fd2\3\140\1\u0fd3\15\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\6\140\1\u0fd4\15\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\6\140\1\u0fd5\15\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\20\140\1\u0fd6\3\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u0fd7\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u0fd8\6\140\1\u037c\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u0511\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\7\140\1\u0fd9\14\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\20\140\1\u0fda\3\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u0fdb\23\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\140\1\u0fdc\22\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\14\140\1\u0fdd\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\10\140\1\u0fde\13\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\16\140\1\u0fdf\5\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u0fe0\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u0fe1\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u0fe2\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u0fe3\2\140\1\u0fe4\20\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u0a08\6\140\1\u0fe5\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0fe6\20\140"+ "\1\131\2\0\1\u0906\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u0fe7\2\140\1\u0fe8"+ "\1\u0fe9\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\5\140"+ "\1\u0899\10\140\1\u0fea\5\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u0feb\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u0fec\2\140\1\u0fed\6\140\1\u089f\6\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\u0fee\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u0fef\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u03a4\3\140"+ "\1\u0ff0\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u0ff1\1\u0ff2\16\140\1\u01a0\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\6\140\1\u0ff3\4\140\1\u0ff4\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u0ff5\1\u0ff6\14\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u0ff7\15\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\7\140\1\u0ff8\14\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u0ff9\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\u0ffa\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\20\140\1\u0ffb\3\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u0ffc\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u0ffd\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\16\140\1\u0ffe\5\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\22\140\1\u0fff\1\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u1000\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u1001\14\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\16\140\1\u1002\5\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u1003\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u1004\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u1005\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u1006\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\10\140\1\u1007\13\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u0670\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u1008\23\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\7\140\1\u1009\14\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\6\140\1\u100a\15\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u100b\23\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\1\u100c\16\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u0a5c"+ "\6\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u100d"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0a56"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u100e"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u100f"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\140\1\u0363"+ "\22\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\20\140\1\u1010"+ "\3\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1011"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0460"+ "\11\140\1\u0569\7\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u1012\23\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u0a3d\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u078e\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\23\140"+ "\1\u1013\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1014"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u1015"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1016"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\12\140\1\u03df"+ "\11\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u07c4"+ "\7\140\1\u1017\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\16\140"+ "\1\u1018\5\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\16\140"+ "\1\u1019\5\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u075d\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\16\140"+ "\1\u101a\5\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u101b\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140"+ "\1\u101c\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u101d\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\23\140"+ "\1\u101e\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\5\140\1\u101f"+ "\16\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\16\140\1\u0449"+ "\5\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u1020\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u1021\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140"+ "\1\u1022\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u08ae\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u1023\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u1024"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u1025"+ "\1\u1026\12\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u1027\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140"+ "\1\u1028\6\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u1029\15\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u102a\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\22\140"+ "\1\u102b\1\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u102c\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u102d\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140"+ "\1\u102e\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u102f\15\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u1030\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140"+ "\1\u1031\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u074e\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u0256"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u1032"+ "\13\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1033"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u1034\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u1035\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u1036\6\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u1037\23\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u1038\14\140\1\u0224"+ "\2\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\16\140\1\u1039"+ "\1\140\1\u103a\3\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u103b"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u103c\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\15\140\1\u0acf\1\u0da4\5\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\5\140\1\u103d\16\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\5\140\1\u0329\2\140\1\u0748\13\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u084a\6\140\1\u0acf\6\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u103e\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u103f\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\23\140\1\u0363\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\10\140\1\u1040\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u1041\20\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u1042\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\16\140\1\u1043\5\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\12\140\1\u1044\11\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u1045\20\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u1046\15\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u1047\15\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\140\1\u035c\22\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\u1048\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u1049\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\13\140\1\u104a\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u0398\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u104b\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\20\140\1\u104c\3\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\14\140\1\u104d\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u104e\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u104f\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u1050\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\7\140\1\u0449\14\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\13\140\1\u07a8\10\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u1051"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u05de\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\140"+ "\1\u056a\3\140\1\u07fc\3\140\1\u0aac\3\140\1\u1052\6\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u1053\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u0b84\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u1054\23\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\3\140\1\u075a\4\140\1\u1055\13\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u1056\7\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u1057\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u1058\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0a9a\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u1059\13\140\1\u105a"+ "\1\140\1\u105b\5\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\14\140\1\u105c\7\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u105d\1\140\1\u0375\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u105e\6\140\1\u082b\14\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\u056e\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u105f\2\140\1\u0b66\1\140"+ "\1\u1060\1\u1061\11\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\u0398\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\6\140\1\u0325\4\140\1\u0527\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\12\140\1\u1062\1\u1063\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u1064\23\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\u1065\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u1066\1\140\1\u0527\15\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u1067\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u1068\15\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u1069\15\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\7\140\1\u0c1a\14\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u0615\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\23\140\1\u106a\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\3\140\1\u0ed5\20\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\10\140\1\u0bf3\4\140\1\u0acf\6\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u0f79\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u106b\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u106c\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u0393\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\7\140\1\u106d\14\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u106e\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\11\140\1\u106f\12\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u1070\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u1071\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\12\140\1\u0a9a\11\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u1072\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u1073\23\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u1074\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u1075\14\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u1076\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u1077\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\13\140\1\u0607\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\u0363\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\23\140\1\u07c3\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u1078\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\6\140\1\u1079"+ "\1\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u0325\5\140\1\u0569\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u107a\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\11\140\1\u107b\12\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u107c\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u05d7\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\6\140\1\u107d\15\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u107e\3\140\1\u0fd3\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\10\140\1\u107f\13\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\3\140\1\u1080\20\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\u1081\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\u1082\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u0629\3\140\1\u1083\3\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\1\140\1\u1084\6\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\16\140\1\u1085\5\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\14\140\1\u1086\2\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u1087\23\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u06a1\11\140\1\u1088\6\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\14\140\1\u1089\7\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u0667\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\20\140\1\u108a\3\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u039a\2\140\1\u0891\14\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"; private static final String ZZ_TRANS_PACKED_3 = "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\6\140\1\u108b\1\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\16\140\1\u108c\5\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u108d\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\11\140\1\u085a\12\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\1\u085a\16\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\140\1\u108e\1\140\1\u108f"+ "\1\140\1\u1090\2\140\1\u1091\4\140\1\u1092\6\140\1\131"+ "\2\0\1\140\2\0\1\u1093\16\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\11\140\1\u108b\12\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u06dc\6\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u1094\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u1095\14\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1096\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u1097\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1098\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1099\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u109a\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u109b\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u109c\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u109d\7\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u109e\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u05e3\13\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\5\140\1\u0e4f\12\140"+ "\1\u109f\3\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u10a0"+ "\23\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u0363\23\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u10a1\23\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\14\140\1\u0a64\7\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u08f6\23\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\140\1\u0e0d\22\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\16\140\1\u06d9\5\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\3\140\1\u10a2\20\140\1\131\2\0"+ "\1\u10a3\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u10a4\2\140\1\u0dbd\1\u10a5\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u10a6\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\u10a7\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\13\140\1\u0bc1\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u10a8\23\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u10a9\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u10aa\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u10ab\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\13\140\1\u0b80\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\u10ac\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140"+ "\1\u10ad\13\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140"+ "\1\u10ae\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u0360\15\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\140"+ "\1\u10af\1\140\1\u10b0\2\140\1\u10b1\1\u10b2\1\u10b3\4\140"+ "\1\u10b4\5\140\1\u07c3\1\131\2\0\1\140\2\0\1\u01ce"+ "\16\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\21\140\1\u0c16\2\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\6\140\1\u10b5\15\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\5\140\1\u10b6\15\140\1\u10b7\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\14\140\1\u10b8\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u10b9\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\13\140\1\u10ba\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\10\140\1\u10bb\5\140\1\u10bc\4\140\1\u10bd"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u10be\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u10bf\23\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\15\140\1\u10c0\5\140\1\u10c1"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u10c2\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\21\140\1\u039a\2\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u10c3\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\5\140\1\u10c4\16\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\11\140\1\u10c5\12\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\1\u10c6\16\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\12\140\1\u0e0e\11\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\10\140\1\u10c7\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\15\140\1\u10c8\6\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u10c9\15\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u10ca\20\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\20\140\1\u10cb\3\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\12\140\1\u10cc\11\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\14\140\1\u0364\7\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u10cd\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u050e\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\10\140\1\u10ce\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u10cf\23\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\15\140\1\u10c0\6\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\1\u0c6a\16\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\13\140\1\u10d0\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\15\140\1\u10ab\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\5\140\1\u10d1\4\140\1\u10d2\11\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\15\140\1\u10d3\6\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u074d\5\140\1\u050e"+ "\2\140\1\u10d4\7\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\6\140\1\u10d5\15\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\7\140\1\u10d6\14\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u10d7\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\11\140\1\u10d8\12\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\15\140\1\u10d9\6\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\16\140\1\u10da\5\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u050b"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u074d\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\12\140\1\u10db\11\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\15\140\1\u10dc\6\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u10dd\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u10de\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\6\140\1\u10df\15\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u0348\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\15\140\1\u10e0\6\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\7\140\1\u10e1\14\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\7\140\1\u10e2\14\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\20\140\1\u10e3\3\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u0925\1\140\1\u0e2e\16\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u10e4\23\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u10e5\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u10e6\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u10e7\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u10e8\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\u10e9\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u10ea\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u10eb\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\11\140\1\u10ec\12\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u10ed\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u052f\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\10\140\1\u10ee\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u10ef\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u10f0\20\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u10f1\20\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\7\140\1\u10f2\14\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u02dd\20\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\14\140\1\u10f3\7\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u10f4\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\u0224\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u10f5\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\13\140\1\u10f6\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u10f7\23\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u10f8\23\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140"+ "\1\u10f9\6\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u0561"+ "\23\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u10fa"+ "\13\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u10fb"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u0b02\1\140"+ "\1\u10fc\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u10fd\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u10fe\1\140\1\u10ff\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u1100\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\21\140\1\u1101\2\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u0237\23\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u1102\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\13\140\1\u083d\10\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\7\140\1\u1103\14\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u1104\3\140\1\u1102\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u1105\1\140\1\u1106\1\140\1\u1107\1\140\1\u1108"+ "\1\140\1\u1109\13\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u110a\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u110b"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u110c\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\11\140\1\u07d0\12\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u110d"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140"+ "\1\u110e\14\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\16\140"+ "\1\u110f\5\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u1110\15\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u1111\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1112"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\16\140\1\u1113"+ "\5\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u1114\12\140"+ "\1\u1115\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u1116\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\140\1\u1117\1\140\1\u1118\1\140\1\u1119\1\140\1\u111a"+ "\1\140\1\u111b\3\140\1\u10c0\1\u0d7e\1\140\1\u111c\3\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\1\u111d\16\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\15\140\1\u111e\6\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\14\140\1\u111f\7\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\15\140\1\u0355\6\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\10\140\1\u1120\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u1121\12\140\1\u039a"+ "\6\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1122"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u1123\23\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\12\140\1\u1124\11\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u1125\23\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u1126\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\20\140\1\u1127\3\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\15\140\1\u1128\6\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u1129\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\3\140\1\u112a\20\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\7\140\1\u112b\14\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\u08ab\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u112c\23\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u112d\23\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\16\140"+ "\1\u112e\5\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u112f\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140"+ "\1\u0237\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140"+ "\1\u1130\14\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140"+ "\1\u1131\13\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u1132\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140"+ "\1\u1133\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u1134\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u1135\15\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\23\140"+ "\1\u1136\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\12\140\1\u1137"+ "\11\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u1138"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\17\140\1\u1139"+ "\4\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u113a\23\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\u113b\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u113c\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\16\140\1\u113d\5\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\140\1\u10c8\22\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u113e\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u10c8\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\20\140\1\u113f\3\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\17\140\1\u1140\4\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\5\140\1\u1141\16\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\140\1\u1142\22\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\3\140\1\u1143\2\140\1\u1144\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u0998\6\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u1145\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u1146\6\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0925\11\140"+ "\1\u0eaf\6\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\u1147"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\20\140\1\u1148\3\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u05f2\7\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u1149\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u114a\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\7\140\1\u114b\14\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u114c\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\15\140\1\u114d\6\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u114e\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u114f\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u0bcc\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\22\140\1\u1150\1\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\10\140\1\u1151\13\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u0e2d\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u1152\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u1153\23\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\16\140"+ "\1\u1154\5\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u1155\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140"+ "\1\u03df\14\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140"+ "\1\u1156\4\140\1\u0eb0\1\u1157\5\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\12\140\1\u1158\11\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\5\140\1\u01b7\6\140\1\u0224\7\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\7\140\1\u1159\14\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u115a\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u115b\20\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u115c\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\7\140\1\u115d\14\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\1\u115e\16\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\13\140\1\u115f\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\u0ec6\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\13\140\1\u0fa0\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u1160\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u02dd\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u0ea9\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\20\140\1\u1161\3\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\140\1\u1162\1\u01ac\3\140\1\u1163"+ "\1\140\1\u07f4\7\140\1\u1010\3\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\14\140\1\u1164\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\23\140\1\u10fc\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u1165\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u1166\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\23\140\1\u1167\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\10\140\1\u1168\13\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u0388\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u1169\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u116a\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u116b\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\14\140\1\u116c\7\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\6\140\1\u116d\15\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u1050\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u116e\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u116f\3\140\1\u1083\6\140\1\u1170\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\u1171\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u1172\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\13\140\1\u1173\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\7\140\1\u1174\4\140\1\u0629\3\140\1\u0bd6\3\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u1175\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u1176\7\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1177\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\22\140\1\u1178\1\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u1179\23\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\5\140\1\u01c5\1\140\1\u117a"+ "\1\u117b\4\140\1\u117c\6\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u117d\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\5\140\1\u01c5\7\140\1\u0662\6\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u117e\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\17\140\1\u117f\4\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\13\140\1\u0fa1\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\23\140\1\u1180\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u1181\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u0239\23\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\14\140\1\u0cef\7\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u1182\23\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u1183"+ "\23\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u105f"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1184"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u1185"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u1186"+ "\7\140\1\u1187\10\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u0ff1\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\6\140\1\u1188\15\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\13\140\1\u1189\10\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u0345\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u118a\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u118b\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\11\140\1\u118c\12\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\7\140\1\u118d\14\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u118e\1\140\1\u118f\1\u103d\1\u084a\2\140\1\u1190"+ "\3\140\1\u1191\6\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u1192\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\7\140\1\u1193\4\140\1\u1194\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u1195\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u1196\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\13\140\1\u052b\2\140\1\u1197\5\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u1198\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u1199\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\11\140\1\u119a\12\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\7\140\1\u119b\2\140\1\u0d02"+ "\11\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\20\140\1\u0bff"+ "\3\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u119c"+ "\13\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u119d"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u119e"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u119f"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\20\140\1\u11a0"+ "\3\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u11a1"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u11a2"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u07ad"+ "\13\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u11a3"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\u100c\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\12\140\1\u11a4\11\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u11a5\23\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u11a6\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\u11a7\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u11a8\6\140\1\u01af\10\140\1\u11a9\1\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u11aa\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\u0853\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\20\140\1\u11ab\3\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\u11ac\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u03a4\3\140\1\u03f8\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\10\140\1\u11ad\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\23\140\1\u11ae\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u11af\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u11b0\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u11b1\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u02dd\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\22\140\1\u05fe\1\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\10\140\1\u11b2\13\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\140\1\u0348\22\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\3\140\1\u11b3\20\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u11b4\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\22\140\1\u11b5\1\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\3\140\1\u11b6\20\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\14\140\1\u11b7\7\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\15\140\1\u11b8\6\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\7\140\1\u0919\14\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u11b9\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\13\140\1\u11ba\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\13\140\1\u11bb\1\u11bc\5\140\1\u0553"+ "\1\140\1\131\2\0\1\u11bd\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u11be\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u11bf\6\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\21\140\1\u11c0\2\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\16\140\1\u11c1\5\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u11c2\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u11c3\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u11c4\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\17\140\1\u07c5\4\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u11c5\7\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u0794\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\140\1\u11c6\22\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u11c7\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\u11c8\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u11c9\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u11ca\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\13\140\1\u11cb\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\14\140\1\u11cc\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u11cd\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u11ce\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\10\140\1\u11cf\13\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\13\140\1\u11d0\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\140\1\u11d1\2\140\1\u11d2\2\140\1\u11d3"+ "\3\140\1\u11d4\1\140\1\u11d5\1\u11d6\1\140\1\u11d7\3\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u11d8\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\20\140\1\u11d9\3\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u0352\1\u11da\7\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u11db\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u11dc\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\11\140\1\u11dd\12\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u11de\13\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u11df\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u11e0\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\u11e1\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u11e2\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\7\140\1\u11e3\14\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u11e4\14\140\1\u11e5\4\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u11e6\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u11e7\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u11e8\7\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u11e9\7\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u11ea\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u1057\3\140"+ "\1\u11eb\11\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u11ec\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u0ee2\4\140\1\u0d66\13\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u11ed\2\140\1\u0dbd\1\u11ee\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u11ef\23\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u039a\1\140\1\u11f0\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u075b\14\140\1\u089f\6\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\u0bbf\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\3\140\1\u11f1\3\140\1\u11f2\3\140"+ "\1\u03f8\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u0ff1\2\140\1\u11f3\14\140\1\u11f4\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u11f5\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\u11f6\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u11f7"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u07e3\23\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\16\140\1\u11f8\5\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u11f9"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\u0a4e"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u11fa\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\20\140\1\u10b9\3\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u11fb\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u11fc\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u11fd\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u11fe\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u11ff\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\u1200\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u1201\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\15\140\1\u1202\6\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u1203\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u1204"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u1205\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u1206"+ "\14\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\u1207\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\u1208\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u1209\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\14\140\1\u120a\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\1\131\1\u0243"+ "\4\131\1\0\2\131\1\u0243\1\131\4\u0243\1\131\1\0"+ "\1\131\1\0\3\131\1\0\1\131\1\u0243\13\0\4\131"+ "\3\u0243\6\131\2\u0243\4\131\1\u0243\1\131\2\0\1\131"+ "\2\0\1\131\1\u0243\3\131\1\u0243\6\131\1\u0243\2\131"+ "\1\0\1\131\3\u0243\1\131\3\u0243\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u120b\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\u0529\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u03df\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u120c\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u0363\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u120d\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\13\140\1\u120e\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\15\140\1\u120f\6\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\1\u1210\16\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\22\140\1\u1211\1\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u1212\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\13\140\1\u1213\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u1214\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\10\140\1\u1215\13\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u1216\1\u1217\2\140\1\u1218\3\140\1\u1219\1\u121a\4\140"+ "\1\u121b\5\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\20\140"+ "\1\u121c\3\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\16\140"+ "\1\u121d\5\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u121e\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140"+ "\1\u121f\6\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140"+ "\1\u1220\13\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u1221"+ "\2\140\1\u1222\4\140\1\u1223\5\140\1\u1224\5\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u1225\20\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u1226\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\11\140\1\u1227\12\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u1228\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\10\140\1\u1229\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\140\1\u122a\22\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\14\140\1\u0360\7\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u0bef\23\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u0398\23\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\1\u0350"+ "\16\140\1\0\10\140\17\0\1\u122b\150\0\1\u122c\200\0"+ "\1\u0708\74\0\1\u122d\162\0\1\u122e\144\0\1\u122f\53\0"+ "\2\64\1\0\1\64\1\0\2\64\2\0\6\64\1\0"+ "\1\64\1\u1230\24\64\1\0\15\64\1\u1230\21\64\1\0"+ "\30\64\17\0\1\u1231\117\0\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u02d5\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u1232\23\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\17\0\1\u1233\136\0\1\u1234\117\0"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\2\140\1\u1235\14\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u1236"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\u0695\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\1\140\1\u1237\15\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u1238\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\10\140\1\u1239\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u123a\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\16\140\1\u123b\5\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\3\140\1\u0b42\20\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u123c\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\5\140\1\u123d\16\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u07a8\23\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u0cc0\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\11\140\1\u123e\12\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u0237\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\13\140\1\u08ab\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u104d\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u123f\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\15\140\1\u1240\6\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\7\140\1\u1241\14\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\15\140\1\u1242\6\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\5\140\1\u0f9c\16\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\13\140\1\u1243\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\23\140\1\u1244\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u1245\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\20\140\1\u1246\3\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\11\140\1\u1247\12\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u1248\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u1249\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\20\140\1\u124a\3\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u124b\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u124c\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u124d\23\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u085a\4\140\1\u124e\14\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\23\140\1\u124f\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u1250\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\12\140\1\u1251\11\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u1252\23\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u1253\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u1254"+ "\23\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u1255"+ "\5\140\1\u1256\1\u1257\11\140\1\u1258\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u1259\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u125a\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\14\140\1\u125b\7\140\1\131\2\0\1\u125c"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u125d\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\13\140\1\u0cdf\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u125e\14\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\13\140\1\u125f\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\17\140\1\u0bd0\4\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u1260\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u1261\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\13\140\1\u1262\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\17\140\1\u1263\4\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u1264\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\12\140\1\u1265\11\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\7\140\1\u0508\1\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\7\140\1\u0224\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\u0cfa\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u1266\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u1267\1\140\1\u1268\7\140\1\u1269"+ "\3\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u126a"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u126b"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\7\140\1\u126c\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\u126d\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\15\140\1\u126e\6\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\3\140\1\u0561\20\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u0375\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u126f\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u0d60\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\10\140\1\u1270\13\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u1271\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u1272\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\5\140\1\u1273\1\u1267\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0360\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u1274\7\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\16\140\1\u1275\5\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u1276\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u1277\15\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u1278\15\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u1277\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u1279\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\7\140\1\u127a\14\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\14\140\1\u033a\7\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u0484\15\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u127b\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\17\140\1\u127c\4\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u0853\23\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u127d\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\14\140\1\u127e\7\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\20\140\1\u127f\3\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u08f6\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\7\140\1\u1280\14\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\3\140\1\u1281\20\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u1282\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u1283\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u1284\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\16\140\1\u0c0b\5\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u1285\1\u1286\20\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u1083\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u1287\20\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\20\140\1\u1288\3\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\20\140\1\u05d7\3\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\14\140\1\u0629\3\140\1\u1289"+ "\3\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u128a"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u128b"+ "\14\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u128c\23\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\16\140\1\u128d\5\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u11aa\6\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u128e\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u128f\23\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\u1290\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\u1291\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u1292\23\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u1293\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140"+ "\1\u1294\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u1295"+ "\23\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1296"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1297"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u1298"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u1299\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1094\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u129a\6\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u129b\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\22\140\1\u0cba\1\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u097e\7\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u129c\13\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u129d\7\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u129e\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u0aeb\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\15\140\1\u129f\6\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\10\140\1\u085a\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u07be\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\10\140\1\u07f4\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\5\140\1\u12a0\16\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u08aa\15\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\14\140\1\u12a1\7\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\23\140\1\u12a2\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\17\140\1\u12a3\4\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\1\140\1\u0224\4\140\1\u0224\1\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\23\140\1\u12a4\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\16\140\1\u100e\5\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\17\140\1\u12a5\4\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u12a6\23\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\3\140\1\u03a2\20\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\13\140\1\u056e\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\14\140\1\u12a7\7\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\5\140\1\u0224\3\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\6\140\1\u0224\1\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0c1a\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u12a8\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u12a9\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u0224\20\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\1\u12aa\7\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\u0593\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\23\140\1\u12ab\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\u0331\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u12ac"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\13\140\1\u0421\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u12ad\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\6\140\1\u12ae\15\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\13\140\1\u12af\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u12b0\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\16\140\1\u12b1\5\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u0ef3\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\13\140\1\u0421\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u12b1\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\10\140\1\u12b2\13\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u12b3\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\5\140\1\u12b4\16\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\140\1\u12b5\22\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\14\140\1\u12b6\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\13\140\1\u12b7\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u12b8\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u12b9\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\15\140\1\u12ba\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u12bb\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\14\140\1\u081e\7\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u12bc\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\5\140\1\u0e34\16\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u12bd\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\u12be\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u12bf\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u0846\3\140\1\u0848\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u0596\1\u0acf\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\u0820\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u12c0\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\17\140\1\u12c1\4\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u12c2\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\17\140\1\u12c3\4\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\11\140\1\u12c4\12\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\6\140\1\u12c5\15\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u12c6\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u12c7\4\140\1\u12c8\12\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\10\140\1\u12c9\13\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\140\1\u12ca\22\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\20\140\1\u12cb\3\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\16\140\1\u0e34\5\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\14\140\1\u12cc\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u12cd\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u12ce\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u12cf"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u12d0\1\140\1\u12d1\16\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\13\140\1\u0c25\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\15\140\1\u089f\6\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\13\140\1\u0ac8\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\7\140\1\u12d2\14\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u12d3\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\10\140\1\u0d86\13\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\140\1\u0355\22\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\23\140\1\u12d4\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u12d5\3\140\1\u12d6\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u12d7\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u12d8\7\140\1\u12d9\13\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u12da\23\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u12db\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\16\140\1\u12dc\3\140\1\u11a9\1\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\7\140\1\u12dd\14\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u0fd3\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\7\140\1\u0b66\14\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u12de\23\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\u0528\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u12df\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\u12e0\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\20\140\1\u12e1\3\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\5\140\1\u12e2\16\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u12e3\14\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u12e4\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\17\140\1\u12e5\4\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u12e6\14\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u12e7\14\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\15\140\1\u12e8\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u12e9\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\10\140\1\u12ea\1\u12eb\12\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\10\140\1\u12ec\13\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u12ed\23\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u12ee\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\21\140\1\u12ef\2\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\10\140\1\u12f0\13\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u0256\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\7\140\1\u0325\14\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u0e12\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u12f1\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\20\140\1\u12f2\3\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u12f3\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u12f4"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140"+ "\1\u052c\1\u033a\7\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\1\140\1\u1244\6\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u12f5\14\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\10\140\1\u1081\13\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u12f6\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u12f7\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\7\140\1\u12f8\14\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\10\140\1\u12f9\13\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u12fa\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u12fb\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\11\140\1\u061e\12\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\u12fc\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u12fd\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u0a11\23\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\4\140\1\u12fe\4\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\20\140"+ "\1\u12ff\3\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140"+ "\1\u1300\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\140"+ "\1\u10ea\22\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140"+ "\1\u1301\14\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\5\140\1\u0224"+ "\2\140\1\131\10\0\6\140\1\0\10\140\1\u0378\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\140\1\u07c4"+ "\22\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1302"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1303"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u1304\23\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1305\6\140"+ "\1\u1306\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140"+ "\1\u1307\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u1308\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u07c4\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\u1309"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u130a\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u1178\20\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\11\140\1\u130b\12\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u130c\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u130d\23\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u130e\14\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u130f\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\13\140\1\u0b08\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u1310\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\10\140\1\u1311\13\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u1312\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u1313\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u1314\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u1315\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u1316\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u1317\3\140\1\u1318\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\20\140\1\u1319\3\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u131a\1\140\1\u1051"+ "\13\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\u131b\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u131c\1\u131d"+ "\1\140\1\u131e\1\u0509\3\140\1\u131f\3\140\1\u0569\1\u1320"+ "\1\u1321\1\140\1\u1322\3\140\1\131\2\0\1\140\2\0"+ "\1\u1323\16\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\140\1\u0e34\22\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u037c\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u08ab\23\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\10\140\1\u0a9a\13\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\22\140\1\u1324\1\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u1325\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u1326\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\15\140\1\u1327\6\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u1328\5\140\1\u0cf8\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u10fe\1\140\1\u1329\5\140\1\u132a"+ "\11\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u132b"+ "\3\140\1\u132c\3\140\1\u03f8\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u132d\14\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u0569\7\140\1\u132e\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u132f\23\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\10\140\1\u07c1\13\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\1\u0555\16\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\22\140\1\u10c8\1\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\12\140\1\u02db\4\140\1\u1330\4\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u1331\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\u1332\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u1333\5\140\1\u1334\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u1335\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u0824\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\u1336\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u10c6\14\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u0dff\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u0569\7\140\1\u0853\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u1337\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\5\140\1\u0928\16\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\11\140\1\u1338\12\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u1339\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u133a\20\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u133b\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u133c\15\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u0cd3\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\14\140\1\u133d\7\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u0364\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\14\140\1\u133e\7\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\14\140\1\u133f\7\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u1340\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u1341\15\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u1342\15\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u053a\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\10\140\1\u1343\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u1344\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\20\140\1\u1345\3\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u1346\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u1347\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u1348\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u1349\1\140\1\u05de"+ "\5\140\1\u07f4\1\u134a\2\140\1\u134b\7\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u134c\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u134d\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u09ed\6\140\1\u050e\1\u134e\7\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u134f\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\16\140\1\u1350\5\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u1351\14\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u1352\23\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u0cdd\23\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u1353\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u1354\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\7\140\1\u0869\14\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u1355\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u033a\2\140\1\u1356\16\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u1357\6\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\11\140\1\u1358\12\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\140\1\u1359\2\140"+ "\1\u135a\1\140\1\u135b\1\u135c\1\u135d\2\140\1\u0352\1\140"+ "\1\u135e\1\u135f\5\140\1\131\2\0\1\140\2\0\1\u01ce"+ "\16\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\7\140\1\u1360\14\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\15\140\1\u1361\6\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u1362\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u1363"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\20\140"+ "\1\u1364\3\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140"+ "\1\u1365\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u1366\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u1367"+ "\23\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u1368\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u1369\13\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u136a\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\11\140\1\u136b\12\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u035c\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\21\140\1\u136c\2\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u136d\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u136e\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\17\140\1\u035c\4\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\3\140\1\u0fdc\20\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\3\140\1\u074e\20\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u136f\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u1370\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\5\140\1\u1371\16\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u1372\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u1373\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\140\1\u1374\22\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\5\140\1\u1375\16\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u1376\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\u1377\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u1378\23\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u1379\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\140\1\u137a\22\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u137b\4\140\1\u137c\3\140\1\u137d\6\140\1\u137e\1\140"+ "\1\u082d\1\u137f\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u1380\6\140\1\u1381\12\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\11\140\1\u1382\12\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u1383\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\5\140\1\u1384\16\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\15\140\1\u1385\6\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u1386\3\140\1\u1387\1\u1388\1\140\1\u1389\1\140"+ "\1\u138a\1\u0e38\6\140\1\u138b\1\131\2\0\1\140\2\0"+ "\1\u138c\16\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u110f\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u138d\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\21\140\1\u0363\2\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u138e\1\140\1\u138f\2\140\1\u1384\1\140\1\u1390"+ "\1\140\1\u1391\1\u1392\2\140\1\u1393\1\u1394\3\140\1\u082d"+ "\1\u1395\1\131\2\0\1\140\2\0\1\u1396\16\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u1397\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\140"+ "\1\u1398\22\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140"+ "\1\u039a\3\140\1\u0853\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u1399\23\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\13\140\1\u139a\10\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u139b\5\140\1\u133c\15\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u139c\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u139d\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u139e"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u139f\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u13a0"+ "\23\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u13a1"+ "\13\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u13a2"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u13a3"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u0b52"+ "\14\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u13a4\23\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\11\140\1\u13a5\12\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u13a6\23\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\7\140\1\u0449\1\u0670\13\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u13a7\23\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\16\140\1\u13a8\5\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\23\140\1\u13a9\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\14\140\1\u108d\7\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\3\140\1\u03a2\10\140\1\u0788\7\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u13aa\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u13ab\14\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u13ac\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u03e5\10\140"+ "\1\u13ad\3\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140"+ "\1\u13ae\1\u08d8\5\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\15\140\1\u13af\6\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u13b0\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\4\140"+ "\1\u13b1\3\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u13b2\23\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\20\140"+ "\1\u13b3\3\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\1\140\1\u13b4"+ "\6\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140"+ "\1\u13b5\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u0924\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140"+ "\1\u13b6\6\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u13b7\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140"+ "\1\u13b8\6\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u13b9\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u13ba\15\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\17\140"+ "\1\u1339\4\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140"+ "\1\u032a\6\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u13bb\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\16\140"+ "\1\u13bc\5\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u13bd\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\12\140"+ "\1\u13be\11\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\20\140"+ "\1\u13bf\3\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u13c0"+ "\23\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\140\1\u13c1"+ "\2\140\1\u09a6\1\u13c2\2\140\1\u13c3\1\u13c4\1\140\1\u0352"+ "\1\140\1\u13c5\4\140\1\u13c6\1\140\1\131\2\0\1\u13c7"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u13c8\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\16\140\1\u13c9\5\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u13ca\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\12\140\1\u13cb\11\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u13cc\14\140\1\u10d9\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u13cd\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u13ce\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\1\u13cf"+ "\16\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\15\140\1\u13d0\1\u0eb1\5\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\14\140\1\u13d1\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u13d2\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u13d3\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u13d4\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u13d5\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u13d6\7\140\1\u1156\13\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\13\140\1\u06d9\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\20\140\1\u13d7\3\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u13d8\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u13d9\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\13\140\1\u13da\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\13\140\1\u13db\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u07c4\14\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\10\140\1\u13dc\13\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\14\140\1\u13dd\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u13de\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\10\140\1\u13df\1\u0cf6\12\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u0eb7\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u13e0\4\140\1\u13e1\14\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u13e2\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u13e3\14\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\u13e4\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\7\140\1\u13e5\14\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\15\140\1\u13e6\6\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u13e7\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\140\1\u13e8\22\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u13e9\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\15\140\1\u13ea\6\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\20\140\1\u13eb\3\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\15\140\1\u13ec\6\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u0842\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\10\140\1\u07be\13\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\10\140\1\u13ed\13\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\u13ee\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\6\140\1\u05f8\15\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\20\140\1\u0596\3\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u091d\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\15\140\1\u13ef\6\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u13f0\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u0cfb\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\7\140\1\u0922\3\140\1\u13f1\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\16\140\1\u13f2\5\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\12\140\1\u13f3\11\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u0cc7\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u09f9\14\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\10\140\1\u13f4\13\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\1\u13f5\7\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\14\140\1\u13f6\7\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\10\140\1\u13f7\13\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u13f8\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\22\140\1\u13f9\1\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u13fa\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\11\140\1\u13fb\12\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\3\140\1\u13fc\20\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\16\140\1\u042f\5\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\13\140\1\u052c\1\u033a\7\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u0421\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\17\140\1\u13fd\4\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u13fe\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u13ff\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\7\140\1\u1400\4\140\1\u1401"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u1402"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u052b"+ "\2\140\1\u1403\5\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\u1404\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1405"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u1406"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u1407"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u1408"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u1409"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u140a"+ "\6\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u140b"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u140c"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u140d"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u140e\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u140f\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u1410\7\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u1411\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\11\140\1\u1412\12\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u1413\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u1414\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u1415\20\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u1094\15\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u1416\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\u1417\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\15\140\1\u1418\6\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u05c6\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\u1419\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u0a06\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\21\140\1\u0a4c\2\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\20\140\1\u06ae\3\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u141a\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\12\140\1\u141b\11\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\u141c\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\6\140\1\u141d\15\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u141e\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u141f\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\17\140\1\u1420\4\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u1421\23\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140"+ "\1\u1422\6\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u1423\15\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u0bc9\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u1424"+ "\4\140\1\u056a\13\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\6\140\1\u05da\15\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u1425"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u1426\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\11\140"+ "\1\u1427\12\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u1428\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140"+ "\1\u1429\7\140\1\u142a\3\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u142b\14\140\1\u08aa\3\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\21\140\1\u142c\2\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u042f\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u142d\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\16\140\1\u085a\5\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\10\140\1\u142e\4\140\1\u142f\6\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u0857\4\140"+ "\1\u1430\6\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u1431\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u1432\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u1433\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u1434"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\1\u1435\7\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u0b80\23\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\22\140\1\u1436\1\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u1437\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u1438\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\17\140\1\u1439\4\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\u143a\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u143b\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u143c\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u143d\1\u06d9\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u143e\23\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\5\140\1\u06d9\16\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u143f\1\140\1\u06d9\15\140\1\u07a8\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u1440\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u1441\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\7\140\1\u1442\14\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u1443\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u1444\15\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\14\140\1\u1445\7\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\15\140\1\u1446\6\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u1447\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u1448\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u1449\20\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u079c\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u144a\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u144b\15\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u144c\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u144d\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u144e\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u119c\13\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\21\140\1\u144f\2\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u1450\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\23\140\1\u1451\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\5\140\1\u033a\2\140\1\u1452\13\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u1453\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u1454\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u1455\1\140"+ "\1\u0bc5\13\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u1456\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u1457\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140"+ "\1\u1458\13\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u1459\4\140\1\u145a\14\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u145b\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u0423\12\140\1\u037c\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u145c\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u145d\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u145e\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u145f\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u06a1\4\140\1\u1460\7\140\1\u03a3\3\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u1461\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u1462\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u1463\2\140\1\u1464\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\u0aed\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u0aee\14\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\20\140\1\u1465\3\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u1466\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u1244\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u1467\12\140\1\u1468\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u1178\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u1469\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u146a\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u146b\6\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u08f9\1\u07fb"+ "\1\u146c\1\u0bdf\4\140\1\u146d\1\140\1\u146e\6\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u146f\1\u1217\1\140\1\u10ca"+ "\1\u1470\1\u061d\1\u07b6\1\140\1\u1471\1\u0d8c\1\140\1\u052c"+ "\1\u1472\1\u1473\1\u1474\1\140\1\u0472\3\140\1\131\2\0"+ "\1\u07be\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u1475\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u1476\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\20\140\1\u048a\3\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\14\140\1\u1477\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\22\140\1\u0b40\1\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\20\140\1\u0df3\3\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\11\140\1\u1478\12\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u1479\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\13\140\1\u0421\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\15\140\1\u0d51\6\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\21\140\1\u147a\2\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u147b\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u147c\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u147d\10\140\1\u147e\6\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u147f\20\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\u1480\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u1481\3\140\1\u1482"+ "\1\u1483\1\140\1\u051e\1\u1484\1\u1485\1\u1486\5\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u1487\17\140\1\131"+ "\2\0"; private static final String ZZ_TRANS_PACKED_4 = "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\10\140\1\u0cb9\13\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u1488\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\14\140\1\u1489\7\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u148a\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u148b\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u1489\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\11\140\1\u148c\12\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u148d\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u148e\23\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\21\140\1\u148f\2\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u1490\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u1491\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u1492\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u1493\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u1494\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\17\140\1\u1495\4\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u1496\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u1497\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\6\140\1\u0224\15\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u1498\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\13\140\1\u1499\10\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\64\0\1\u149a\131\0\1\u149b\143\0\1\u0f82"+ "\143\0\1\u149c\45\0\2\64\1\0\1\64\1\0\2\64"+ "\2\0\6\64\1\0\26\64\1\0\14\64\1\373\22\64"+ "\1\0\1\64\1\373\26\64\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\16\140"+ "\1\u0ca9\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\3\140\1\u074c"+ "\13\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u149d\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\1\140\1\u0745\4\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u149e\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u149f\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u14a0\12\140\1\u0582\6\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u14a1\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\10\140\1\u14a2\13\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u0bc5\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u14a3\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\10\140\1\u14a4\13\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\12\140\1\u07be\11\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\7\140\1\u14a5\14\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\u076b\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u0ca4\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\10\140\1\u0836\13\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u0839\3\140\1\u03a2\1\140\1\u083a\12\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u14a6\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u14a7\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\u14a8\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\3\140\1\u0c30\20\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u14a9\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\15\140\1\u14aa\6\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u0d8f\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\11\140\1\u037c\12\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u14ab\1\140\1\u14ac\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u08aa\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\12\140\1\u14ad\11\140"+ "\1\131\2\0\1\140\2\0\1\u0555\16\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u14ae"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u14af"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u14b0"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u14b1"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u0355\11\140"+ "\1\u14b2\11\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u14b3\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u14b4"+ "\23\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0397"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u14b5"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u14b6"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u14b7"+ "\6\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u14b8"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u14b9"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u14ba"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\11\140\1\u14bb"+ "\12\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u14bc"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u14bd"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u14be"+ "\14\140\1\u14bf\3\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u14c0\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u14c1\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\1\u14c2"+ "\7\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140"+ "\1\u02dd\6\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\u14c3"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u14c4\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u0aac\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\20\140\1\u14c5\3\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\1\140\1\u14c6\6\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u0d35\7\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\12\140\1\u14c7\11\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u14c8\7\140"+ "\1\u14c9\3\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140"+ "\1\u14ca\6\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\u07c4"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\1\u14cb\7\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\7\140\1\u14cc\14\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\20\140\1\u14c9\3\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u14cd\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u14ce\14\140\1\u13b3"+ "\3\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u14c5"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u14cf"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u14d0\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u14d1\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\23\140\1\u14d2"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\2\140\1\u14d3\5\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\1\u14d4\7\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u14d5\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\7\140\1\u14d6\14\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\15\140\1\u0596\2\140\1\u13b3"+ "\3\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u14d7"+ "\14\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u14d8"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u14d9"+ "\6\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u14da\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\22\140\1\u14db\1\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u14dc\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u14dd\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\20\140\1\u14de\3\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\11\140\1\u0b0e\12\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u14df\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\14\140\1\u14e0\7\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u14e1\23\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\23\140\1\u14e2\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u14e3\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\16\140\1\u14e4\5\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u14e5\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u14e6\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\14\140\1\u14e7\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\10\140\1\u14e8\13\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\23\140\1\u14e9\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\16\140\1\u14ea\5\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u01a0\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u14eb\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u14ec\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u121d\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u14ed\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u14ee\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u14ef\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u14f0\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u14f1"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\16\140"+ "\1\u09f7\5\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u14f2\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\u14f3"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\11\140\1\u01af\2\140"+ "\1\u0569\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\17\140"+ "\1\u14f4\4\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u14f5\5\140\1\u14f6\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u14f7\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\16\140\1\u08ab\5\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\11\140\1\u14f8\12\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\15\140\1\u14f9\6\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u0224\23\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u14fa\1\u14fb\3\140\1\u117b\1\140\1\u14fc\1\u1468"+ "\1\140\1\u14fd\5\140\1\u0ee0\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u12b1\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u14fe\23\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u108c\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\10\140\1\u14ff\13\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u1500"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u13a3\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140"+ "\1\u1501\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u1502"+ "\23\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u03a4"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u1503\23\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u1504\13\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\5\140\1\u0363\16\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\12\140\1\u0d02\11\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u1505\5\140"+ "\1\u1506\13\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\11\140"+ "\1\u1507\12\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u0557"+ "\2\140\1\u1508\2\140\1\u1509\1\u150a\3\140\1\u150b\1\140"+ "\1\u150c\6\140\1\131\2\0\1\140\2\0\1\u150d\16\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\20\140\1\u150e\3\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u150f\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u1510\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u035d"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u1511\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u0d89\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u1512\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0363\14\140"+ "\1\u07c4\4\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140"+ "\1\u1513\14\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u1514\15\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140"+ "\1\u1515\14\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140"+ "\1\u1516\6\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u0d89\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\23\140"+ "\1\u1517\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u1518\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u1519\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u151a\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u151b\6\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u151c\6\140"+ "\1\u151d\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u151e"+ "\23\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u151f"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u1520"+ "\14\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u1521"+ "\14\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u1522"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u1523\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u1524\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\1\u0db5\7\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\12\140\1\u1061\11\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\5\140\1\u1525\16\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u1526\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\u0b42\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u085a\4\140\1\u0224\14\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\5\140\1\u03df\16\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\14\140\1\u1527\7\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\14\140\1\u1528\7\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\23\140\1\u10e2\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\5\140\1\u1529\16\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u152a\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\140\1\u152b\22\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u06cc\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\10\140\1\u0224\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\u0a9a\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\21\140\1\u152c\2\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\16\140\1\u0f97\5\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\15\140\1\u152d\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u152e\6\140\1\u152f\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\11\140\1\u1530\12\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u031e\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\14\140\1\u0db5\7\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u1531\1\140\1\u1532"+ "\3\140\1\u1533\12\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\11\140\1\u1534\12\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\11\140\1\u0891\12\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\5\140\1\u061d\16\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u1535\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u1536\1\140\1\u1537\4\140\1\u0c25\2\140\1\u048a"+ "\3\140\1\u1538\1\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u1539\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\13\140\1\u153a\10\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u153b\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u153c\7\140\1\u0c25\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u0db6\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u153d\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u153e\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u153f\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\5\140\1\u048a\16\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u06a1\2\140\1\u046d\7\140\1\u0eb2\5\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u1540\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u1541\23\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\u0853\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\20\140\1\u1083\3\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u1542\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u1543\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\140\1\u1544\22\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\7\140\1\u1545\14\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u1546\4\140\1\u08ba\14\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\15\140\1\u1547\6\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\11\140\1\u1548\2\140\1\u1549\7\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u154a\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\16\140\1\u154b\5\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u154c\14\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u154d\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\23\140\1\u137f\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\23\140\1\u0ea5\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u154e\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u0821\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u0aae\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u154f\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u1550\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\13\140\1\u1551\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\15\140\1\u1552\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u1553\14\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\15\140\1\u1554\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\21\140\1\u1555\2\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u1556\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u1557\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\140\1\u1558\22\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u1559\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\10\140\1\u155a\5\140\1\u0224\5\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u155b\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u155c\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u0921\1\140\1\u155d\1\140"+ "\1\u155e\15\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u155f\4\140\1\u0aba\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u1560\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\13\140\1\u1561\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u1562\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u1563\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u1564\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\6\140\1\u0325\6\140\1\u1565\6\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\15\140\1\u1566\6\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\10\140\1\u1567\13\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u1568\4\140\1\u08ba\4\140"+ "\1\u1569\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\u156a"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u156b\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u156c\6\140"+ "\1\u037c\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u156d"+ "\23\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u0ee1"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u156e"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\20\140\1\u156f"+ "\3\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u05ba"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0a0c"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u1570"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u079c\6\140"+ "\1\u1571\14\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140"+ "\1\u1572\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u1573\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\5\140"+ "\1\u1574\1\u1575\1\u1576\5\140\1\u1577\2\140\1\u1578\3\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1579\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u051e\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\22\140\1\u157a\1\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\u0375\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u157b\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\16\140\1\u0a5d\5\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u157c\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u157d\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u157e\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\10\140\1\u157f\13\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\11\140\1\u1580\12\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u0c16\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u1581\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u1582\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u1583\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\11\140\1\u042f\12\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u1584\1\140\1\u05de\5\140\1\u07f4\1\u134a\2\140\1\u134b"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u1585"+ "\13\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u1586"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\u056e\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u06c0"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u1587"+ "\2\140\1\u1588\4\140\1\u051e\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u1589\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\13\140\1\u158a\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\16\140\1\u0cc1\5\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u0423\23\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u158b\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u158c\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\7\140\1\u0752\14\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u0ef3\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u119e\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u101a\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u158d\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u0a9a\14\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u0ab0\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\14\140\1\u158e\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\23\140\1\u01af\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u06a0\12\140\1\u158f\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u1590\1\140\1\u1591\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u1592\3\140\1\u03a4"+ "\14\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u1593"+ "\1\u1594\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u1595\15\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\12\140"+ "\1\u0cc1\11\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140"+ "\1\u0bf3\13\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140"+ "\1\u117b\13\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u1596"+ "\23\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u1597"+ "\6\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u1598"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\5\140\1\u1599"+ "\7\140\1\u159a\6\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\15\140\1\u159b\6\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\140\1\u159c\22\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u159d"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u159e\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u159f"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u15a0\1\0\1\u050e"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\140"+ "\1\u15a1\1\140\1\u130a\1\u15a2\2\140\1\u07fe\1\u050e\1\u15a3"+ "\3\140\1\u15a4\6\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\u050e\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\140\1\u050e\2\140\1\u15a2\3\140\1\u050e\1\u15a5\12\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u15a6\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u07b1\23\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\11\140\1\u15a7\12\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u056e\20\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\14\140\1\u0159\7\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u15a8\3\140\1\u15a9"+ "\13\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u15aa"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u15ab\23\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u15ac\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u15ad\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u15ae\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\20\140\1\u15af\3\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u15b0\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u15b1\7\140"+ "\1\u15b2\5\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u15b3"+ "\5\140\1\u15b4\15\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\u15b5\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u15b6"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u15b7"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\16\140\1\u15b8"+ "\5\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u15b9"+ "\13\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u0853"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\12\140\1\u1367"+ "\11\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\12\140\1\u0d7b"+ "\11\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u15ba"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u15bb"+ "\4\140\1\u15bc\10\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\16\140\1\u15bd\5\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\u15be\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u15bf"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u15c0"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\140\1\u10b9"+ "\22\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u15c1"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u15c2"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u15c3"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u15b1"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u15c4"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\12\140\1\u15c5"+ "\11\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\u15c6\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u15c7\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u15c8\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u15c9\15\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\23\140\1\u15ca\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\14\140\1\u15cb\7\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\7\140\1\u15cc\14\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u15cd\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\23\140\1\u15ce\1\131\2\0\1\u042f"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u15cf\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u15d0\1\u15d1\1\u15d2\2\140\1\u0329\3\140\1\u15d3"+ "\3\140\1\u15d4\2\140\1\u15d5\3\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\4\140\1\u0a20\3\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u15d6\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\11\140\1\u15d7\12\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u15d8\7\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\11\140\1\u15d9\12\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u110c\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u15da\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u15db\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u15dc\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\23\140\1\u15dd\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u0c08\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\u15de\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u05da\4\140\1\u051e\2\140\1\u0ed3\5\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u0a51\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\3\140\1\u035c\20\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\13\140\1\u15df\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\12\140\1\u15e0\11\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\23\140\1\u15e1\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u15e2\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u15e3\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u15e4\14\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\10\140\1\u03eb\13\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\13\140\1\u15e5\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\21\140\1\u15e6\2\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\1\140\1\u0336\6\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u15e7\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u15e8\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\14\140\1\u15e9\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\14\140\1\u15ea\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\10\140\1\u15eb\13\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\16\140\1\u15ec\5\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u15ed\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u15ee\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u15ef\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u15f0\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u15f1\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u03ac\3\140\1\u0159\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\u15f2\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u15f3\15\140\1\u15f4\2\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\10\140\1\u15f5\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u15f6\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\14\140\1\u15f7\2\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\14\140\1\u15f8\7\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u15f9\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\10\140\1\u1156\4\140\1\u15fa\6\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u15fb\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\10\140\1\u15fc\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\20\140\1\u1431\3\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u15fd\20\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u15fe\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\u0ec6\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u15ff\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u1154\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\23\140\1\u1600\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u1601\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u1602\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\10\140\1\u07a8\13\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\14\140\1\u1112\7\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u1603\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\5\140\1\u1604\16\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\22\140\1\u0553\1\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\23\140\1\u1075\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u1605\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\15\140\1\u1606\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u1349\1\140\1\u1607\5\140\1\u1608\1\u1609"+ "\2\140\1\u0569\7\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u160a\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\10\140\1\u160b\13\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u160c\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\13\140\1\u160d\10\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\17\140\1\u160e\4\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u160f\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\7\140\1\u0a07\14\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\16\140\1\u1610\5\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\12\140\1\u1611\11\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u1612\23\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u1613\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u1614"+ "\23\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u1615\23\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u1616\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1617\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0cc1\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\20\140\1\u1618\3\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u1619\23\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\14\140\1\u161a\5\140\1\u0eb2"+ "\1\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u161b"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u085a"+ "\14\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u161c"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\11\140\1\u161d"+ "\12\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\u161e\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\16\140\1\u161f\5\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u1620\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\16\140\1\u0fff\5\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u1621\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u1622\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\17\140\1\u0b0e\4\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\21\140\1\u1623\2\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u1624\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u1625\23\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\u1626\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u1627\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u1628\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140"+ "\1\u1629\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u162a\15\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u07f3\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\20\140"+ "\1\u162b\3\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u162c"+ "\23\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u162d"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u162e"+ "\6\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u162f"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\u1630\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\7\140\1\u1631\14\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\14\140\1\u1632\7\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\10\140\1\u1633\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u1634\23\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u1635\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\15\140\1\u1636\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\15\140\1\u1637\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u1638\14\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u1639\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u0b4e\17\140\1\u163a\3\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u163b\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\14\140\1\u163c\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\u0316\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\17\140\1\u1213\4\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u048a\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\12\140\1\u163d\11\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u163e"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\140"+ "\1\u01a0\22\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140"+ "\1\u141e\14\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u1071\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u163f"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u1640"+ "\13\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u1641"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\21\140\1\u1642"+ "\2\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u1643"+ "\14\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u037c\23\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1644\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u1645\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1646\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\1\u1647\16\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\7\140\1\u1648\14\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\7\140\1\u1649\14\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u164a\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u164b\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\5\140\1\u164c\16\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\1\u164d\16\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\13\140\1\u164e\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\u164f\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u1650\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u1651\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\16\140\1\u1652\5\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u1653\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\u1654\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0f24"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\u1655\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u1656\1\u1657"+ "\1\u1658\1\u1659\1\140\1\u07c3\1\140\1\u165a\1\u1657\1\u165b"+ "\3\140\1\u165c\1\u165d\5\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u165e\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\140\1\u165f\22\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\7\140\1\u0561\14\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\20\140\1\u039a\3\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u1660\11\140\1\u1661\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\15\140\1\u1662\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\10\140\1\u1663\13\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u1664\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\15\140\1\u1665\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\16\140\1\u1666\5\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u1667\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u1668\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\20\140\1\u1669\3\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u166a\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\12\140\1\u166b\11\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u166c\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u166d\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u14e3\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u166e"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u1669\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u166f\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u1670\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u1671"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u1672\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\140\1\u1673\22\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\u1674\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u1675\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u1676\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u1677\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u1678\14\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u1679\14\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\15\140\1\u167a\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u167b\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u167c\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u05ec\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\6\140\1\u167d\15\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\6\140\1\u167e\15\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u0569\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\1\u061a\7\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u167f\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u119e\3\140\1\u1680\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u1681\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u1682\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\14\140\1\u1683\7\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u1684\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u0217\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\3\140\1\u1685\20\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\14\140\1\u1686\7\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\u1687\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u1688\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u1689\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\13\140\1\u168a\10\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u168b\2\140\1\u168c\1\u05aa\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\5\140\1\u168d\16\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u03a4\3\140\1\u0bc1\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\14\140\1\u03df\1\140\1\u0471"+ "\1\140\1\u0527\3\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\1\u06dd"+ "\7\140\1\131\10\0\6\140\1\0\11\140\1\0\1\u06d9"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u168e\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u03eb\6\140\1\u03df\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\6\140\1\u168f\11\140\1\u0527\3\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u06dd\5\140\1\u1690\15\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u09ed\1\140\1\u1691"+ "\1\140\1\u1692\1\u1693\4\140\1\u1694\5\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\16\140\1\u1695\5\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\10\140\1\u1331\13\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\3\140\1\u1696\20\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u1697\2\140\1\u0601\1\u1698"+ "\2\140\1\u051e\7\140\1\u10ab\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u1699\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\15\140\1\u169a\6\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\7\140\1\u169b\14\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u169c\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\u169d\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u0503\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u169e"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u169f"+ "\4\140\1\u16a0\7\140\1\131\2\0\1\u16a1\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u16a2\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u16a3\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\13\140\1\u16a4\10\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\12\140\1\u16a5\11\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u16a6\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u16a7"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u16a8\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u12c3\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\15\140\1\u16a9\6\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u12c3\1\u16aa\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u16ab\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\13\140\1\u16ac\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\22\140\1\u11a4\1\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u16ad\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u16ae\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u03ce\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u16af\21\140\1\u16b0\1\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\140\1\u16b1\22\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u16b2\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\5\140\1\u0d89\16\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u16b3\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\15\140\1\u16b4\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u16b5\23\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u16b6\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u0f7d\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\55\0\1\u16b7\3\0\1\u16b8\151\0\1\u16b9"+ "\121\0\1\u16ba\57\0\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u16bb\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u16bc\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u16bd\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\13\140\1\u16be\10\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\16\140\1\u1367\5\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\10\140\1\u16bf\13\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\15\140\1\u16c0\6\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\u16c1\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u05ba"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u16c2\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u16c3\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u0e15\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\15\140\1\u16c4\6\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u16c5\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u16c6\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\16\140\1\u16c7\5\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u07a4\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\23\140\1\u16c8\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\7\140\1\u16c9\14\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u16ca\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\140\1\u1261\22\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u16cb\23\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\17\140\1\u0355\4\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\u0eb2\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\7\140\1\u16cc\14\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u16cd\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\13\140\1\u16ce\10\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u16cf\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u110f\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\14\140\1\u16d0\7\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\17\140\1\u110f\4\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u16d1\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u16d2\1\u16d3\1\u16d4\1\140\1\u16d5\1\140\1\u16d6"+ "\4\140\1\u16d7\1\u16d8\1\140\1\u03a3\3\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u16d9\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u16da\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\13\140\1\u042f\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\16\140\1\u0e2b\5\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\u16db\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\23\140\1\u16dc\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u16dd\23\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u16de\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\1\140\1\u16df"+ "\6\140\1\131\10\0\6\140\1\0\10\140\1\u16e0\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u0326\5\140\1\u16e1\1\140\1\u16e2\10\140\1\u0ee0"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\u14c3\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u0bef\6\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u16e3\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u16e4\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\u16e5\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u16e6\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\3\140\1\u16e7\20\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u16e8\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\5\140\1\u1273\16\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\12\140\1\u16e9\11\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\15\140\1\u16ea\2\140\1\u0df3\3\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u16eb\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\3\140\1\u0224\4\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\u16ec\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\5\140\1\u16ed\16\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\23\140\1\u16ee\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\16\140\1\u01a0\5\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u16ef\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\12\140\1\u16f0\11\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u16f1\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u16f2\3\140\1\u1297\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\20\140\1\u01a0\3\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\5\140\1\u0e2e\3\140\1\u16f3\12\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u16f4\23\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u093f\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u16f5\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\5\140\1\u16f6\16\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u16f7\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u16f8\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u16f9\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\15\140\1\u16fa\6\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u16fb\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u16fc\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u16fd\23\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\u16fe\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u16ff\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u1700\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u1701\20\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u0c0b\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\20\140\1\u1702\1\140\1\u11a4"+ "\1\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\16\140\1\u1703"+ "\5\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1704"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\1\u1705\7\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u1706\12\140"+ "\1\u1707\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u1708"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u1709"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\16\140\1\u170a"+ "\5\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u170b"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u170c"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0460"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u170d"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u170e"+ "\6\140\1\u0403\10\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u170f\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u1710\1\140\1\u06de\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\13\140\1\u1711\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u13a3\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\10\140\1\u108c\13\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\15\140\1\u14fd\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u1712\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\140\1\u108c\22\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u1502\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\7\140\1\u0318\14\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u1713\23\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\12\140\1\u1714\11\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u147f\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u1715\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\16\140\1\u1716\5\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u1717\23\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140"+ "\1\u1718\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u1719\1\u171a\3\140\1\u171b\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u171c\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\11\140\1\u171d\12\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u10ea\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u171e\23\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u171f\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u1720\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\7\140\1\u1721\14\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\16\140\1\u1722\5\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u1723\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u12ab\23\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140"+ "\1\u1465\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140"+ "\1\u1724\14\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u1725\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u108d\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140"+ "\1\u13f1\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u1726\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\1\u0378\16\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1727"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\140\1\u1728"+ "\22\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\16\140\1\u1729"+ "\5\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u035c"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u01a0"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u0557\10\140"+ "\1\u172a\6\140\1\u172b\3\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u172c\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\5\140\1\u172d\16\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u172e\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\140\1\u172f\22\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u1730\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u1731\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u018d\23\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u152c\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u1732\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u1733"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u1734"+ "\13\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u1735"+ "\6\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u1736"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1737"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\u1738\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u1739\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u0fe0\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\10\140\1\u173a\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\14\140\1\u173b\7\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u173c\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u173d\15\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u173e\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\16\140\1\u173f\5\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u1740\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u1741\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u1742\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u1743\1\u05b8\1\140\1\u084a\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u1744\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u1745\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\16\140\1\u1746\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u1747\6\140\1\u1748\14\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u1749\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u174a\23\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u174b\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u174c\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\21\140\1\u174d\2\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\17\140\1\u174e\4\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u174f\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\11\140\1\u1750\12\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u1751\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u0bd6\23\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u1752\23\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u1753"+ "\23\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1754"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\16\140\1\u13d9"+ "\5\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u1755"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u1756\23\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\16\140\1\u1757\5\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\12\140\1\u1758\11\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u1759\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\20\140\1\u175a\3\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\5\140\1\u0e2e\16\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\14\140\1\u175b\7\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u175c\4\140\1\u056a"+ "\13\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u175d\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u175e\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\140\1\u175f\22\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u1760\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\22\140\1\u154b\1\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u1761\6\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u0fc2\4\140"+ "\1\u0596\6\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\16\140"+ "\1\u1762\5\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u1763"+ "\23\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u1764\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140"+ "\1\u1765\1\u1766\1\140\1\u0421\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\22\140\1\u1767\1\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u0421\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u03a2\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u1768\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\13\140\1\u0421\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\16\140\1\u0877\5\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u1769\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u176a\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u0a82\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\16\140\1\u176b\5\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\20\140\1\u176c\3\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\23\140\1\u0765\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u176d\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\140\1\u176e\1\u176f\5\140\1\u1770\1\u1771"+ "\2\140\1\u1772\7\140\1\131\2\0\1\140\2\0\1\u1773"+ "\16\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u1774\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u1775\23\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u07a8\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u1776\23\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\u1777"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u0b8a\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u1778\6\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u08c7\23\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u061d\20\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u0326\1\u08ba\1\140"+ "\1\u1384\1\140\1\u10e2\1\140\1\u1779\11\140\1\u177a\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\21\140\1\u0c39\2\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\15\140\1\u177b\6\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u177c\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u177d\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u09ed\3\140\1\u177e\13\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u0793\13\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u0748\12\140"+ "\1\u177f\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u1780"+ "\13\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u1781"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u1782"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0903"+ "\6\140\1\u0b84\10\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u075a\3\140\1\u02dd\1\u1055\13\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\16\140\1\u1783\5\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u0b66\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\14\140\1\u1784\7\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u1785\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u1786\23\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\16\140\1\u1787\5\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\140\1\u1788\22\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u1789\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u0d87\4\140\1\u178a\14\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u178b\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u178c\15\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\7\140\1\u178d\14\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\15\140\1\u178e\6\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\14\140\1\u0348\7\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u178f\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\14\140\1\u0a4c\7\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\u1790\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\13\140\1\u1791\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u1792\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\u050e\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\1\u1793\16\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140"+ "\1\u1794\13\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u042f\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140"+ "\1\u1795\14\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u0325"+ "\2\140\1\u1796\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\u050e\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\140\1\u050e\22\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u0325\1\u1797\7\140\1\u050e\12\140\1\131\2\0\1\140"+ "\2\0\1\u1798\16\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\1\u0325\16\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\140\1\u050e\22\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\20\140\1\u050e\3\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u1799\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\u179a\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u179b\1\140\1\u179c\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\20\140\1\u179d\3\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u1363\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\11\140\1\u179d\12\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\6\140\1\u179e\15\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\6\140\1\u179f\15\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u17a0\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u17a1\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u17a2\23\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\14\140\1\u17a3\7\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\4\140"+ "\1\u17a3\3\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\5\140\1\u17a4\16\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\20\140\1\u17a5\3\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\140\1\u0363\1\u17a6\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u17a7\23\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u17a8\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\14\140\1\u17a9\7\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\u17aa\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u17ab"+ "\6\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\5\140\1\u03e5"+ "\16\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0e2b"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u17ac"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\23\140\1\u03e5"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\5\140\1\u17ad\16\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\u17ae\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u17af\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\3\140\1\u17b0\20\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u17b1\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\3\140\1\u130f\20\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\3\140\1\u17b2\20\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\3\140\1\u17b3\20\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\17\140\1\u17b4\4\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\15\140\1\u17b5\6\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u17b6\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\17\140\1\u17b7\4\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u17b8\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\13\140\1\u17b9\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u17ba\10\140\1\u1382\12\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\20\140\1\u17bb\3\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u01b7\23\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u17bc\23\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\14\140\1\u03eb\1\140\1\u17bd\5\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\15\140\1\u17be\6\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u17bf\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u17ba\10\140\1\u17c0\12\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u17c1\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\u17c2\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\13\140\1\u17c3\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\17\140\1\u17c4\4\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\20\140\1\u0c1a\3\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\7\140\1\u0c0c\14\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\u17c5\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u17c6\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u17c7\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\13\140\1\u17c8\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\17\140\1\u17c9\4\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u17ca\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\15\140\1\u17cb\6\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\16\140\1\u17cc\5\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\23\140\1\u17cd\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u063a\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\14\140\1\u17ce\7\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u12d5\23\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u17cf\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140"+ "\1\u17d0\6\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u17d1\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u17d2\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u13d6\23\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u05de\5\140"+ "\1\u07f4\3\140\1\u0569\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u17d3\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u17d4\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\23\140\1\u17d5\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u17d6\23\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u17d7\10\140\1\u17d8\6\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u17d9\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u0778\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\5\140"+ "\1\u17da\3\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\6\140\1\u17db\15\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u1584\1\140\1\u17dc\5\140\1\u1608\1\u1609\2\140"+ "\1\u0569\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\u0ec6"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0d8c\2\140"+ "\1\u1588\4\140\1\u051e\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u17dd\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u13d9"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u17de\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140"+ "\1\u1241\4\140\1\u0629\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\17\140\1\u10f8\4\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\7\140\1\u1433\14\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u0537\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u17df\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u05aa\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\16\140\1\u17e0\5\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u17e1\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\17\140\1\u17e2\4\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u079c\14\140\1\u06da\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u17e3\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u05b1\23\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\20\140\1\u17e4\3\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\23\140\1\u17e5\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\11\140\1\u17e6\12\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\10\140\1\u0224\1\u17e7\12\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u17e8\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u17e9"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\140"+ "\1\u17ea\22\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u17eb\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140"+ "\1\u17ec\13\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u17ed\15\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u17ee\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\16\140"+ "\1\u17ef\5\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140"+ "\1\u160f\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u17f0\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\140"+ "\1\u0a62\22\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u1413\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140"+ "\1\u17f1\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140"+ "\1\u17f2\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u17f3\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u17f4\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u17f5\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u0c7a\6\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u17f6\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u17f7\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\12\140\1\u17f8\11\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u17f9\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u0f98\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\20\140\1\u17fa\3\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u17fb\23\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\15\140\1\u17fc\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u17fd\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u17fe\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u17ff\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u1800\23\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u1801\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\6\140\1\u1802\15\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\20\140\1\u1803\3\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\6\140\1\u1804\15\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\16\140\1\u1805\5\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u1632\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u1806\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\5\140\1\u1807\12\140\1\u1808\3\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\13\140\1\u17af\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u1809\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u180a\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\14\140\1\u0561\7\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u180b\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\10\140\1\u180c\13\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u180d\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u180e\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u180f\11\140\1\u1810\4\140\1\u1811"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0836\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u1812\14\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u1813\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0b3e\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u1814\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\7\140\1\u0537\14\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u1815\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\14\140\1\u171d\7\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u1816\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u1817\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u0c77\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\15\140\1\u1818\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u142b\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u1819\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\5\140\1\u13d9\16\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\14\140\1\u181a\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\23\140\1\u181b\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u1488\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u181c\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u181d\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u181e\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u0db5\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\14\140\1\u181f\7\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\14\140\1\u07a8\7\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u1820\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u0cee\23\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u1821\15\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u1822"+ "\12\140\1\u0511\10\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\7\140\1\u1823\14\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u0e28\7\140\1\u1824\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u1825\3\140\1\u0ce9\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\12\140\1\u1826\10\140\1\u1827\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u1828\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u1829\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u182a\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u182b\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u182c\20\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u182d\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u182e\15\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u182c\20\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\u182f\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u1830\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\22\140\1\u1831\1\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u1832\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u1833\1\0\1\140\1\0\1\131"; private static final String ZZ_TRANS_PACKED_5 = "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u1834\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\16\140\1\u14e3\5\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u1835\1\140\1\u1836\15\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u1837\20\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u1838\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\15\140\1\u146b\4\140\1\u1831"+ "\1\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\5\140\1\u1839"+ "\16\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u183a"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u183b"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\5\140\1\u183c"+ "\16\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u183d"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u0784"+ "\1\u183e\1\u183f\2\140\1\u1840\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u1841\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u1842\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\16\140\1\u1843\5\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\12\140\1\u1844\11\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u1845\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\15\140\1\u1846\6\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u1847\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\7\140\1\u0c03\14\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u1848\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\6\140\1\u1849\15\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\14\140\1\u184a\3\140\1\u184b\3\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\15\140\1\u184c\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\u184d\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u184e\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\11\140\1\u0aac\12\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u1686\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u184f"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u119e\6\140\1\u0f1b\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\20\140\1\u1083\3\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u1850\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u1851\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\5\140\1\u1852\16\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u1853\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u0224\5\140\1\u03df\13\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u1854\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\u1855\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\7\140\1\u1856\6\140\1\u1857\5\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1858\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u1859\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u185a\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u185b\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u185c\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0af7\10\140"+ "\1\u1410\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u185d\6\140\1\u185e\6\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u185f\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\13\140\1\u1860\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u1861\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u1862\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u1863\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\11\140\1\u1864\12\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u1865\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\16\140\1\u1866\5\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u1867\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\6\140\1\u1868\15\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\13\140\1\u1869\10\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u186a\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\6\140\1\u186b\15\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\5\140\1\u186c\16\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u186d\23\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u186e\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u186f"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\22\140\1\u1870"+ "\1\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u1871"+ "\13\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0fdd"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u1872"+ "\14\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u1873"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u1874"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u1875"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u1876\23\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u1877\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u0473\1\140\1\u1878"+ "\5\140\1\u0352\1\u0569\1\u1879\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\13\140\1\u187a\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\14\140\1\u187b\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u187c\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\71\0\1\u0c99\124\0\1\u06fa"+ "\145\0\1\u0c99\50\0\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\10\140\1\u187d\13\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\1\u187e\7\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u1505\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u187f\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u0336\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u1880"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u1881\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\23\140"+ "\1\u05f2\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0509"+ "\11\140\1\u1882\5\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u1883\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\13\140\1\u1884\10\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\7\140\1\u1885\14\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\23\140\1\u0c36\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u1886\1\u0a17\1\140\1\u1575\2\140\1\u1887\12\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\7\140\1\u1888\14\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u1889\23\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\5\140\1\u188a\16\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\15\140\1\u188b\6\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\11\140\1\u188c\12\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u0e20\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\16\140\1\u14b9\5\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\14\140\1\u0e5a\7\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u110f\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u0fa8\2\140\1\u188d\16\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u188e\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u188f\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\u1890\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u0224\4\140\1\u1891\14\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u1892\1\140"+ "\1\u03df\1\u1893\16\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\7\140\1\u1894\14\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u1895\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\10\140\1\u1896\13\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u1897\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\13\140\1\u1898\10\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\10\140\1\u1899\13\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\7\140\1\u189a\14\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u189b"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140"+ "\1\u189c\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u189d\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u189e\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u189f"+ "\23\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u0d71\23\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u0f79\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\140\1\u18a0\22\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u0557\7\140\1\u0224"+ "\13\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u0670"+ "\6\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u18a1"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u18a2"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\u18a3\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u18a4\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\20\140\1\u03df\3\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u18a5\15\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u074d\1\u16f1\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\1\u061a\7\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u18a6\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\22\140\1\u18a7\1\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u18a8\6\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u18a9\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u18aa\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u18ab\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\17\140\1\u0c0b\4\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u18ac\1\u056a\2\140"+ "\1\u0819\1\140\1\u046d\4\140\1\u0352\1\140\1\u18ad\6\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u18ae\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u18af\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\16\140\1\u18b0"+ "\5\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u12c3"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\16\140\1\u18b0"+ "\5\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u18b1\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140"+ "\1\u18b2\13\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140"+ "\1\u18b3\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u18b4\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u18b5\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140"+ "\1\u18b6\6\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u18b7\15\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u18b8\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u18b9\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\16\140\1\u18ba"+ "\5\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\u18bb\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\23\140\1\u18bc\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\17\140\1\u050e\4\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u18bd\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\u18be\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u06c0\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\16\140\1\u052c\5\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\20\140\1\u18bf\3\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\20\140\1\u18c0\3\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u18c1\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u0df2\14\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u18c2\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\20\140\1\u18c3\3\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\14\140\1\u18c4\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u18c5\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\15\140\1\u18c6\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\u18c7\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\6\140\1\u1716\7\140\1\u18c8\5\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\16\140\1\u18c9\5\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\10\140\1\u18ca\13\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u18cb\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\7\140\1\u18cc\14\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u18cd\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\20\140\1\u18ce\3\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u18cf\23\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u18d0"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\23\140"+ "\1\u18d1\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u18d2"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u09f9"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u18d3"+ "\6\140\1\u18d4\6\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\10\140\1\u18d5\13\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\11\140\1\u076f\12\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\13\140\1\u18d6\10\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\140\1\u07f7\22\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u18d7\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\7\140\1\u18d8\14\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\1\140"+ "\1\u18d9\6\140\1\131\10\0\6\140\1\0\10\140\1\u18da"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\10\140\1\u0224\13\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u18db\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u18dc\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u18dd\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u18de\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\10\140\1\u18df\13\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u18e0\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u18e1"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\u18e2"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u18e3\12\140\1\u11c0\2\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u18e4\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u18e5\23\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\10\140\1\u18e6\13\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\21\140\1\u18e7\2\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\13\140\1\u18e8\10\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\140\1\u18e9\22\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\14\140\1\u18ea\7\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u18eb\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\11\140\1\u18ec\12\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u18ed\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u18ee\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\7\140\1\u18ef\14\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u18f0"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u18f1\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u115f\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\23\140"+ "\1\u18f2\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u18f3"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u18f4"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1536"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u18f5"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u18f6"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\20\140\1\u18f7"+ "\3\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u18f8"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u18f9"+ "\2\140\1\u18fa\1\140\1\u10e2\5\140\1\u151b\2\140\1\u0619"+ "\3\140\1\131\2\0\1\140\2\0\1\u18fb\16\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140"+ "\1\u18fc\13\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u18fd\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u1658\20\140\1\u18fe\1\131\2\0\1\140\2\0\1\u18ff"+ "\16\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u1900\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u1901\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u1902\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\11\140\1\u1903\12\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u18af"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140"+ "\1\u1904\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140"+ "\1\u1905\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140"+ "\1\u0b42\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\20\140"+ "\1\u056e\3\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u1906\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u1907\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0d8c\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u1908\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u1909\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u190a\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u190b\20\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u190c\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u190d\3\140\1\u190e\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u190f\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\12\140\1\u1910\11\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\u1911\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u1912\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\10\140\1\u117b\2\140\1\u0c25\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\13\140\1\u1913\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u1131\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\5\140\1\u1356\16\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u1658\10\140\1\u0c25\1\u1914"+ "\6\140\1\u1915\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\16\140"+ "\1\u1916\5\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u1917\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u1918\15\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u1919\15\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140"+ "\1\u191a\6\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u191b\6\140\1\u191c\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\13\140\1\u191d\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u0cc5\1\140\1\u191e\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\3\140\1\u191f\3\140\1\u09f7\14\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1920\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u1921\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u1922\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u1923\14\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u1924\7\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u1925\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u11ca\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u1926\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u1927\23\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\12\140\1\u147f\11\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\20\140\1\u0f9c\3\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u1928\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u0cfb\1\140\1\u039b\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\17\140\1\u1929\4\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u1585\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\u0237\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u03a2\14\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u0665\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u0ef3\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u10ef\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\13\140\1\u192a\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u192b\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u192c\23\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u192d\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u192e\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u192f\15\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\1\u1930\16\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u192f"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1931"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u1932"+ "\13\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u1933"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\20\140\1\u1934"+ "\3\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u1935"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\12\140\1\u1936"+ "\11\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\17\140\1\u1937"+ "\4\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u0cf8"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\140\1\u050e"+ "\11\140\1\u1938\1\u07c9\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u0325\2\140\1\u0527\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\u050e\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\14\140\1\u07c9\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u1939\23\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u0f99\23\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\140\1\u193a\22\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\13\140\1\u193b\10\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\10\140\1\u193c\13\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\11\140\1\u193d\12\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\140\1\u193e\22\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u193f\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\6\140\1\u1940\15\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u1941"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140"+ "\1\u115c\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\5\140"+ "\1\u085a\16\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\11\140"+ "\1\u07c1\12\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u1942\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u1943\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u1944"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u109d"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u1945"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u1946"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\21\140\1\u1947"+ "\2\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u1948"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u1949"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\16\140\1\u09f9"+ "\5\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u194a\23\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u194b\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\16\140\1\u194c\5\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\16\140\1\u194b\5\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u194d\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u194e\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\15\140\1\u0c84\6\140\1\131"+ "\2\0\1\140\2\0\1\u0555\16\140\1\0\4\140\1\u194f"+ "\3\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\16\140"+ "\1\u0d7e\5\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u130a\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\u0cc0\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\20\140\1\u0a4e\3\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u1950\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\5\140\1\u01b7\16\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u1951\23\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u1952\23\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\20\140\1\u1953\3\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\16\140\1\u17bd\5\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u1954\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u0dca\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u0e15\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u1955\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u06d2\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u1956\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u1957\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u1958\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\16\140\1\u1959\5\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u1958\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u195a\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\15\140\1\u195b\1\u195c\5\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\4\140\1\u195d\3\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\13\140\1\u195e\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u195f\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\12\140\1\u1960\11\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u1961\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u1962\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u1963\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u1964\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\7\140\1\u1965\14\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\22\140\1\u1966\1\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\17\140\1\u1967\4\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\10\140\1\u1968\13\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u1969\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\4\140\1\u196a"+ "\4\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\7\140\1\u11c7\14\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\17\140\1\u196b\4\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u196c\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\16\140\1\u196d\5\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u0d89\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\15\140\1\u196e\6\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u196f\23\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\11\140"+ "\1\u1970\12\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u1971\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\11\140"+ "\1\u1972\12\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u1973\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u0345\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u1974\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u05de\4\140\1\u03a2\1\u0857\1\u1609\2\140\1\u134b\7\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u13d6\2\140\1\u0d8c"+ "\2\140\1\u0532\4\140\1\u051e\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\14\140\1\u1975\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u1976\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u1977\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u1978\14\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\17\140\1\u1975\4\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\u1979\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u197a"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\16\140"+ "\1\u197b\5\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140"+ "\1\u197c\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140"+ "\1\u197d\13\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140"+ "\1\u0e38\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\20\140"+ "\1\u197e\3\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u197f\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\u0ed7"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u0473\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u1980\15\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u1981"+ "\1\u1982\1\140\1\u1983\1\u07fb\1\140\1\u1984\1\140\1\u1985"+ "\4\140\1\u01cb\6\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u1986\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u1987\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u1988\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\6\140\1\u1989\15\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\14\140\1\u198a\7\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\17\140\1\u198b\4\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\23\140\1\u198c\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140"+ "\1\u198d\13\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140"+ "\1\u14a5\13\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u198e\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140"+ "\1\u198f\13\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u0695"+ "\23\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u1990\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\u1991\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u1992\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\15\140\1\u1993\6\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\20\140\1\u1413\3\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u1994\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u1995\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u1658\3\140\1\u1996\1\140"+ "\1\u117b\13\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140"+ "\1\u1997\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140"+ "\1\u1998\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u1998\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u1999\15\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140"+ "\1\u199a\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u199b\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\16\140\1\u0991"+ "\5\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u199c"+ "\13\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\16\140\1\u0d86"+ "\5\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u199d\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u199e\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\u199f\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\10\140\1\u19a0\13\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u19a1\23\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\u0793\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\23\140\1\u19a2\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140"+ "\1\u19a3\13\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u19a4"+ "\6\140\1\u0b9a\14\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u19a5\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\14\140\1\u19a6\7\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\10\140\1\u19a7\13\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\u0aae\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\u0853\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u0629"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u1051"+ "\13\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u19a8"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u19a9"+ "\14\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u19aa"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u19ab\14\140"+ "\1\u19ac\3\140\1\u19ad\1\140\1\u1827\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u19ae\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u19af\1\u19b0\6\140\1\u19b1\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\17\140\1\u0421\4\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u19b2\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u19b3\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\7\140\1\u19b4\14\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\11\140\1\u19b5\12\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u19b6\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u19b7\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u0af2\5\140\1\u19b8\1\140\1\u19b9\13\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u18ae\10\140"+ "\1\u19ba\6\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\22\140"+ "\1\u1413\1\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140"+ "\1\u19bb\14\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u19bc\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u19bd\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u19be\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\5\140\1\u19b5\16\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u09fc\7\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\5\140\1\u19bf\16\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u127e\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u19c0\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u19c1\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u19c2\14\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\16\140\1\u127e\5\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0a88\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u19c3\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u19c4\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u19c5\2\140\1\u0e2e\3\140"+ "\1\u19c6\4\140\1\u19c7\5\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\12\140\1\u19c8\11\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u0b0e\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u19c9\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u19ca\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\u19cb\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u19cc"+ "\23\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u19cd"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u19ce"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\16\140\1\u19cf"+ "\5\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u119e"+ "\10\140\1\u10ab\3\140\1\u19d0\1\u19d1\1\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\7\140\1\u19d2\14\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u050b\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u19d3\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u19d4\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u19d5\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u19d6\23\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\16\140\1\u19d7\5\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u19d8\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\10\140\1\u19d9\13\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\7\140\1\u19da\14\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\20\140\1\u19db\3\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\15\140\1\u19dc\6\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\u19dd\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\12\140"+ "\1\u19de\11\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\16\140"+ "\1\u19df\5\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140"+ "\1\u0667\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u19e0\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140"+ "\1\u19e1\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u19e2\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u19e3\15\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\20\140"+ "\1\u18a7\3\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u19e4\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u19e5"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u19e6"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u19e7"+ "\6\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u19e8"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u19e9"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u19ea"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u19eb"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\140\1\u1359"+ "\3\140\1\u0c77\2\140\1\u1359\4\140\1\u19ec\6\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\16\140\1\u19ed\5\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u19ee\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u19ef\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u19f0\23\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u19f1\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u19f2\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\21\140\1\u0ecb\2\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\10\140\1\u19f3\13\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\15\140\1\u19f4\6\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u19f5\23\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\7\140\1\u03a4\3\140\1\u19f6\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\16\140\1\u19f7\5\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u19f8\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\u19f9\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\11\140\1\u19fa\12\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\u19fb\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u135b"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u19fc\23\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u19fd\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u19fe\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u19ff\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u1a00\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0cd6\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u0ce5\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1a01\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u07c4\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\5\140\1\u08ba\16\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\21\140\1\u1a02\2\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\12\140\1\u1228\11\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u1a03\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u1a04\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u1a05\13\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u1a06\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u1a07\14\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u1a08\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u1a09\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u1a0a\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u1a0b\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u1a0c\5\140\1\u1a0d"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\140\1\u1a0e"+ "\22\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u1a0f"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u1a10"+ "\6\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\23\140\1\u1a11"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\11\140\1\u1a12\12\140"+ "\1\131\2\0\1\140\2\0\1\u1a13\16\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\22\140\1\u1a14"+ "\1\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u1a15"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u11c2"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u0faf"+ "\14\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u1a16\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u1a17\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\11\140\1\u042f\6\140"+ "\1\u1a18\3\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\20\140"+ "\1\u1a19\3\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140"+ "\1\u1a1a\13\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140"+ "\1\u1a1b\6\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u0d8c\2\140\1\u18e3\4\140\1\u051e\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u1a1c\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u1a1d\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\3\140\1\u1a1e\20\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u1a1f\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u1a20\23\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u07b1\3\140\1\u0c6a\3\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\3\140\1\u0e28\2\140\1\u0911\1\u03a4"+ "\14\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\22\140\1\u0670"+ "\1\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\11\140\1\u07d0"+ "\12\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u1a21\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\23\140\1\u1a22\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u1a23\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\14\140\1\u1a24\7\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u09f0\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\u1a25\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\7\140\1\u085b\14\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u1a26\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u1a27\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\5\140\1\u09e7\7\140\1\u142f\4\140\1\u11a4\1\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u1a28\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u1a29\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\17\140\1\u1a2a\4\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\14\140\1\u1a2b\7\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\20\140\1\u1a2c\3\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u1a2d\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\10\140\1\u1a2e\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u1a2f\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\7\140\1\u1a30\14\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\5\140\1\u193c\16\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u1a31\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\21\140\1\u1177\2\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u1a32\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u1a33\23\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u1a34\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u18c9\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\14\140\1\u1a35\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u1a36\14\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u1a37\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\11\140\1\u1a38\12\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u1a39\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\5\140\1\u0329\12\140\1\u0c1a\3\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\u1a3a\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u1a3b\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u03eb\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\20\140\1\u0325\3\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u1a3c\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\6\140\1\u1a3d\15\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u1a3e\23\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\16\140\1\u1a3f\5\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\22\140\1\u1a40\1\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\16\140\1\u1a41\5\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\13\140\1\u1a42\10\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u1a43\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\10\140\1\u1a44\13\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\u1a45\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\6\140\1\u18e3\15\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u1a46\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u1a47"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\22\140"+ "\1\u0d9d\1\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u18e3\12\140\1\u11c0\2\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\10\140\1\u1055\13\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u1a48\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\22\140\1\u1a49\1\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u1a4a\23\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u1a4b\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\5\140\1\u1a4c\16\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\u1a4d\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u1a4e"+ "\6\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u1a4f"+ "\13\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u1a50"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u07e6"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u1a51"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\u1a52\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\7\140\1\u1a53\1\131\10\0\6\140"+ "\1\0\10\140\1\u1a54\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u1a55\23\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u1a56\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\5\140\1\u1a57\16\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u1a58\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\16\140\1\u1a59\5\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\11\140\1\u1a5a\12\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\6\140\1\u1a5b\15\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u1a5c\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u1a5d\23\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u1a5e\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u1a5f\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u1a60\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140"+ "\1\u1a61\14\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u1a62\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u1a63\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u1a64\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\u1a65\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1a66\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u1178\7\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\5\140\1\u1a67\16\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u0532\5\140"+ "\1\u0569\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u1587\2\140\1\u0532\15\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\10\140\1\u1a68\13\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\10\140\1\u1a69\13\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\140\1\u1a6a\22\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u1a6b\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\15\140\1\u1a6c\6\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\10\140\1\u0a09\13\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u1a6d\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\10\140\1\u1a6e\4\140\1\u1a6c\6\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u1a6f\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\7\140\1\u1a70\14\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u1a71\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\15\140\1\u1a72\6\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\13\140\1\u1a73\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\7\140\1\u1a74\14\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\13\140\1\u085e\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u1a75\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u1a76\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\11\140\1\u0345\12\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\21\140\1\u09f9\2\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u1a77\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u1a78\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\140\1\u1a79\22\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u1a7a\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u1a7b\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\u1a7c\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u1a7d\23\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\14\140\1\u164b\7\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\7\140\1\u1a7e\14\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u1a7f\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\22\140\1\u1a80\1\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\7\140\1\u042f\14\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u1a81\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\23\140\1\u177f\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u1a82\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140"+ "\1\u1a83\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\11\140"+ "\1\u0a4e\4\140\1\u0d86\5\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\15\140\1\u1a84\6\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u1787\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\15\140\1\u1a85\6\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u1a86\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u1a87\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u1a88"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140"+ "\1\u1a89\13\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140"+ "\1\u1a8a\6\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\11\140"+ "\1\u1a8b\12\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140"+ "\1\u14e6\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u1a8c"+ "\23\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u1a8d"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\u1a8e\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u1a8f\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\14\140\1\u1a90\7\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\11\140\1\u1a91\12\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u03eb\23\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\12\140\1\u1977\11\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u1a92\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\10\140\1\u07f4\3\140\1\u0569\7\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\20\140\1\u1a93\3\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\11\140\1\u1391\10\140"+ "\1\u082d\1\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u1419\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\11\140"+ "\1\u0a4e\12\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140"+ "\1\u1115\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140"+ "\1\u1a94\6\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140"+ "\1\u03e5\14\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\20\140"+ "\1\u1a95\3\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u1a96\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u1a97\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\16\140\1\u1a98\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u1a99\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u1a9a\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\5\140\1\u0e4f\2\140\1\u15b9\13\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u1a9b\14\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u0256\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\140\1\u1a9c\22\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u03df\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u1a9d\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\12\140\1\u1a9e\11\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\16\140\1\u050a\5\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u0224\3\140"+ "\1\u07c4\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140"+ "\1\u1a9f\6\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140"+ "\1\u17ce\13\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u1aa0\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\23\140"+ "\1\u1aa1\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u1aa2"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u1aa3"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0631"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\23\140\1\u1aa4"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u1537\1\140"+ "\1\u1aa5\4\140\1\u084d\5\140\1\u1aa6\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\13\140\1\u1aa7\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u1aa8\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u1aa9\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\11\140\1\u1aaa\12\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u0f19\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u1aab\23\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u1aac\15\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u1aad\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\7\140\1\u1aae\1\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1aaf"+ "\3\140\1\u01d3\3\140\1\u08c7\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u1ab0\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\11\140\1\u1ab1\12\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\1\u06cd\7\140\1\131\10\0\6\140\1\0\10\140\1\u17e0"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\12\140"+ "\1\u1ab2\11\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\11\140"+ "\1\u100d\12\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u1ab3\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140"+ "\1\u1ab4\6\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140"+ "\1\u1ab5\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140"+ "\1\u0364\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u1ab6"+ "\23\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\21\140\1\u1ab7"+ "\2\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\16\140\1\u1782"+ "\5\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u1ab8\23\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u1ab9\6\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u1aba\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\5\140\1\u01c5\16\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u1002\14\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u1abb\13\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u1abc\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u108d\13\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u1abd\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\14\140\1\u0402\7\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\14\140\1\u1abe\7\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u1abf\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u1ac0\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\16\140\1\u1ac1\5\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u1ac2\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\14\140\1\u1ac3\7\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\17\140\1\u1ac4\4\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\10\140\1\u1ac5\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u1802\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u18c0\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\3\140\1\u1743\20\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\u1ac6\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\10\140\1\u1ac7\13\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u1ac8\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u10d7\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\20\140\1\u1ac9\3\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u1aca\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u1acb\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\12\140\1\u0363\11\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\12\140\1\u1acc\11\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u10f8\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\23\140\1\u0a03\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u1acd\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\15\140\1\u052c\6\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\10\140\1\u1ace\13\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\140\1\u1acf\22\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\23\140\1\u0f0e\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u1ad0"+ "\23\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u1ad1"+ "\13\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0325"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u1ad2"+ "\14\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u1ad3"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u1ad4"+ "\6\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\u03eb\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u1ad5\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\1\u0224\7\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u1ad6\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\16\140\1\u1244\5\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u1ad7\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\10\140\1\u1ad8\13\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\13\140\1\u1ad9\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u1ada\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\22\140\1\u1adb\1\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u1adc\23\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u1add\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u1ade"+ "\23\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u1adf"+ "\13\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1ae0"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1ae1"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u1ae2"+ "\11\140\1\u0788\3\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u1ae3\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u1ae4\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u1ae5"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140"+ "\1\u050e\14\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140"+ "\1\u1ae6\6\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\16\140"+ "\1\u1ae7\5\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u1ae8\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\u1ae9"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u07a1\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u1aea\6\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u18ae\10\140"+ "\1\u1ae6\6\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\17\140"+ "\1\u1aeb\4\140\1\131\2\0\1\140\2\0\1\u0350\16\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u1aec\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\13\140\1\u1aed\10\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\10\140\1\u097e\13\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u0d28\23\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u1aee\2\140\1\u1aef\1\140\1\u03a2\1\u0350\3\140\1\u0569"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0d8c"+ "\1\140\1\u1af0\1\u0d8e\1\u1af1\3\140\1\u051e\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u1af2\15\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u1af3\20\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\23\140\1\u07c4\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u1af4\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\15\140\1\u1af5\6\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\20\140\1\u1af6\3\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\20\140\1\u1af7\3\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\16\140\1\u0e74\5\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u1af8\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u1af9\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u1afa\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u1afb\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\16\140\1\u1afc\5\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u0bdf\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u1afd\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\12\140\1\u0c0b\11\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\6\140\1\u1afe\15\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u1aff\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u1b00"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140"+ "\1\u15a4\13\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u1b01\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u1b02"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1b03"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u1b04\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1b05\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u1b06\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\u1b07"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u1b08\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u1b09\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u1b0a\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\14\140\1\u1b0b\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u1b0c\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u1866\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u1b0d\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u1b0e\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u1b0f\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\u1b10\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u1b11\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u1b12\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u1b13\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u1b14\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u1b15"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\16\140\1\u1b16\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0375"+ "\3\140\1\u0661\13\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\16\140\1\u0d89\5\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u1b17\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\6\140\1\u1b18\15\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\7\140\1\u0d33\14\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\20\140\1\u1b19\3\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u1b1a\23\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u1b1b\15\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140"+ "\1\u1b1c\6\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140"+ "\1\u1b1d\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u06a0\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140"+ "\1\u1b1e\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140"+ "\1\u1b1f\6\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u1b20\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u08ba"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u1b21"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u17af"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u0d51"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u1b22"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u1b23"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u1b24"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u1b25"+ "\6\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u1b26"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0159"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u1b27"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u1b28"+ "\13\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u1b29"+ "\14\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\16\140\1\u0cc0\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\20\140\1\u1b2a\3\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1b2b\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u1b2c\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u1b2d\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u1b2e\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u1b2f\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u1b30\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u10c9\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\u1b31\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\5\140\1\u1781\16\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\16\140\1\u1b32\5\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\11\140\1\u03a4\12\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\10\140\1\u0bf5\13\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u1acf\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\21\140\1\u18aa\2\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\14\140\1\u1200\7\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u1b33\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u0a5a\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u056a\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\14\140\1\u0b0e\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\5\140\1\u1b34\16\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\17\140\1\u127e\4\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\23\140\1\u1b35\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u1b36\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u1b37\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\10\140\1\u1b38\13\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\12\140\1\u1b39\11\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u1b3a\14\140\1\u086b\6\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u1b3b\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u1b3c\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\10\140\1\u0224\2\140\1\u1b3d\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\23\140\1\u085a\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\1\u1b3e\7\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u1099\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u05e6\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\11\140\1\u1b3f\12\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\16\140\1\u1b40\5\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\10\140\1\u1b41\13\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\12\140\1\u1b42\11\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u1b43\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\23\140\1\u1b44\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u18c9\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140"+ "\1\u1b45\14\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u18c9\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u1b46\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\23\140"+ "\1\u1b47\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\5\140\1\u1b48"+ "\16\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\16\140\1\u0cc0"+ "\5\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0b80"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u05de"+ "\11\140\1\u0569\1\u0582\6\140\1\131\2\0\1\140\2\0"+ "\1\u0555\16\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u07c4\23\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u19ff\23\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\11\140\1\u1b49\12\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\12\140\1\u1b4a\11\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u1b4b\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\6\140\1\u18e3\15\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\15\140\1\u1b4c\6\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\21\140\1\u1b4d\2\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\15\140\1\u1b4e\6\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u1b4f\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\13\140\1\u1b50\10\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u1b51\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u1642"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140"+ "\1\u1b52\14\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u1b53\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u1b54"+ "\23\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u1b55"+ "\6\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u0810\23\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1b56\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\7\140\1\u1b57\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\16\140\1\u048a\5\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\14\140\1\u1b58\7\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\5\140\1\u1a57\2\140\1\u0bc5"+ "\13\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1b59"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u1b5a"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u1b5b\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u1b5c\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\16\140\1\u13a3\5\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u1b5d\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u1b5e\14\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u1b5f\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1b60\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u1b61\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u176d\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u1b62\23\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u1b63\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\13\140\1\u1b64\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u1b65\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u1b66\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u1b67\23\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u1b68\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u0f97\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u190d\23\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\140\1\u1b69\22\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\13\140\1\u1b6a\10\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u1b6b\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\6\140\1\u1b6c\15\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u1b6d"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u10f8\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u1b6e\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\21\140\1\u035c"+ "\2\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u1b6f"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u1b70"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u1b71\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1b72\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\u0e3e\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\13\140\1\u1b73\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\140\1\u1b74\22\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u1b75\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\22\140\1\u10c6\1\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u10c6\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u1b76\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\10\140\1\u1b77\2\140\1\u17bc\7\140"+ "\1\u1b78\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u033a"+ "\5\140\1\u1b77\13\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u1b79\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\20\140\1\u0c84\3\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u1228\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u1b7a"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u1b7b\15\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u1b7c\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u1b7d\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u0326\1\u1b7e\1\u0cd7\2\140\1\u10e2\1\140\1\u0de4\3\140"+ "\1\u1b7f\5\140\1\u06dc\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\15\140\1\u1b80\6\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u1b81"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u1b82\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u1b83\23\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0dac\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u1010\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\11\140\1\u07c4\12\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u1b84\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u1b47\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\11\140\1\u0cc0\12\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u1250\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u0a09\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\12\140\1\u03e5\11\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u083d\15\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u1b85\3\140\1\u1b86"+ "\1\140\1\u1b87\4\140\1\u1b88\3\140\1\u1b89\2\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u1b8a\5\140\1\u083a"+ "\6\140\1\u10cb\3\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u1b8b"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u1b8c\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140"+ "\1\u1b8d\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u045e\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u1b8e\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u1b8f\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\12\140\1\u07a9"+ "\11\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u1b90"+ "\13\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\17\140\1\u1b91"+ "\4\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u1b92"+ "\14\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u1b93"+ "\6\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\4\140\1\u0224\3\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u079c\3\140"+ "\1\u1abf\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140"+ "\1\u1b94\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u17ce\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u1b95\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\1\u1b96\16\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\u1b97\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u1b98"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u1b99"+ "\6\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u1b9a"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\140\1\u1b9b"+ "\2\140\1\u1aaf\7\140\1\u08c7\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u1b9c\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\u1b9d\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u0473\1\u1aaf\1\u0c77\3\140\1\u076f\3\140\1\u1b9e\6\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1a89\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u126d\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u1b9f\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u0a64\23\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u1ba0\20\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\22\140\1\u1ba1\1\140\1\131"+ "\2\0\1\140\2\0"; private static final String ZZ_TRANS_PACKED_6 = "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u1ba2\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\15\140\1\u07c4\6\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\13\140\1\u1ba3\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u1ba4\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u1abc\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u0a54\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\14\140\1\u0e38\1\140\1\u06d9\5\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u03df\4\140\1\u1ba5\16\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u1ba6\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\20\140\1\u1ba7\3\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\16\140\1\u13fd\5\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\7\140\1\u08ba\14\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u1ba8\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u198b\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\10\140\1\u1ba9\13\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u1baa\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u1bab\23\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u1bac\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\13\140\1\u1bad\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\15\140\1\u1bae\6\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\12\140\1\u1baf\11\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\13\140\1\u1bb0\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u0565\23\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u1bb1\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u1bb2"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\20\140"+ "\1\u1bb3\3\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u1bb4\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u1bb5\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u1639\15\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u1bb6\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u1bb7\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u0532\7\140\1\u0da4\5\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\12\140\1\u10f8\11\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\15\140\1\u1bb8\6\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\10\140\1\u1bb9\13\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u100e\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\11\140\1\u1bba\12\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\17\140\1\u1adb\4\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\15\140\1\u1bbb\6\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u1bbc"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u1bbd\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140"+ "\1\u1bbe\14\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140"+ "\1\u1bbf\14\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u0471\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u1bc0\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\17\140\1\u1aeb\4\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u1bc1\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\16\140\1\u1bc2\5\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u1bc3\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u1bc4\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\u1bc5\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u0cba\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\3\140\1\u1bc6\20\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u1bc7\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u09fe\10\140\1\u01aa\4\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u0dcf\14\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u1bc8\23\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u1bc9\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\23\140\1\u1358\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\13\140\1\u1bca\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\3\140\1\u05f2\20\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\12\140\1\u1bcb\11\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u1bcc\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u1bcd\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u1bce\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\20\140\1\u1bcf\3\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\14\140\1\u1228\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u1bd0\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\14\140\1\u134b\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u1bd1\2\140\1\u1bd2\16\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\10\140\1\u1bd3\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\u100c\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u1bd4\7\140\1\u1bd5"+ "\5\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\u1bd6\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\u100c\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\16\140\1\u1bd5\5\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u1bd7\23\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\10\140\1\u1bd8\13\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\12\140\1\u1bd9\11\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\20\140\1\u1bda\3\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\14\140\1\u0569\5\140\1\u0553\1\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\11\140\1\u1bdb\12\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u0560\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\14\140\1\u1bdc\7\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\10\140\1\u1bdd\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u1bde\15\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\14\140\1\u1bdf\7\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\10\140\1\u1be0\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u1be1\23\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\15\140\1\u1be2\6\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\7\140\1\u1200\14\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\13\140\1\u1be3\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u1be4\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u1be5\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u1be6\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\20\140\1\u1be7\3\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u1be8\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u1be9\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\7\140\1\u1bea\14\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\11\140\1\u1beb\12\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u1bec\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\23\140\1\u1bed\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u1bee\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\14\140\1\u037c\7\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u1bef\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\13\140\1\u1bf0\10\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u1bf1\13\140\1\u1bf2\3\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u1bf3\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\20\140\1\u1bf4\3\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\10\140\1\u1bf5\13\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u1bf6\14\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u1bf7\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\15\140\1\u1bf8\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u03de\23\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u1bf9\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\7\140\1\u1bfa\14\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\11\140\1\u1b47\12\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\140\1\u075a\22\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u0a05\23\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\u0a9a\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u1bfb"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u1bfc\23\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u0b96\6\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1bfd\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u0871\7\140"+ "\1\u0873\5\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u1358"+ "\23\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\17\140\1\u1bfe"+ "\4\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\5\140\1\u1bff"+ "\16\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1c00"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u1c01"+ "\14\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u0752"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u1c02"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1c03"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u1c04"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\16\140\1\u1baa"+ "\5\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\u061e\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u0379\15\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u1c05\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\11\140\1\u1c06\12\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u1c07\23\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\1\u0b53\16\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u1c08\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u1c09\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u1c0a\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u0cc0\14\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u1c0b\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u1c0c\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\13\140\1\u1c0d\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\15\140\1\u1c0e\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u1529\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u1c0f\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\u1c10\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u1c11"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140"+ "\1\u1c12\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u1c13\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u1c14"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u1c15\23\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u1c16\13\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1c17\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u1c18\13\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\14\140\1\u1c19\2\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\16\140\1\u1c1a\5\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u154f\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\2\140\1\u0597\5\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\5\140\1\u07be\16\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u1c1b\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u1c1c\7\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u1002\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\11\140\1\u1c1d\12\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u1c1e\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u1c1f\2\140"+ "\1\u1c20\2\140\1\u1c21\12\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u0dda\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\140\1\u180c\1\140\1\u1c22\1\u1c23\1\140\1\u10b1"+ "\1\140\1\u1c24\4\140\1\u1c25\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u1c26\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u1c27\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u1c28"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140"+ "\1\u1c29\14\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u0999\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u1c2a"+ "\23\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u1c2b"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u1c2c"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\22\140\1\u1c2d"+ "\1\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1c2e"+ "\2\140\1\u1c2f\14\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\15\140\1\u01cb\6\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\23\140\1\u08d8\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140"+ "\1\u1c30\6\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140"+ "\1\u1c31\1\140\1\u1b3f\12\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\5\140\1\u0928\1\140\1\u1c32\14\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\7\140\1\u1c33\14\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u1c34\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\5\140\1\u1c35\16\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\13\140\1\u19b6\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u1c36\23\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u1c37\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u1c38\4\140\1\u117b\12\140\1\u1c39"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u1c3a\14\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u1c3b\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u1c3c\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u0cd6\6\140\1\u1c3d\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\12\140\1\u1818\11\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u0baf\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u1c3e\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u12b2\14\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u159f\23\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u1c3f\23\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\u1c40\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\u051e\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u1c41\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u1c42\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u037c"+ "\3\140\1\u1c43\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\10\140\1\u1c44\13\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u1c45"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u17b4\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\17\140"+ "\1\u1c46\4\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\5\140"+ "\1\u1c47\2\140\1\u15b9\13\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u1c48\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\1\u1c49\7\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\7\140\1\u17ce\14\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\15\140\1\u195b\6\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\16\140\1\u1c4a\5\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u1c4b\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u1c4c\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\23\140\1\u1c4d\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u1c4e"+ "\23\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u1c4f\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1b99\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1c50\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1c51\3\140"+ "\1\u01d3\5\140\1\u11d6\3\140\1\u13c6\1\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\11\140\1\u1c52\12\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\12\140\1\u1c53\11\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u0b84\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u1c54\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u1c55\23\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\17\140\1\u07c4\4\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u1c56\14\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\10\140\1\u0224\4\140\1\u1ab9\6\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u1c57\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\15\140\1\u084d\6\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u1c58\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u08f6\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u1c59\23\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u18c0\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\14\140\1\u1c5a\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u05de\2\140\1\u1c5b\16\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\14\140\1\u0a62\7\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u1c5c\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\16\140\1\u1c5d\5\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\2\140\1\u099b\5\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\22\140\1\u19d1\1\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\11\140\1\u1c5e\12\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\17\140\1\u1c5f\4\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u0568\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\12\140\1\u1c60\11\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\u1c61\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\21\140\1\u1adb\2\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\1\140\1\u0393\6\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\12\140\1\u1c62\11\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u1c63\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\23\140\1\u1c64\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u1c65\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\5\140\1\u1c66"+ "\16\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\140\1\u1c67"+ "\22\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u19af\1\u1c68"+ "\6\140\1\u19b1\2\140\1\u0352\1\140\1\u01cb\6\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\7\140\1\u1c69\14\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u1c6a\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u1c6b\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u1c6c\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u1b59\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u0b52\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\13\140\1\u01a0\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u1073\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\14\140\1\u1c6d\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\15\140\1\u1c6e\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u1c6f\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u1c70\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\12\140\1\u16e2\11\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\15\140\1\u1c71\6\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u1c72\23\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u19c5\23\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140"+ "\1\u1c73\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u1c74\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u1c75\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u1c76"+ "\14\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u1c77"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u1c78"+ "\13\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u1c79"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u1c7a"+ "\13\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u1c7b"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u19dd"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u1c7c"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u1c7d"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1c7e"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\20\140\1\u1c7f"+ "\3\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u1c80"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u1c81"+ "\13\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u1c82"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u1c83"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u0749\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u1c84\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u1c85\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u1c86\2\140"+ "\1\u1c87\6\140\1\u1c88\1\u1c89\5\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u1c8a\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u1c8b\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u1177\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\7\140\1\u1c8c\14\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u1c8d\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\140\1\u12c3\22\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\7\140\1\u1c8e\14\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\11\140\1\u1c8f\12\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\7\140\1\u1c90\14\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\16\140\1\u1c91\5\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\u1c92\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u1c93"+ "\23\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u1c94"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\140\1\u1c95"+ "\6\140\1\u0748\1\u075b\12\140\1\131\2\0\1\u1c96\2\0"+ "\1\u08b9\16\140\1\0\4\140\1\u0a20\3\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\11\140\1\u1c97\12\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\22\140\1\u1c98\1\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u1c99\15\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\10\140\1\u1c9a\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u0565\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\10\140\1\u1c9b\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u1c9c\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u17c4\20\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u1c9d\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\u1c9e\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u1c9f\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\6\140\1\u1a4e\15\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u1ca0\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\10\140\1\u1ca1\13\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\140\1\u1ca2\22\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\1\u1ca3\16\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\7\140\1\u09f7\14\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\10\140\1\u1ca4\13\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\15\140\1\u1ca5\6\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u1ca6\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\14\140\1\u1ca7\7\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\13\140\1\u1ca8\10\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u1ca9\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\16\140\1\u1caa\5\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u172d\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\17\140\1\u1cab\4\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u1cac\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\10\140\1\u1cad\13\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\10\140\1\u1cae\13\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u1caf\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\13\140\1\u1cb0\10\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u1cb1\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\u1cb2\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u1782\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\4\140\1\u0224\4\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u1cb3\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u1cb4\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\10\140\1\u1cb5\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\11\140\1\u1002\12\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u1cb6\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u1cb7\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\11\140\1\u0cf6\12\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\3\140\1\u1cb8\20\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u1cb9\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\14\140\1\u1cba\7\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u1cbb\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\7\140\1\u1cbc\14\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\10\140\1\u1cbd\13\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\140\1\u1cbe\6\140\1\u1cbf\4\140"+ "\1\u0c7a\6\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\u1cc0"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u1cc1\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u1cc2\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140"+ "\1\u1cc3\13\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\21\140"+ "\1\u1cc4\2\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u1cc5\15\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u1178\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\u1cc6\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u1cc7\23\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\21\140\1\u1cc8\2\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u1328\23\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u1cc9\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u1cca\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\3\140\1\u035d\20\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\13\140\1\u1ccb\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u1ccc\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\13\140\1\u1ccd\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u05f2\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\u1cce\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u1ccf\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\5\140\1\u1384\3\140\1\u03a2\11\140\1\u1258\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\5\140\1\u1384\3\140\1\u03a2\4\140"+ "\1\u07a8\4\140\1\u1258\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\u1cd0\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0bf5"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u0355"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u1240"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u0d31"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\17\140\1\u1cd1"+ "\4\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u1cd2"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u1cd3"+ "\6\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u1256"+ "\4\140\1\u10c0\1\u0d7e\5\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u1cd4\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u1cd5\23\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\u1cd6"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\17\140\1\u1cd7\4\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\1\u1cd8\16\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u1cd9\23\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\7\140\1\u1cda\14\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\22\140\1\u1cdb\1\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u1c51\11\140\1\u11d6\5\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u1cdc\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u1440\7\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u1cdd\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1cde\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u1cdf\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u1ce0\14\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\u1ce1\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u0cef\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\22\140\1\u1ce2\1\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\14\140\1\u1ce3\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\140\1\u1ce4\22\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u1ce5\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\16\140\1\u1bae\5\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u1ce6\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\7\140\1\u1ce7\14\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\7\140\1\u1ce8\14\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u1ce9\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u055a\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u1cea\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u0af2\3\140\1\u0375\11\140\1\u1ceb\5\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\7\140\1\u1cec\14\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u19ab\5\140\1\u1ced\1\140"+ "\1\u1cee\7\140\1\u1cef\1\u19ad\1\140\1\u1827\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u1cf0\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\13\140\1\u1cf1\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u1cf2\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u1cf3\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u084a\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u1b85\1\u1cf4\1\u0375\1\140\1\u0e52"+ "\1\140\1\u0661\4\140\1\u1cf5\1\u1cf6\5\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u1cf7\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\140\1\u1cf8\22\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u0df5\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u0af2\1\u1cf9\1\140\1\u1cfa\4\140"+ "\1\u1cfb\1\u083a\12\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u1cfc\23\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\12\140"+ "\1\u1cfd\11\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\20\140"+ "\1\u1a70\3\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u1cfe\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u1cff"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\140\1\u0770"+ "\4\140\1\u046d\7\140\1\u1d00\5\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u1d01\23\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\20\140\1\u1d02\3\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u1d03\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u1d04\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\13\140\1\u1d05\10\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\14\140\1\u1d06\7\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u1d07\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u1d08"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\16\140"+ "\1\u1d09\5\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u1d0a\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140"+ "\1\u1d0b\14\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u1d0c"+ "\23\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u1d0d"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1d0e"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u1d0f"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1d10"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1d11"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\16\140\1\u1d12"+ "\5\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0e28"+ "\2\140\1\u1b18\15\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u0ce9\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u1d13\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\22\140\1\u1d14\1\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u1d15"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u1d16\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u17c4\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u1d17\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u1d18\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u1d19\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u0b0a\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\20\140"+ "\1\u16fa\3\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\11\140"+ "\1\u1d1a\12\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u01b7"+ "\15\140\1\u1d1b\5\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\11\140\1\u056e\11\140\1\u056e\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\6\140\1\u1d1c\15\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u1bf7\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u1c98\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u1d1d\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u1d1e\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u1d1f\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u1d20\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u1ab8\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\10\140\1\u040a\13\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u1d21\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u1d22\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\14\140\1\u1d23\7\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\14\140\1\u1177\7\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u1d24\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\21\140\1\u1d25\2\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u1d26\23\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140"+ "\1\u0224\2\140\1\u077b\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\20\140\1\u1d27\3\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u1d28\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\10\140\1\u1d29\13\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u0e18\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\10\140\1\u11ca\13\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\17\140\1\u1d2a\4\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u1d2b\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u1d2c"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140"+ "\1\u1d2d\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u1d2e\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u12ab\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\11\140"+ "\1\u1d2f\12\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u0d47\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\11\140\1\u1d30"+ "\12\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\1\u1d31\16\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\140\1\u1a6a\16\140"+ "\1\u0df3\3\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u0cf6\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140"+ "\1\u1d32\6\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u1d33\15\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u05e6\10\140\1\u1d34\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u0670\23\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u1d35\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u1d36\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u1d37\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\14\140\1\u1d38\7\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u1d39\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u1d3a"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u1d3b\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u1d3c"+ "\23\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u1d3d"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\11\140\1\u10ac"+ "\12\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\20\140\1\u1d3e"+ "\3\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\23\140\1\u0eb2"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\1\u1d3f\7\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u10c6\20\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\20\140\1\u1d40\3\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\10\140\1\u042f\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\5\140\1\u1d41\16\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\14\140\1\u1d42\7\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\1\u0320\16\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\16\140\1\u0d45\5\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u1180\15\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u17ba\23\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u1d43\14\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u1d44\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u1d45\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u1d46\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u1d47\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u1d48\23\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\6\140\1\u1d49\15\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u1d4a\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u1d4b\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\15\140\1\u1d4c\6\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\17\140\1\u0ea9\4\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u1d4d\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\20\140\1\u08f6\3\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u13fd\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\140\1\u1d4e\22\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u1d4f\23\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u1d50\15\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u1d51\2\140\1\u046d\6\140\1\u10d9\6\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u1d52\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u1d53\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u1d54\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\3\140\1\u10f8\20\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u0843\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\13\140\1\u1d55\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\7\140\1\u1d56\14\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\u1d57\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\13\140\1\u1d58\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u19fb\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u1d59\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u1d5a\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u1d5b\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u1d5c\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\6\140\1\u1d5d\1\u085b\14\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u1d5e\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\14\140\1\u1d5f\7\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u1d60\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u1d61\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u108d\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u1d62\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\15\140\1\u1d63\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u1d64\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u1d65\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\20\140\1\u1c73\3\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u1d66\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u1d67\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u1d68\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u1d69\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\15\140\1\u1d6a\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u1d6b\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\16\140\1\u1d6c\5\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\10\140\1\u0a64\13\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u1d6d\5\140\1\u1d6e\5\140\1\u1d6f"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u1d70\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\10\140\1\u1d71\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u1d72\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\14\140\1\u1d73\7\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u1d74\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u1d75\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u1ba8\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\1\u187e\7\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\140\1\u1d76\22\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\16\140\1\u1d77\5\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\12\140\1\u1d78\11\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\6\140\1\u1d79\15\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\20\140\1\u1d7a\3\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\10\140\1\u1d7b\13\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u1d7c\23\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\20\140\1\u1d7d\3\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\6\140\1\u1d7e\15\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\1\140"+ "\1\u1d7f\6\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u0670\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\6\140\1\u14b5\3\140\1\u1d80\11\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u1d81\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u1d82\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\6\140\1\u0d7a\15\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u1d83\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\140\1\u1d84\1\140\1\u1bb7\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u1d85\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\13\140\1\u0484\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u1d86\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\13\140\1\u1ca3\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u1d87\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u1d88\23\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u1d89\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\20\140\1\u1d8a"+ "\3\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u1d8b"+ "\13\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u1d8c"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u076c\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u1d8d\7\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u0d86\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u0fcc\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u1d8e\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\22\140\1\u1d8f\1\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\23\140\1\u1d90\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\16\140\1\u1112\5\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u1d91\20\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u1d92\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u1d93\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u175c\20\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\140\1\u1a6a\6\140\1\u0cc2"+ "\13\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\12\140\1\u0beb"+ "\3\140\1\u1d94\5\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u1d95\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u1d96\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u127e\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u0a09\23\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\u1d97"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u1d98\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u1d99\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\16\140\1\u19ff\5\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u1d9a\14\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u1d9b\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u03eb\15\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u1d9c\23\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u0d27\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\15\140\1\u0f19\6\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u1d9d\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\11\140\1\u1d9e\12\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u1d9f\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\21\140\1\u1da0\2\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\140\1\u0a9a\22\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u1ce4\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\14\140\1\u1da1\7\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\140\1\u076b\22\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u1da2\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\u03b0\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\10\140\1\u1da3\13\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\10\140\1\u1da4\13\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\15\140\1\u1da5\6\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\140\1\u1da6\22\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\11\140\1\u1da7\12\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\16\140\1\u1da8\5\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u1da9\23\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u1daa"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\16\140"+ "\1\u0cba\5\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140"+ "\1\u1dab\6\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u1dac\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140"+ "\1\u043e\13\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u1dad\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\12\140"+ "\1\u07c4\11\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u1dae\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u0839\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u1daf\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u1db0\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u1db1"+ "\23\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140\1\u1db2"+ "\14\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u1db3"+ "\13\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u1db4\23\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u1272\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u1db5\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u1db6\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\7\140\1\u1db7\14\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u1db8\23\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\13\140\1\u1db9\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\17\140\1\u1dba\4\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u1dbb\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\11\140\1\u1dbc\12\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u1dbd\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\140\1\u1dbe\22\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\16\140\1\u1dbf\5\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u1dc0\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u1dc1\23\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u1dc2"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140"+ "\1\u1dc3\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u07c4\3\140\1\u0db5\14\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u07ab\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\10\140\1\u1dc4\13\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\13\140\1\u1dc5\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u1dc6\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\7\140\1\u1dc7\14\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\11\140\1\u0921\12\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\1\u06d9\16\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\6\140\1\u1dc8\3\140\1\u0d3a\11\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u1dc9\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\5\140\1\u1dca\16\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\11\140\1\u07a8\12\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\20\140\1\u1baa\3\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u1dcb\6\140\1\u1dcc\11\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\20\140\1\u1dcd\3\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u1caa\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\23\140\1\u1dce\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\23\140\1\u0eaf\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\10\140\1\u1dcf\13\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u1dd0\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u1caf\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u0aed\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u1dd1\14\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u07c9\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u1dd2\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u1dd3\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u0f96\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u0cc0\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u1dd4"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u1dd5\15\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\11\140"+ "\1\u1dd6\12\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140"+ "\1\u1dd7\7\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\17\140"+ "\1\u1dd8\4\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u1dd9\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u0f19\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\u1dda"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u1ddb\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u1ddc\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u1ddd\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\11\140"+ "\1\u1dde\12\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140"+ "\1\u1ddf\13\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140"+ "\1\u0569\1\140\1\u1de0\1\140\1\u0df3\3\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\12\140\1\u1de1\11\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\12\140\1\u1de2\11\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\21\140\1\u1de3\2\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\13\140\1\u1de4\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\11\140\1\u1de5\12\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u1de6\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u1de7\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\6\140\1\u1de8\1\140\1\u1cee\13\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\u1de9\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u1dea\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u1deb\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u1cfa\5\140\1\u083a\12\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\14\140\1\u1dec\7\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u1ded\15\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\20\140\1\u1dee\3\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u1def\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\14\140\1\u1df0\7\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\16\140\1\u1c38\5\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u1df1\1\u1df2\1\u1df3\1\u1df4\4\140"+ "\1\u1df2\1\140\1\u1df5\11\140\1\131\2\0\1\u1df6\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u1df7\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u1df8\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\7\140\1\u1df9\14\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u1dfa\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u1dfb\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\6\140\1\u1dfc\15\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u1dfd\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u1dfe\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u1dff\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\16\140\1\u1e00\5\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\10\140\1\u1e01\13\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u1e02\23\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\16\140"+ "\1\u1e03\5\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u1e04"+ "\3\140\1\u1016\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\14\140\1\u1e05\7\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\14\140\1\u1abf\7\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u1e06\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\16\140\1\u1e07\5\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\16\140\1\u1e08\5\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\6\140\1\u1e09\15\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u1e0a\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\6\140\1\u1e0b\15\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\6\140\1\u190d\15\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\17\140\1\u1e0c\4\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u1e0d\23\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140"+ "\1\u1e0e\13\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u1e0f\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140"+ "\1\u0615\2\140\1\u1d94\5\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\11\140\1\u16f3\1\140\1\u0c25\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\11\140\1\u16f3\12\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\7\140\1\u1b84\14\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u0329\12\140\1\u1e10\6\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u1e11\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u195e\1\140"+ "\1\u195b\6\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u121d\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\23\140"+ "\1\u1e12\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u1e13\23\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u1e14\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\11\140\1\u1e15\12\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\u1e16\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u1e17\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u1e18\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u1e19\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\13\140\1\u1073\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u1e1a\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u1e1b\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\13\140\1\u1e1c\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\10\140\1\u10f8\13\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\12\140\1\u0a5a\11\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u1e1d\14\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u1e1e\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\140\1\u1d24\22\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\10\140\1\u1e1f\13\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u1b84\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\15\140\1\u0a09\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u1e20\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\16\140\1\u1bd5\5\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u0694\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\20\140\1\u1e21\3\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u1e22\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u1e23\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u1e24\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\6\140\1\u1e25\15\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\10\140\1\u1e26\13\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u07f7\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u1e27\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\u1e28\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u1e29\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u1e2a\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140"+ "\1\u1e2b\6\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u1e2c\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\u1e2d"+ "\23\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u1e2e"+ "\6\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u1e2f"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u1e30"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u1e31"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u1e32\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u1e33\10\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u1e34\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u052f\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u1e35\20\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\16\140\1\u0a75\5\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\15\140\1\u0a9a\6\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u1e36\15\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\14\140\1\u1e37\7\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u1e38\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\13\140\1\u1e39\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\13\140\1\u1e3a\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u1e3b\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u082b\14\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\12\140\1\u14ad\11\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\7\140\1\u0f97\14\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\22\140\1\u0348\1\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\13\140\1\u1367\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u1e3c\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u1a18\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u1e3d\20\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\5\140\1\u10e2\16\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u1e3e\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u1e3f\11\140\1\u0596\3\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u1e40\23\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\3\140\1\u1e41\20\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\140\1\u1e42\22\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u1e43\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u1e44\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\10\140\1\u1e45\13\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\11\140\1\u1e46\12\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\2\140\1\u1e47\21\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u1e48\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\140\1\u1e49\16\140\1\u1e4a\3\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\10\140\1\u1e4b\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\7\140\1\u1e4c\14\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u1e4d\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\20\140\1\u1e4e\3\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u1b27\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u1e4f\23\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u1d0d\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u1e50\23\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\14\140\1\u1e51\7\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\7\140\1\u1178\14\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u1e52\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u1e53\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u1e54\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\16\140\1\u1e55\5\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\14\140\1\u1d15\7\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\140\1\u056a\13\140\1\u1e56\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\16\140\1\u1e57\5\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\16\140\1\u1e58\5\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\3\140\1\u1e59\3\140\1\u0449\14\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\14\140\1\u1a4c\7\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\u1e5a\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\15\140\1\u1e5b\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u1e5c\23\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\u05ba\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u1e5d\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\7\140"+ "\1\u1e5e\14\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u1e5f\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140"+ "\1\u1e60\21\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140"+ "\1\u1e61\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140"+ "\1\u0c3c\1\140\1\u1e62\1\u1e63\1\u1e64\3\140\1\131\2\0"+ "\1\140\2\0\1\u1e65\16\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\3\140\1\u1e66\20\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u1e67\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u1e68\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\10\140\1\u1e69\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\14\140\1\u1e6a\7\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\1\u1e6b\23\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\13\140\1\u1e6c\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\10\140\1\u1e6d\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u1e6e\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u1e6f\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\14\140\1\u1e27\7\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u1e70\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u1e71\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\10\140\1\u1e72\13\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\6\140\1\u1178\15\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u1e73\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u1e74\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u1e75\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\7\140\1\u1aeb\14\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u1e76\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\7\140\1\u1e77\14\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\4\140\1\u1e78\17\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u1e09\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u1e79\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\22\140\1\u1e7a\1\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u1e7b"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\1\140"+ "\1\u1e7c\22\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\12\140"+ "\1\u1e7d\11\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u1e7e\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u1e7f\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u1e80"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1e81"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u1e82"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1e83"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1e84"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140\1\u06dc"+ "\15\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u1e85"+ "\20\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\11\140\1\u1391"+ "\12\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u1e86"+ "\13\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u1e87"+ "\13\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\22\140\1\u1e88"+ "\1\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1e89"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u1e8a\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\u18be\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\17\140\1\u1d0d\4\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\17\140\1\u1e8b\4\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u1e8c\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u1e8d\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\13\140\1\u1e8e\10\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\10\140\1\u1e8f\13\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\15\140\1\u1e90\6\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\4\140\1\u1e91\17\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\140\1\u1e92\22\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\17\140\1\u1e93\4\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\6\140\1\u1e94\15\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\5\140\1\u0329\10\140\1\u0d86\5\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u1e95\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\20\140\1\u1de6\3\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\16\140\1\u1e96\5\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\21\140\1\u19ad\1\140\1\u1827"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u1926\23\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u1e97\15\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\14\140\1\u1e98\7\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u1e99\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\6\140\1\u1e9a\15\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u1e9b\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\5\140\1\u1e9c\16\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u1e9d\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\4\140\1\u1e47\17\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\u1e9e"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\23\140\1\u1e9f\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u1ea0\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u1ea1\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u1ea2\17\140\1\u1d7a\3\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\10\140\1\u1ea3\13\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\15\140\1\u1ea4\6\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\12\140\1\u0cba\11\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u1ea5\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u1ea6\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\11\140\1\u1112\12\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u17d4\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u1ea7\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u1ea8\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u1926\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u1ea9\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\21\140\1\u1926\2\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\20\140\1\u14e3\3\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u1eaa"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140"+ "\1\u1eab\10\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140"+ "\1\u1eac\17\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140"+ "\1\u1ead\13\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\6\140"+ "\1\u1eae\15\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\3\140"+ "\1\u1eaf\20\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\u1eb0"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u1eb1\7\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\11\140\1\u1eb2\12\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\3\140\1\u1eb3\20\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u1eb4\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\u0527"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\1\u1eb5\23\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\21\140\1\u1eb6\2\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\12\140\1\u1eb7\11\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\10\140\1\u1eb8\13\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u1eb9\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\3\140\1\u1eba\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\7\140\1\u1ebb\14\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\15\140\1\u1ebc\6\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u1ebd\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\15\140\1\u130b\6\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u1ebe\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u1ebf\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u0615\23\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\1\u1ec0\2\140\1\u0f62\20\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u1ec1\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\4\140\1\u1ec2\17\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\7\140\1\u1ec3\14\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\2\140\1\u1ec4\21\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\20\140\1\u1ec5\3\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\10\140"+ "\1\u1ec6\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\24\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\2\140\1\u1ec7\21\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\21\140\1\u1ec8\2\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\5\140\1\u1178\16\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\3\140\1\u1ec9\20\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\15\140\1\u1eca\6\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\14\140\1\u1ecb\7\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\12\140\1\u1ecc\11\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\17\140\1\u1ecd\4\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\17\140\1\u1ece\4\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\17\140\1\u1ecf\4\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u1ed0"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\11\140\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\11\140"+ "\1\u1ed1\12\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u1ed2\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1ed3"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\13\140\1\u1ed4"+ "\10\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u1ed5"+ "\21\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\10\140\1\u1ed6"+ "\13\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\20\140\1\u1ed7"+ "\3\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\10\140\1\u1ed8\1\0\1\140"+ "\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\10\140\1\u1ed9\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\7\140\1\u1eda\14\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\2\140\1\u1edb\21\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\12\140\1\u1edc\11\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\10\140\1\u1edd\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\14\140\1\u14d7\7\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\10\140\1\u1ede\13\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\1\u1edf\23\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\2\140\1\u0f9b\21\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\10\140\1\u1176\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\24\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\10\140\1\u1ee0\13\140\1\131\2\0\1\140"+ "\2\0\17\140\1\0\10\140\1\131\10\0\6\140\1\0"+ "\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0"+ "\2\140\13\0\20\140\1\u12a0\3\140\1\131\2\0\1\140"+ "\2\0\1\u12a0\16\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\4\140\1\u1ee1\17\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\13\140\1\u1ee2\10\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\11\140\1\u1ee3\12\140\1\131\2\0"+ "\1\140\2\0\17\140\1\0\10\140\1\131\10\0\6\140"+ "\1\0\11\140\1\0\1\u1ee4\1\0\1\131\1\u0140\1\140"+ "\1\0\2\140\13\0\24\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\11\140\1\u1ee5\12\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\13\140\1\u1ee6\10\140\1\131\2\0\1\140\2\0"+ "\17\140\1\0\10\140\1\131\10\0\6\140\1\0\11\140"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\1\u1ee7\23\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\11\140\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\10\140\1\u1ee8\13\140\1\131\2\0\1\140\2\0\17\140"+ "\1\0\10\140\1\131\10\0\6\140\1\0\10\140\1\u1ee9"+ "\1\0\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140"+ "\13\0\24\140\1\131\2\0\1\140\2\0\17\140\1\0"+ "\10\140\1\131\10\0\6\140\1\0\10\140\1\u1eea\1\0"+ "\1\140\1\0\1\131\1\u0140\1\140\1\0\2\140\13\0"+ "\24\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\11\140\1\u0c6a"+ "\12\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u1eeb"+ "\17\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\14\140\1\u0e34"+ "\7\140\1\131\2\0\1\140\2\0\17\140\1\0\10\140"+ "\1\131\10\0\6\140\1\0\11\140\1\0\1\140\1\0"+ "\1\131\1\u0140\1\140\1\0\2\140\13\0\24\140\1\131"+ "\2\0\1\140\2\0\16\140\1\u0a9a\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\12\140\1\u1eec\11\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\u1cb2\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\16\140\1\u0d86\5\140"+ "\1\131\2\0\1\u03b0\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\5\140\1\u09e7\16\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\15\140\1\u1eed\6\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\4\140\1\u056a\17\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\2\140\1\u1eee\21\140"+ "\1\131\2\0\1\140\2\0\17\140\1\0\10\140\1\131"+ "\10\0\6\140\1\0\11\140\1\0\1\140\1\0\1\131"+ "\1\u0140\1\140\1\0\2\140\13\0\1\u1eef\23\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\13\140\1\u1ef0\10\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140\1\131\10\0"+ "\6\140\1\0\11\140\1\0\1\140\1\0\1\131\1\u0140"+ "\1\140\1\0\2\140\13\0\14\140\1\u1ef1\7\140\1\131"+ "\2\0\1\140\2\0\17\140\1\0\10\140"; private static int [] zzUnpackTrans() { int [] result = new int[734730]; int offset = 0; offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result); offset = zzUnpackTrans(ZZ_TRANS_PACKED_1, offset, result); offset = zzUnpackTrans(ZZ_TRANS_PACKED_2, offset, result); offset = zzUnpackTrans(ZZ_TRANS_PACKED_3, offset, result); offset = zzUnpackTrans(ZZ_TRANS_PACKED_4, offset, result); offset = zzUnpackTrans(ZZ_TRANS_PACKED_5, offset, result); offset = zzUnpackTrans(ZZ_TRANS_PACKED_6, offset, result); return result; } private static int zzUnpackTrans(String packed, int offset, int [] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); value--; do result[j++] = value; while (--count > 0); } return j; } /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; private static final int ZZ_PUSHBACK_2BIG = 2; /* error messages for the codes above */ private static final String ZZ_ERROR_MSG[] = { "Unkown internal scanner error", "Error: could not match input", "Error: pushback value was too large" }; /** * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute(); private static final String ZZ_ATTRIBUTE_PACKED_0 = "\5\0\2\1\1\0\2\1\1\0\2\1\13\0\1\1"+ "\3\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\6\11\1\1\1\11\2\1\1\11\2\1"+ "\2\11\10\1\1\11\3\1\1\11\17\1\1\11\3\1"+ "\1\11\1\1\1\11\1\1\2\11\2\1\1\11\6\1"+ "\1\11\4\1\1\11\1\1\1\11\34\1\1\11\5\1"+ "\1\11\2\1\2\11\2\1\1\11\1\1\3\11\1\1"+ "\1\11\5\1\4\11\4\1\4\11\1\1\1\11\6\1"+ "\7\11\6\1\1\11\5\0\105\1\1\11\2\0\1\1"+ "\1\0\1\11\1\0\75\1\1\11\2\1\1\0\1\11"+ "\11\0\12\1\1\11\304\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"+ "\1\11\3\1\2\0\1\11\4\0\101\1\3\0\1\1"+ "\1\0\3\1\1\0\67\1\14\0\u0181\1\25\0\2\1"+ "\1\11\3\0\45\1\3\0\1\11\43\1\1\0\1\11"+ "\3\0\1\1\3\0\u01fa\1\20\0\1\11\3\0\2\1"+ "\1\11\2\0\25\1\1\11\1\0\1\11\25\1\6\0"+ "\u0277\1\16\0\14\1\1\0\14\1\2\0\u02b1\1\12\0"+ "\4\1\1\0\6\1\2\0\u02d4\1\6\0\1\1\1\0"+ "\2\1\2\0\u029f\1\1\11\4\0\1\1\1\11\1\1"+ "\2\11\u0265\1\3\0\u021a\1\3\0\1\11\u0837\1"; private static int [] zzUnpackAttribute() { int [] result = new int[7921]; int offset = 0; offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result); return result; } private static int zzUnpackAttribute(String packed, int offset, int [] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } return j; } /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ private int zzState; /** the current lexical state */ private int zzLexicalState = YYINITIAL; /** this buffer contains the current text to be matched and is the source of the yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ private int zzMarkedPos; /** the current text position in the buffer */ private int zzCurrentPos; /** startRead marks the beginning of the yytext() string in the buffer */ private int zzStartRead; /** endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** zzAtEOF == true <=> the scanner is at the EOF */ private boolean zzAtEOF; /* user code: */ /** * Type specific to PHPTokenMaker denoting a line ending with an unclosed * double-quote attribute. */ private static final int INTERNAL_ATTR_DOUBLE = -1; /** * Type specific to PHPTokenMaker denoting a line ending with an unclosed * single-quote attribute. */ 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. */ 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. */ private static final int INTERNAL_INTAG_SCRIPT = -4; /** * 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. */ 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. */ private static final int INTERNAL_INTAG_STYLE = -7; /** * 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. */ private static final int INTERNAL_ATTR_SINGLE_QUOTE_STYLE = -9; /** * Token type specifying we're in JavaScript. */ private static final int INTERNAL_IN_JS = -10; /** * Token type specifying we're in a JavaScript multiline comment. */ private static final int INTERNAL_IN_JS_MLC = -11; /** * Token type specifying we're in an invalid multi-line JS string. */ private static final int INTERNAL_IN_JS_STRING_INVALID = -12; /** * Token type specifying we're in a valid multi-line JS string. */ private static final int INTERNAL_IN_JS_STRING_VALID = -13; /** * Token type specifying we're in an invalid multi-line JS single-quoted string. */ private static final int INTERNAL_IN_JS_CHAR_INVALID = -14; /** * Token type specifying we're in a valid multi-line JS single-quoted string. */ private static final int INTERNAL_IN_JS_CHAR_VALID = -15; /** * Internal type denoting a line ending in CSS. */ private static final int INTERNAL_CSS = -16; /** * Internal type denoting a line ending in a CSS property. */ private static final int INTERNAL_CSS_PROPERTY = -17; /** * Internal type denoting a line ending in a CSS property value. */ private static final int INTERNAL_CSS_VALUE = -18; /** * 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. */ 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. */ 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. */ public static final int INTERNAL_IN_PHP = -(4<<11); /** * Token type specifying we're in a PHP multiline comment. */ private static final int INTERNAL_IN_PHP_MLC = -(5<<11); /** * Token type specifying we're in a PHP multiline string. */ private static final int INTERNAL_IN_PHP_STRING = -(6<<11); /** * Token type specifying we're in a PHP multiline char. */ private static final int INTERNAL_IN_PHP_CHAR = -(7<<11); /** * The state previous CSS-related state we were in before going into a CSS * string, multi-line comment, etc. */ private int cssPrevState; /** * Whether closing markup tags are automatically completed for PHP. */ private static boolean completeCloseTags; /** * The state PHP was started in (YYINITIAL, INTERNAL_IN_JS, etc.). */ private int phpInState; /** * When in the JS_STRING state, whether the current string is valid. */ private boolean validJSString; /** * Language state set on HTML tokens. Must be 0. */ private static final int LANG_INDEX_DEFAULT = 0; /** * Language state set on JavaScript tokens. */ private static final int LANG_INDEX_JS = 1; /** * Language state set on CSS tokens. */ private static final int LANG_INDEX_CSS = 2; /** * 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. * * @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. * @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. */ 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. */ 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. */ @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. 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) */ @Override public boolean getCompleteCloseTags() { return completeCloseTags; } /** * {@inheritDoc} */ @Override public boolean getMarkOccurrencesOfTokenType(int type) { return type==Token.FUNCTION || 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. * * @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) { resetTokenList(); this.offsetShift = -text.offset + startOffset; phpInState = YYINITIAL; // Shouldn't be necessary cssPrevState = CSS; // Shouldn't be necessary int languageIndex = LANG_INDEX_DEFAULT; // 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_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; default: if (initialTokenType<-1024) { // INTERNAL_IN_PHPxxx - phpInState int main = -(-initialTokenType & 0xffffff00); switch (main) { default: // Should never happen case INTERNAL_IN_PHP: state = PHP; phpInState = -initialTokenType&0xff; break; case INTERNAL_IN_PHP_MLC: state = PHP_MLC; phpInState = -initialTokenType&0xff; break; case INTERNAL_IN_PHP_STRING: state = PHP_STRING; phpInState = -initialTokenType&0xff; break; case INTERNAL_IN_PHP_CHAR: state = PHP_CHAR; phpInState = -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; } break; } setLanguageIndex(languageIndex); start = text.offset; s = text; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); 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. * * @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. */ 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. * * 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 */ 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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = s.offset; zzLexicalState = YYINITIAL; 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. */ public PHPTokenMaker(java.io.Reader in) { this.zzReader = in; } /** * Creates a new scanner. * There is also java.io.Reader version of this constructor. * * @param in the java.io.Inputstream to read input from. */ public PHPTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } /** * Unpacks the compressed character translation table. * * @param packed the packed character translation table * @return the unpacked character translation table */ private static char [] zzUnpackCMap(String packed) { char [] map = new char[0x10000]; int i = 0; /* index in packed string */ int j = 0; /* index in unpacked array */ while (i < 206) { int count = packed.charAt(i++); char value = packed.charAt(i++); do map[j++] = value; while (--count > 0); } return map; } /** * Closes the input stream. */ public final void yyclose() throws java.io.IOException { zzAtEOF = true; /* indicate end of file */ zzEndRead = zzStartRead; /* invalidate buffer */ if (zzReader != null) zzReader.close(); } /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } /** * Enters a 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 yylength()-1. * * @return the character at position pos */ public final char yycharat(int pos) { return zzBuffer[zzStartRead+pos]; } /** * Returns the length of the matched text region. */ public final int yylength() { return zzMarkedPos-zzStartRead; } /** * Reports an error that occured while scanning. * * In a wellformed scanner (no or only correct usage of * yypushback(int) and a match-all fallback rule) this method * will only be called with things that "Can't Possibly Happen". * If this method is called, something is seriously wrong * (e.g. a JFlex bug producing a faulty scanner etc.). * * Usual syntax/scanner level error handling should be done * in error fallback rules. * * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; try { message = ZZ_ERROR_MSG[errorCode]; } catch (ArrayIndexOutOfBoundsException e) { message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR]; } throw new Error(message); } /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * * @param number the number of characters to be read again. * This number must not be greater than yylength()! */ public void yypushback(int number) { if ( number > yylength() ) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } /** * Resumes scanning until the next regular expression is matched, * the end of input is encountered or an I/O-Error occurs. * * @return the next token * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; int zzAction; // cached fields: int zzCurrentPosL; int zzMarkedPosL; int zzEndReadL = zzEndRead; char [] zzBufferL = zzBuffer; char [] zzCMapL = ZZ_CMAP; int [] zzTransL = ZZ_TRANS; int [] zzRowMapL = ZZ_ROWMAP; int [] zzAttrL = ZZ_ATTRIBUTE; while (true) { zzMarkedPosL = zzMarkedPos; zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; else if (zzAtEOF) { zzInput = YYEOF; break zzForAction; } else { // store back cached positions zzCurrentPos = zzCurrentPosL; zzMarkedPos = zzMarkedPosL; boolean eof = zzRefill(); // get translated positions and possibly new buffer zzCurrentPosL = zzCurrentPos; zzMarkedPosL = zzMarkedPos; zzBufferL = zzBuffer; zzEndReadL = zzEndRead; if (eof) { zzInput = YYEOF; break zzForAction; } else { zzInput = zzBufferL[zzCurrentPosL++]; } } int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ]; if (zzNext == -1) break zzForAction; zzState = zzNext; int zzAttributes = zzAttrL[zzState]; if ( (zzAttributes & 1) == 1 ) { zzAction = zzState; zzMarkedPosL = zzCurrentPosL; if ( (zzAttributes & 8) == 8 ) break zzForAction; } } } // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { case 97: { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.LITERAL_STRING_DOUBLE_QUOTE); addToken(temp,zzMarkedPos-1, Token.VARIABLE); start = zzMarkedPos; } case 120: break; case 65: { addToken(Token.OPERATOR); yybegin(CSS_VALUE); } case 121: break; case 84: { addToken(Token.ERROR_NUMBER_FORMAT); } case 122: break; case 73: { addToken(start,zzStartRead-1, Token.LITERAL_CHAR); addEndToken(INTERNAL_CSS_CHAR - cssPrevState); return firstToken; } case 123: break; case 23: { start = zzMarkedPos-1; yybegin(INATTR_SINGLE_SCRIPT); } case 124: break; case 9: { yybegin(YYINITIAL); addToken(start,zzStartRead, Token.MARKUP_DTD); } case 125: break; case 60: { addToken(Token.SEPARATOR); yybegin(CSS_PROPERTY); } case 126: break; case 4: { addToken(Token.MARKUP_TAG_DELIMITER); yybegin(INTAG); } case 127: break; case 112: { addToken(Token.RESERVED_WORD_2); } case 128: break; case 100: { addToken(start,zzStartRead+1, Token.COMMENT_MULTILINE); yybegin(cssPrevState); } case 129: break; case 98: { start = zzMarkedPos-2; cssPrevState = zzLexicalState; yybegin(CSS_C_STYLE_COMMENT); } case 130: break; case 36: { /* 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 131: break; case 5: { addToken(Token.WHITESPACE); } case 132: break; case 45: { addToken(Token.COMMENT_EOL); addEndToken(INTERNAL_IN_PHP - phpInState); return firstToken; } case 133: break; case 114: { addToken(zzStartRead,zzStartRead, Token.MARKUP_TAG_DELIMITER); addToken(zzMarkedPos-6,zzMarkedPos-1, Token.MARKUP_TAG_NAME); start = zzMarkedPos; yybegin(INTAG_SCRIPT); } case 134: break; case 99: { addToken(Token.REGEX); } case 135: break; case 41: { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addEndToken(INTERNAL_IN_JS_MLC); return firstToken; } case 136: break; case 118: { 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 137: break; case 94: { addToken(Token.FUNCTION); } case 138: break; case 38: { addToken(start,zzStartRead-1, Token.ERROR_STRING_DOUBLE); addEndToken(INTERNAL_IN_JS); return firstToken; } case 139: break; case 56: { start = zzMarkedPos-1; cssPrevState = zzLexicalState; yybegin(CSS_STRING); } case 140: break; case 25: { start = zzMarkedPos-1; yybegin(INATTR_DOUBLE_STYLE); } case 141: break; case 87: { /* Skip all escaped chars. */ } case 142: break; case 81: { addToken(Token.MARKUP_TAG_DELIMITER); yybegin(YYINITIAL); } case 143: break; case 28: { yybegin(INTAG_STYLE); addToken(start,zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); } case 144: break; case 109: { if(JavaScriptTokenMaker.isJavaScriptCompatible("1.6")){ addToken(Token.RESERVED_WORD);} else {addToken(Token.IDENTIFIER);} } case 145: break; case 104: { if(JavaScriptTokenMaker.isJavaScriptCompatible("1.7")){ addToken(Token.RESERVED_WORD);} else {addToken(Token.IDENTIFIER);} } case 146: break; case 44: { start = zzMarkedPos-1; yybegin(PHP_STRING); } case 147: break; case 66: { /*System.out.println("css_value: " + yytext());*/ addToken(Token.IDENTIFIER); } case 148: break; case 16: { /* A non-recognized HTML tag name */ yypushback(yylength()); yybegin(INTAG); } case 149: break; case 26: { addToken(Token.MARKUP_TAG_DELIMITER); yybegin(CSS, LANG_INDEX_CSS); } case 150: break; case 74: { addToken(start,zzStartRead, Token.LITERAL_CHAR); yybegin(cssPrevState); } case 151: break; case 27: { start = zzMarkedPos-1; yybegin(INATTR_SINGLE_STYLE); } case 152: break; case 19: { /* Allowing "start) addToken(start,zzStartRead-1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); addToken(temp, zzMarkedPos-1, Token.SEPARATOR); phpInState = zzLexicalState; yybegin(PHP); } case 178: break; case 110: { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_MULTILINE); start = zzMarkedPos; } case 179: break; case 22: { addToken(Token.MARKUP_TAG_DELIMITER); yybegin(JAVASCRIPT, LANG_INDEX_JS); } case 180: break; case 111: { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_EOL); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_EOL); start = zzMarkedPos; } case 181: break; case 91: { start = zzMarkedPos-2; yybegin(PHP_MLC); } case 182: break; case 52: { /* Skip escaped single quotes only, but this should still work. */ } case 183: break; case 64: { addToken(Token.SEPARATOR); yybegin(CSS); } case 184: break; case 117: { 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 185: break; case 31: { start = zzMarkedPos-1; validJSString = true; yybegin(JS_STRING); } case 186: break; case 47: { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addEndToken(INTERNAL_IN_PHP_MLC - phpInState); return firstToken; } case 187: break; case 72: { addToken(start,zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); yybegin(cssPrevState); } case 188: break; case 62: { addEndToken(INTERNAL_CSS_PROPERTY); return firstToken; } case 189: break; case 37: { int type = validJSString ? Token.LITERAL_CHAR : Token.ERROR_CHAR; addToken(start,zzStartRead, type); yybegin(JAVASCRIPT); } case 190: break; case 95: { int count = yylength(); addToken(zzStartRead,zzStartRead, Token.FUNCTION); zzMarkedPos -= (count-1); //yypushback(count-1); } case 191: break; case 34: { start = zzMarkedPos-1; validJSString = true; yybegin(JS_CHAR); } case 192: break; case 24: { addToken(start,zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); yybegin(INTAG_SCRIPT); } case 193: break; case 83: { start = zzMarkedPos-2; yybegin(JS_MLC); } case 194: break; case 86: { addToken(Token.LITERAL_NUMBER_HEXADECIMAL); } case 195: break; case 70: { int temp = zzMarkedPos - 2; addToken(zzStartRead, temp, Token.FUNCTION); addToken(zzMarkedPos-1, zzMarkedPos-1, Token.SEPARATOR); zzStartRead = zzCurrentPos = zzMarkedPos; } case 196: break; case 119: { addToken(Token.ANNOTATION); } case 197: break; case 96: { yybegin(PHP); addToken(start,zzStartRead+1, Token.COMMENT_MULTILINE); } case 198: break; case 49: { yybegin(PHP); addToken(start,zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); } case 199: break; case 29: { addToken(Token.ERROR_IDENTIFIER); } case 200: break; case 67: { addEndToken(INTERNAL_CSS_VALUE); return firstToken; } case 201: break; case 106: { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.MARKUP_COMMENT); addHyperlinkToken(temp,zzMarkedPos-1, Token.MARKUP_COMMENT); start = zzMarkedPos; } case 202: break; case 6: { addToken(Token.MARKUP_ENTITY_REFERENCE); } case 203: break; case 108: { addToken(Token.LITERAL_BOOLEAN); } case 204: break; case 17: { /* Shouldn't happen */ yypushback(1); yybegin(INTAG); } case 205: break; case 3: { addNullToken(); return firstToken; } case 206: break; case 55: { addEndToken(INTERNAL_CSS); return firstToken; } case 207: break; case 116: { 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 208: break; case 59: { start = zzMarkedPos-1; cssPrevState = zzLexicalState; yybegin(CSS_CHAR_LITERAL); } case 209: break; case 63: { addToken(Token.RESERVED_WORD); } case 210: break; case 51: { addToken(start,zzStartRead-1, Token.LITERAL_CHAR); addEndToken(INTERNAL_IN_PHP_CHAR - phpInState); return firstToken; } case 211: break; case 11: { start = zzMarkedPos-1; yybegin(INATTR_DOUBLE); } case 212: break; case 13: { yybegin(YYINITIAL); addToken(Token.MARKUP_TAG_DELIMITER); } case 213: break; case 93: { addToken(Token.MARKUP_TAG_DELIMITER); start = zzMarkedPos; yybegin(phpInState); } case 214: break; case 57: { addToken(Token.DATA_TYPE); } case 215: break; case 53: { yybegin(PHP); addToken(start,zzStartRead, Token.LITERAL_CHAR); } case 216: break; case 33: { addToken(Token.SEPARATOR); } case 217: break; case 101: { int count = yylength(); addToken(zzStartRead,zzStartRead+1, Token.MARKUP_TAG_DELIMITER); zzMarkedPos -= (count-2); //yypushback(count-2); yybegin(INTAG_CHECK_TAG_NAME); } case 218: break; case 71: { addToken(start,zzStartRead-1, Token.LITERAL_STRING_DOUBLE_QUOTE); addEndToken(INTERNAL_CSS_STRING - cssPrevState); return firstToken; } case 219: break; case 69: { /* End of a function */ addToken(Token.SEPARATOR); } case 220: break; case 18: { addToken(Token.MARKUP_TAG_NAME); } case 221: break; case 10: { addToken(Token.MARKUP_TAG_ATTRIBUTE); } case 222: break; case 46: { start = zzMarkedPos-1; yybegin(PHP_CHAR); } case 223: break; case 48: { addToken(start,zzStartRead-1, Token.LITERAL_STRING_DOUBLE_QUOTE); addEndToken(INTERNAL_IN_PHP_STRING - phpInState); return firstToken; } case 224: break; case 82: { start = zzMarkedPos-2; yybegin(JS_EOL_COMMENT); } case 225: break; case 40: { /* 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 226: break; case 85: { addToken(Token.LITERAL_NUMBER_FLOAT); } case 227: break; case 15: { start = zzMarkedPos-1; yybegin(INATTR_SINGLE); } case 228: break; case 103: { 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; } } // 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 229: break; case 75: { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addEndToken(INTERNAL_CSS_MLC - cssPrevState); return firstToken; } case 230: break; case 12: { addToken(Token.MARKUP_TAG_DELIMITER); } case 231: break; case 32: { addToken(Token.LITERAL_NUMBER_DECIMAL_INT); } case 232: break; case 77: { start = zzMarkedPos-2; yybegin(DTD); } case 233: break; case 20: { addToken(start,zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); yybegin(INTAG); } case 234: break; case 21: { start = zzMarkedPos-1; yybegin(INATTR_DOUBLE_SCRIPT); } case 235: break; case 42: { addToken(start,zzStartRead-1, Token.COMMENT_EOL); addEndToken(INTERNAL_IN_JS); return firstToken; } case 236: break; case 58: { /* Unknown pseudo class */ addToken(Token.DATA_TYPE); } case 237: break; case 1: { } case 238: break; default: if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { zzAtEOF = true; switch (zzLexicalState) { case PHP: { addEndToken(INTERNAL_IN_PHP - phpInState); return firstToken; } case 7922: break; case INATTR_SINGLE_SCRIPT: { addToken(start,zzStartRead-1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); addEndToken(INTERNAL_ATTR_SINGLE_QUOTE_SCRIPT); return firstToken; } case 7923: break; case JS_CHAR: { addToken(start,zzStartRead-1, Token.ERROR_CHAR); addEndToken(INTERNAL_IN_JS); return firstToken; } case 7924: break; case CSS_STRING: { addToken(start,zzStartRead-1, Token.LITERAL_STRING_DOUBLE_QUOTE); addEndToken(INTERNAL_CSS_STRING - cssPrevState); return firstToken; } case 7925: break; case JS_MLC: { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addEndToken(INTERNAL_IN_JS_MLC); return firstToken; } case 7926: break; case CSS_CHAR_LITERAL: { addToken(start,zzStartRead-1, Token.LITERAL_CHAR); addEndToken(INTERNAL_CSS_CHAR - cssPrevState); return firstToken; } case 7927: break; case INTAG_SCRIPT: { addToken(zzMarkedPos,zzMarkedPos, INTERNAL_INTAG_SCRIPT); return firstToken; } case 7928: break; case CSS_PROPERTY: { addEndToken(INTERNAL_CSS_PROPERTY); return firstToken; } case 7929: break; case CSS_C_STYLE_COMMENT: { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addEndToken(INTERNAL_CSS_MLC - cssPrevState); return firstToken; } case 7930: break; case PHP_MLC: { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addEndToken(INTERNAL_IN_PHP_MLC - phpInState); return firstToken; } case 7931: break; case CSS: { addEndToken(INTERNAL_CSS); return firstToken; } case 7932: break; case CSS_VALUE: { addEndToken(INTERNAL_CSS_VALUE); return firstToken; } case 7933: break; case COMMENT: { addToken(start,zzStartRead-1, Token.MARKUP_COMMENT); return firstToken; } case 7934: break; case INATTR_DOUBLE_SCRIPT: { addToken(start,zzStartRead-1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); addEndToken(INTERNAL_ATTR_DOUBLE_QUOTE_SCRIPT); return firstToken; } case 7935: break; case PHP_STRING: { addToken(start,zzStartRead-1, Token.LITERAL_STRING_DOUBLE_QUOTE); addEndToken(INTERNAL_IN_PHP_STRING - phpInState); return firstToken; } case 7936: break; case JAVASCRIPT: { addEndToken(INTERNAL_IN_JS); return firstToken; } case 7937: break; case INTAG: { addToken(zzMarkedPos,zzMarkedPos, INTERNAL_INTAG); return firstToken; } case 7938: break; case INTAG_CHECK_TAG_NAME: { addToken(zzMarkedPos,zzMarkedPos, INTERNAL_INTAG); return firstToken; } case 7939: break; case INATTR_SINGLE_STYLE: { addToken(start,zzStartRead-1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); addEndToken(INTERNAL_ATTR_SINGLE_QUOTE_STYLE); return firstToken; } case 7940: break; case DTD: { addToken(start,zzStartRead-1, Token.MARKUP_DTD); return firstToken; } case 7941: break; case PHP_CHAR: { addToken(start,zzStartRead-1, Token.LITERAL_CHAR); addEndToken(INTERNAL_IN_PHP_CHAR - phpInState); return firstToken; } case 7942: break; case JS_EOL_COMMENT: { addToken(start,zzStartRead-1, Token.COMMENT_EOL); addEndToken(INTERNAL_IN_JS); return firstToken; } case 7943: break; case INATTR_DOUBLE_STYLE: { addToken(start,zzStartRead-1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); addEndToken(INTERNAL_ATTR_DOUBLE_QUOTE_STYLE); return firstToken; } case 7944: break; case INATTR_SINGLE: { addToken(start,zzStartRead-1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); addEndToken(INTERNAL_ATTR_SINGLE); return firstToken; } case 7945: break; case YYINITIAL: { addNullToken(); return firstToken; } case 7946: break; case INATTR_DOUBLE: { addToken(start,zzStartRead-1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); addEndToken(INTERNAL_ATTR_DOUBLE); return firstToken; } case 7947: break; case JS_STRING: { addToken(start,zzStartRead-1, Token.ERROR_STRING_DOUBLE); addEndToken(INTERNAL_IN_JS); return firstToken; } case 7948: break; case INTAG_STYLE: { addToken(zzMarkedPos,zzMarkedPos, INTERNAL_INTAG_STYLE); return firstToken; } case 7949: break; default: return null; } } else { zzScanError(ZZ_NO_MATCH); } } } } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/MakefileTokenMaker.flex0000644000175000001440000002420112202237654030247 0ustar benusers/* * 09/20/2008 * * MakefileTokenMaker.java - Scanner for makefiles. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import java.util.Stack; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.*; /** * Scanner for makefiles.

* * 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * 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.
  • *
  • You should NOT call yylex() on the generated scanner * directly; rather, you should use getTokenList as you would * with any other TokenMaker instance.
  • *
* * @author Robert Futrell * @version 0.5 * */ %% %public %class MakefileTokenMaker %extends AbstractJFlexTokenMaker %unicode %type org.fife.ui.rsyntaxtextarea.Token %{ private Stack varDepths; /** * Constructor. This must be here because JFlex does not generate a * no-parameter constructor. */ public MakefileTokenMaker() { } /** * Adds the token specified to the current linked list of tokens. * * @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. */ 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. */ @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 text to place at the beginning and end of a * line to "comment" it in a this programming language. * * @return The start and end strings to add to a line to "comment" * it out. */ @Override public String[] getLineCommentStartAndEnd() { return new String[] { "#", null }; } /** * 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. */ 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. * * @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) { resetTokenList(); this.offsetShift = -text.offset + startOffset; s = text; try { yyreset(zzReader); yybegin(Token.NULL); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); return new TokenImpl(); } } /** * Refills the input buffer. * * @return true if EOF was reached, otherwise * false. * @exception IOException if any I/O-Error occurs. */ private boolean zzRefill() throws java.io.IOException { return zzCurrentPos>=s.offset+s.count; } /** * 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 */ public final void yyreset(java.io.Reader reader) throws java.io.IOException { // '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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = zzPushbackPos = s.offset; zzLexicalState = YYINITIAL; zzReader = reader; zzAtBOL = true; zzAtEOF = false; } %} Letter = [A-Za-z] Digit = [0-9] IdentifierStart = ({Letter}|[_\.]) IdentifierPart = ({IdentifierStart}|{Digit}) Identifier = ({IdentifierStart}{IdentifierPart}*) Label = ({Identifier}":") CurlyVarStart = ("${") ParenVarStart = ("$(") LineTerminator = (\n) WhiteSpace = ([ \t\f]) UnclosedCharLiteral = ([\']([^\'\n]|"\\'")*) CharLiteral = ({UnclosedCharLiteral}"'") UnclosedStringLiteral = ([\"]([^\"\n]|"\\\"")*) StringLiteral = ({UnclosedStringLiteral}[\"]) UnclosedBacktickLiteral = ([\`]([^\`\n]|"\\`")*) BacktickLiteral = ({UnclosedBacktickLiteral}"`") LineCommentBegin = "#" IntegerLiteral = ({Digit}+) Operator = ([\:\+\?]?"=") %state VAR %% { /* Keywords */ "addprefix" | "addsuffix" | "basename" | "dir" | "filter" | "filter-out" | "findstring" | "firstword" | "foreach" | "join" | "notdir" | "origin" | "pathsubst" | "shell" | "sort" | "strip" | "suffix" | "wildcard" | "word" | "words" | "ifeq" | "ifneq" | "else" | "endif" | "define" | "endef" | "ifdef" | "ifndef" { addToken(Token.RESERVED_WORD); } {LineTerminator} { addNullToken(); return firstToken; } {Label} { addToken(Token.PREPROCESSOR); } {Identifier} { addToken(Token.IDENTIFIER); } {WhiteSpace}+ { addToken(Token.WHITESPACE); } /* String/Character literals. */ {CharLiteral} { addToken(Token.LITERAL_CHAR); } {UnclosedCharLiteral} { addToken(Token.ERROR_CHAR); addNullToken(); return firstToken; } {StringLiteral} { addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); } {UnclosedStringLiteral} { addToken(Token.ERROR_STRING_DOUBLE); addNullToken(); return firstToken; } {BacktickLiteral} { addToken(Token.LITERAL_BACKQUOTE); } {BacktickLiteral} { addToken(Token.ERROR_STRING_DOUBLE); addNullToken(); return firstToken; } /* Variables. */ {CurlyVarStart} { if (varDepths==null) { varDepths = new Stack(); } else { varDepths.clear(); } varDepths.push(Boolean.TRUE); start = zzMarkedPos-2; yybegin(VAR); } {ParenVarStart} { if (varDepths==null) { varDepths = new Stack(); } else { varDepths.clear(); } varDepths.push(Boolean.FALSE); start = zzMarkedPos-2; yybegin(VAR); } /* Comment literals. */ {LineCommentBegin}.* { addToken(Token.COMMENT_EOL); addNullToken(); return firstToken; } /* Operators. */ {Operator} { addToken(Token.OPERATOR); } /* Numbers */ {IntegerLiteral} { addToken(Token.LITERAL_NUMBER_DECIMAL_INT); } /* Ended with a line not in a string or comment. */ <> { addNullToken(); return firstToken; } /* Catch-all for anything else. */ . { addToken(Token.IDENTIFIER); } } { [^\}\)\$\#]+ {} "}" { if (!varDepths.empty() && varDepths.peek()==Boolean.TRUE) { varDepths.pop(); if (varDepths.empty()) { addToken(start,zzStartRead, Token.VARIABLE); yybegin(YYINITIAL); } } } ")" { if (!varDepths.empty() && varDepths.peek()==Boolean.FALSE) { varDepths.pop(); if (varDepths.empty()) { addToken(start,zzStartRead, Token.VARIABLE); yybegin(YYINITIAL); } } } "${" { varDepths.push(Boolean.TRUE); } "$(" { varDepths.push(Boolean.FALSE); } "$" {} "#".* { int temp1 = zzStartRead; int temp2 = zzMarkedPos; addToken(start,zzStartRead-1, Token.VARIABLE); addToken(temp1, temp2-1, Token.COMMENT_EOL); addNullToken(); return firstToken; } <> { addToken(start,zzStartRead-1, Token.VARIABLE); addNullToken(); return firstToken; } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/MakefileTokenMaker.java0000644000175000001440000006727612202002502030233 0ustar benusers/* The following code was generated by JFlex 1.4.1 on 8/9/13 11:40 AM */ /* * 09/20/2008 * * MakefileTokenMaker.java - Scanner for makefiles. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import java.util.Stack; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.*; /** * Scanner for makefiles.

* * 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * 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.
  • *
  • You should NOT call yylex() on the generated scanner * directly; rather, you should use getTokenList as you would * with any other TokenMaker instance.
  • *
* * @author Robert Futrell * @version 0.5 * */ public class MakefileTokenMaker extends AbstractJFlexTokenMaker { /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ public static final int VAR = 1; public static final int YYINITIAL = 0; /** * Translates characters to character classes */ private static final String ZZ_CMAP_PACKED = "\11\0\1\10\1\7\1\0\1\10\23\0\1\10\1\0\1\13\1\15"+ "\1\4\2\0\1\11\1\6\1\47\1\0\1\16\1\0\1\37\1\1"+ "\1\0\12\2\1\3\2\0\1\17\1\0\1\16\1\0\32\1\1\0"+ "\1\12\2\0\1\1\1\14\1\20\1\32\1\43\1\21\1\24\1\25"+ "\1\41\1\44\1\26\1\45\1\1\1\35\1\34\1\33\1\40\1\22"+ "\1\46\1\23\1\30\1\36\1\31\1\1\1\42\1\27\2\1\1\5"+ "\1\0\1\50\uff82\0"; /** * Translates characters to character classes */ private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED); /** * Translates DFA states to action switch labels. */ private static final int [] ZZ_ACTION = zzUnpackAction(); private static final String ZZ_ACTION_PACKED_0 = "\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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } return j; } /** * 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\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\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"+ "\0\u019a\0\u07d9\0\u0802\0\173\0\u082b\0\u0854\0\u087d\0\u08a6"+ "\0\u08cf\0\u08f8\0\u0921\0\u094a\0\u0973\0\u099c\0\u09c5\0\u09ee"+ "\0\u0a17\0\u0a40\0\u0a69\0\u0a92\0\u0abb\0\u0ae4\0\u0b0d\0\u0b36"+ "\0\u0b5f\0\u0b88\0\u0bb1\0\u0bda\0\u0c03\0\u0c2c\0\u0c55\0\u0c7e"+ "\0\u0ca7\0\u0cd0\0\u0cf9\0\u0d22\0\u0d4b\0\u0d74\0\u0d9d\0\u0dc6"+ "\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 */ int l = packed.length(); while (i < l) { int high = packed.charAt(i++) << 16; result[j++] = high | packed.charAt(i++); } 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"+ "\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"+ "\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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); value--; do result[j++] = value; while (--count > 0); } return j; } /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; private static final int ZZ_PUSHBACK_2BIG = 2; /* error messages for the codes above */ private static final String ZZ_ERROR_MSG[] = { "Unkown internal scanner error", "Error: could not match input", "Error: pushback value was too large" }; /** * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute(); private static final String ZZ_ATTRIBUTE_PACKED_0 = "\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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } return j; } /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ private int zzState; /** the current lexical state */ private int zzLexicalState = YYINITIAL; /** this buffer contains the current text to be matched and is the source of the yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ private int zzMarkedPos; /** the current text position in the buffer */ private int zzCurrentPos; /** startRead marks the beginning of the yytext() string in the buffer */ private int zzStartRead; /** endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** 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. */ public MakefileTokenMaker() { } /** * Adds the token specified to the current linked list of tokens. * * @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. */ 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. */ @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 text to place at the beginning and end of a * line to "comment" it in a this programming language. * * @return The start and end strings to add to a line to "comment" * it out. */ @Override public String[] getLineCommentStartAndEnd() { return new String[] { "#", null }; } /** * 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. */ @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. * * @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) { resetTokenList(); this.offsetShift = -text.offset + startOffset; s = text; try { yyreset(zzReader); yybegin(Token.NULL); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); return new TokenImpl(); } } /** * Refills the input buffer. * * @return true if EOF was reached, otherwise * false. * @exception IOException if any I/O-Error occurs. */ private boolean zzRefill() throws java.io.IOException { return zzCurrentPos>=s.offset+s.count; } /** * 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 */ public final void yyreset(java.io.Reader reader) throws java.io.IOException { // '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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = s.offset; zzLexicalState = YYINITIAL; 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. */ public MakefileTokenMaker(java.io.Reader in) { this.zzReader = in; } /** * Creates a new scanner. * There is also java.io.Reader version of this constructor. * * @param in the java.io.Inputstream to read input from. */ public MakefileTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } /** * Unpacks the compressed character translation table. * * @param packed the packed character translation table * @return the unpacked character translation table */ private static char [] zzUnpackCMap(String packed) { char [] map = new char[0x10000]; int i = 0; /* index in packed string */ int j = 0; /* index in unpacked array */ while (i < 126) { int count = packed.charAt(i++); char value = packed.charAt(i++); do map[j++] = value; while (--count > 0); } return map; } /** * Closes the input stream. */ public final void yyclose() throws java.io.IOException { zzAtEOF = true; /* indicate end of file */ zzEndRead = zzStartRead; /* invalidate buffer */ if (zzReader != null) zzReader.close(); } /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } /** * Enters a 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 yylength()-1. * * @return the character at position pos */ public final char yycharat(int pos) { return zzBuffer[zzStartRead+pos]; } /** * Returns the length of the matched text region. */ public final int yylength() { return zzMarkedPos-zzStartRead; } /** * Reports an error that occured while scanning. * * In a wellformed scanner (no or only correct usage of * yypushback(int) and a match-all fallback rule) this method * will only be called with things that "Can't Possibly Happen". * If this method is called, something is seriously wrong * (e.g. a JFlex bug producing a faulty scanner etc.). * * Usual syntax/scanner level error handling should be done * in error fallback rules. * * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; try { message = ZZ_ERROR_MSG[errorCode]; } catch (ArrayIndexOutOfBoundsException e) { message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR]; } throw new Error(message); } /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * * @param number the number of characters to be read again. * This number must not be greater than yylength()! */ public void yypushback(int number) { if ( number > yylength() ) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } /** * Resumes scanning until the next regular expression is matched, * the end of input is encountered or an I/O-Error occurs. * * @return the next token * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; int zzAction; // cached fields: int zzCurrentPosL; int zzMarkedPosL; int zzEndReadL = zzEndRead; char [] zzBufferL = zzBuffer; char [] zzCMapL = ZZ_CMAP; int [] zzTransL = ZZ_TRANS; int [] zzRowMapL = ZZ_ROWMAP; int [] zzAttrL = ZZ_ATTRIBUTE; while (true) { zzMarkedPosL = zzMarkedPos; zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; else if (zzAtEOF) { zzInput = YYEOF; break zzForAction; } else { // store back cached positions zzCurrentPos = zzCurrentPosL; zzMarkedPos = zzMarkedPosL; boolean eof = zzRefill(); // get translated positions and possibly new buffer zzCurrentPosL = zzCurrentPos; zzMarkedPosL = zzMarkedPos; zzBufferL = zzBuffer; zzEndReadL = zzEndRead; if (eof) { zzInput = YYEOF; break zzForAction; } else { zzInput = zzBufferL[zzCurrentPosL++]; } } int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ]; if (zzNext == -1) break zzForAction; zzState = zzNext; int zzAttributes = zzAttrL[zzState]; if ( (zzAttributes & 1) == 1 ) { zzAction = zzState; zzMarkedPosL = zzCurrentPosL; if ( (zzAttributes & 8) == 8 ) break zzForAction; } } } // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { case 13: { addToken(Token.PREPROCESSOR); } 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); } } } 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 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; } case 130: break; case YYINITIAL: { addNullToken(); return firstToken; } case 131: break; default: return null; } } else { zzScanError(ZZ_NO_MATCH); } } } } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/LatexTokenMaker.flex0000644000175000001440000002037612202240132027601 0ustar benusers/* * 04/24/2012 * * LatexTokenMaker.java - Scanner for LaTeX. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.*; /** * Scanner for the LaTeX.

* * 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * 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.
  • *
  • You should NOT call yylex() on the generated scanner * directly; rather, you should use getTokenList as you would * with any other TokenMaker instance.
  • *
* * @author Robert Futrell * @version 0.5 * */ %% %public %class LatexTokenMaker %extends AbstractJFlexTokenMaker %unicode %type org.fife.ui.rsyntaxtextarea.Token %{ /** * Constructor. This must be here because JFlex does not generate a * no-parameter constructor. */ public LatexTokenMaker() { } /** * Adds the token specified to the current linked list of tokens. * * @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. */ 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. * @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. */ @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} */ @Override public String[] getLineCommentStartAndEnd() { 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. * * @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) { resetTokenList(); this.offsetShift = -text.offset + startOffset; // Start off in the proper state. int state = Token.NULL; s = text; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); return new TokenImpl(); } } /** * Refills the input buffer. * * @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. * * 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 */ 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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = zzPushbackPos = s.offset; zzLexicalState = YYINITIAL; zzReader = reader; zzAtBOL = true; zzAtEOF = false; } %} Letter = ([A-Za-z]) Digit = ([0-9]) LetterOrUnderscore = ({Letter}|[_]) AnyChar = ({LetterOrUnderscore}|{Digit}|[\-]) Whitespace = ([ \t\f]) LineCommentBegin = "%" URLGenDelim = ([:\/\?#\[\]@]) URLSubDelim = ([\!\$&'\(\)\*\+,;=]) URLUnreserved = ({LetterOrUnderscore}|{Digit}|[\-\.\~]) URLCharacter = ({URLGenDelim}|{URLSubDelim}|{URLUnreserved}|[%]) URLCharacters = ({URLCharacter}*) URLEndCharacter = ([\/\$]|{Letter}|{Digit}) URL = (((https?|f(tp|ile))"://"|"www.")({URLCharacters}{URLEndCharacter})?) %state EOL_COMMENT %% { ([\\]{AnyChar}+) { addToken(Token.FUNCTION); } [\{\}] { addToken(Token.SEPARATOR); } ("\\begin{"{AnyChar}+"}") { 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); } ("\\end{"{AnyChar}+"}") { 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); } {Whitespace} { addToken(Token.WHITESPACE); } {LineCommentBegin} { start = zzMarkedPos-1; yybegin(EOL_COMMENT); } "\n" | <> { addNullToken(); return firstToken; } /* Catch any other (unhandled) characters and flag them as identifiers. */ {AnyChar}+ | . { addToken(Token.IDENTIFIER); } } { [^hwf\n]+ {} {URL} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_EOL); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_EOL); start = zzMarkedPos; } [hwf] {} \n | <> { addToken(start,zzStartRead-1, Token.COMMENT_EOL); addNullToken(); return firstToken; } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/LatexTokenMaker.java0000644000175000001440000005262012202002502027556 0ustar benusers/* The following code was generated by JFlex 1.4.1 on 4/28/12 4:57 PM */ /* * 04/24/2012 * * LatexTokenMaker.java - Scanner for LaTeX. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.*; /** * Scanner for the LaTeX.

* * 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * 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.
  • *
  • You should NOT call yylex() on the generated scanner * directly; rather, you should use getTokenList as you would * with any other TokenMaker instance.
  • *
* * @author Robert Futrell * @version 0.5 * */ public class LatexTokenMaker extends AbstractJFlexTokenMaker { /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ public static final int EOL_COMMENT = 1; public static final int YYINITIAL = 0; /** * Translates characters to character classes */ private static final String ZZ_CMAP_PACKED = "\11\0\1\3\1\32\1\0\1\3\23\0\1\3\1\5\1\0\1\5"+ "\1\7\1\4\7\5\1\2\1\22\1\6\12\1\1\20\1\5\1\0"+ "\1\5\1\0\2\5\32\1\1\5\1\23\1\5\1\0\1\2\1\0"+ "\1\1\1\25\1\1\1\31\1\17\1\14\1\26\1\10\1\15\2\1"+ "\1\16\1\1\1\27\1\1\1\12\2\1\1\13\1\11\2\1\1\21"+ "\3\1\1\30\1\0\1\24\1\5\uff81\0"; /** * Translates characters to character classes */ private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED); /** * Translates DFA states to action switch labels. */ private static final int [] ZZ_ACTION = zzUnpackAction(); private static final String ZZ_ACTION_PACKED_0 = "\2\0\2\1\1\2\1\3\1\1\1\4\1\5\4\6"+ "\1\7\3\10\4\0\2\10\4\0\2\10\2\0\1\11"+ "\1\0\1\10\3\0\1\10\1\12\2\0\1\13"; private static int [] zzUnpackAction() { int [] result = new int[42]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } private static int zzUnpackAction(String packed, int offset, int [] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } 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\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[42]; int offset = 0; offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result); return result; } private static int zzUnpackRowMap(String packed, int offset, int [] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ int l = packed.length(); while (i < l) { int high = packed.charAt(i++) << 16; result[j++] = high | packed.charAt(i++); } 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\5\0\7\17\1\20\1\0\1\17"+ "\3\0\1\21\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\22\32\0"+ "\1\23\3\0\1\24\36\0\1\25\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\26"+ "\1\0\1\17\2\0\2\17\5\0\7\17\1\27\1\0"+ "\1\17\3\0\3\17\1\0\1\17\12\0\1\30\33\0"+ "\1\31\36\0\1\32\35\0\1\33\12\0\2\17\5\0"+ "\10\17\1\0\1\17\3\0\3\17\1\0\1\34\2\0"+ "\2\17\5\0\10\17\1\0\1\17\3\0\1\17\1\35"+ "\1\17\1\0\1\17\13\0\1\36\40\0\1\37\31\0"+ "\1\31\35\0\1\40\11\0\2\17\5\0\10\17\1\0"+ "\1\17\3\0\3\17\1\41\1\17\2\0\2\17\5\0"+ "\5\17\1\42\2\17\1\0\1\17\3\0\3\17\1\0"+ "\1\17\14\0\1\31\4\0\1\37\20\0\1\43\25\0"+ "\1\40\1\44\1\0\2\44\12\40\1\44\1\40\1\44"+ "\2\0\3\40\1\0\1\40\2\0\2\45\5\0\10\45"+ "\1\0\1\45\3\0\3\45\1\0\1\45\2\0\2\17"+ "\5\0\10\17\1\0\1\17\3\0\2\17\1\46\1\0"+ "\1\17\7\0\1\40\25\0\2\45\5\0\10\45\1\0"+ "\1\45\2\0\1\47\3\45\1\0\1\45\2\0\2\17"+ "\5\0\10\17\1\0\1\17\3\0\3\17\1\50\1\17"+ "\2\0\2\51\5\0\10\51\1\0\1\51\3\0\3\51"+ "\1\0\1\51\2\0\2\51\5\0\10\51\1\0\1\51"+ "\2\0\1\52\3\51\1\0\1\51\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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); value--; do result[j++] = value; while (--count > 0); } return j; } /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; private static final int ZZ_PUSHBACK_2BIG = 2; /* error messages for the codes above */ private static final String ZZ_ERROR_MSG[] = { "Unkown internal scanner error", "Error: could not match input", "Error: pushback value was too large" }; /** * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute(); private static final String ZZ_ATTRIBUTE_PACKED_0 = "\2\0\1\11\1\1\2\11\1\1\2\11\4\1\1\11"+ "\3\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[42]; int offset = 0; offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result); return result; } private static int zzUnpackAttribute(String packed, int offset, int [] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } return j; } /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ private int zzState; /** the current lexical state */ private int zzLexicalState = YYINITIAL; /** this buffer contains the current text to be matched and is the source of the yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ private int zzMarkedPos; /** the current text position in the buffer */ private int zzCurrentPos; /** startRead marks the beginning of the yytext() string in the buffer */ private int zzStartRead; /** endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** 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. */ public LatexTokenMaker() { } /** * Adds the token specified to the current linked list of tokens. * * @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. */ 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. * @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. */ @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} */ @Override public String[] getLineCommentStartAndEnd() { 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. * * @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) { resetTokenList(); this.offsetShift = -text.offset + startOffset; // Start off in the proper state. int state = Token.NULL; s = text; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); return new TokenImpl(); } } /** * Refills the input buffer. * * @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. * * 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 */ 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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = s.offset; zzLexicalState = YYINITIAL; 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. */ public LatexTokenMaker(java.io.Reader in) { this.zzReader = in; } /** * Creates a new scanner. * There is also java.io.Reader version of this constructor. * * @param in the java.io.Inputstream to read input from. */ public LatexTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } /** * Unpacks the compressed character translation table. * * @param packed the packed character translation table * @return the unpacked character translation table */ private static char [] zzUnpackCMap(String packed) { char [] map = new char[0x10000]; int i = 0; /* index in packed string */ int j = 0; /* index in unpacked array */ while (i < 112) { int count = packed.charAt(i++); char value = packed.charAt(i++); do map[j++] = value; while (--count > 0); } return map; } /** * Closes the input stream. */ public final void yyclose() throws java.io.IOException { zzAtEOF = true; /* indicate end of file */ zzEndRead = zzStartRead; /* invalidate buffer */ if (zzReader != null) zzReader.close(); } /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } /** * Enters a 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 yylength()-1. * * @return the character at position pos */ public final char yycharat(int pos) { return zzBuffer[zzStartRead+pos]; } /** * Returns the length of the matched text region. */ public final int yylength() { return zzMarkedPos-zzStartRead; } /** * Reports an error that occured while scanning. * * In a wellformed scanner (no or only correct usage of * yypushback(int) and a match-all fallback rule) this method * will only be called with things that "Can't Possibly Happen". * If this method is called, something is seriously wrong * (e.g. a JFlex bug producing a faulty scanner etc.). * * Usual syntax/scanner level error handling should be done * in error fallback rules. * * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; try { message = ZZ_ERROR_MSG[errorCode]; } catch (ArrayIndexOutOfBoundsException e) { message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR]; } throw new Error(message); } /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * * @param number the number of characters to be read again. * This number must not be greater than yylength()! */ public void yypushback(int number) { if ( number > yylength() ) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } /** * Resumes scanning until the next regular expression is matched, * the end of input is encountered or an I/O-Error occurs. * * @return the next token * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; int zzAction; // cached fields: int zzCurrentPosL; int zzMarkedPosL; int zzEndReadL = zzEndRead; char [] zzBufferL = zzBuffer; char [] zzCMapL = ZZ_CMAP; int [] zzTransL = ZZ_TRANS; int [] zzRowMapL = ZZ_ROWMAP; int [] zzAttrL = ZZ_ATTRIBUTE; while (true) { zzMarkedPosL = zzMarkedPos; zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; else if (zzAtEOF) { zzInput = YYEOF; break zzForAction; } else { // store back cached positions zzCurrentPos = zzCurrentPosL; zzMarkedPos = zzMarkedPosL; boolean eof = zzRefill(); // get translated positions and possibly new buffer zzCurrentPosL = zzCurrentPos; zzMarkedPosL = zzMarkedPos; zzBufferL = zzBuffer; zzEndReadL = zzEndRead; if (eof) { zzInput = YYEOF; break zzForAction; } else { zzInput = zzBufferL[zzCurrentPosL++]; } } int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ]; if (zzNext == -1) break zzForAction; zzState = zzNext; int zzAttributes = zzAttrL[zzState]; if ( (zzAttributes & 1) == 1 ) { zzAction = zzState; zzMarkedPosL = zzCurrentPosL; if ( (zzAttributes & 8) == 8 ) break zzForAction; } } } // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { case 1: { addToken(Token.IDENTIFIER); } case 12: break; case 8: { addToken(Token.FUNCTION); } case 13: break; case 2: { addToken(Token.WHITESPACE); } case 14: break; case 9: { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_EOL); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_EOL); start = zzMarkedPos; } case 15: break; case 3: { start = zzMarkedPos-1; yybegin(EOL_COMMENT); } case 16: break; case 5: { addNullToken(); return firstToken; } case 17: break; case 7: { addToken(start,zzStartRead-1, Token.COMMENT_EOL); addNullToken(); return firstToken; } case 18: break; case 10: { 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 11: { 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 20: break; case 6: { } case 21: break; case 4: { addToken(Token.SEPARATOR); } case 22: 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 43: break; case YYINITIAL: { addNullToken(); return firstToken; } case 44: break; default: return null; } } else { zzScanError(ZZ_NO_MATCH); } } } } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/AssemblerX86TokenMaker.flex0000644000175000001440000004207412202237654030765 0ustar benusers/* * 12/06/2004 * * AssemblerX86TokenMaker.java - An object that can take a chunk of text and * return a linked list of tokens representing X86 assembler. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.*; /** * 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * 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.
  • *
  • You should NOT call yylex() on the generated scanner * directly; rather, you should use getTokenList as you would * with any other TokenMaker instance.
  • *
* * @author Robert Futrell * @version 0.2 * */ %% %public %class AssemblerX86TokenMaker %extends AbstractJFlexTokenMaker %unicode %ignorecase %type org.fife.ui.rsyntaxtextarea.Token %{ /** * 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. */ 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. */ 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. */ @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 text to place at the beginning and end of a * line to "comment" it in a this programming language. * * @return The start and end strings to add to a line to "comment" * it out. */ @Override public String[] getLineCommentStartAndEnd() { 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. * * @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) { resetTokenList(); this.offsetShift = -text.offset + startOffset; // Start off in the proper state. int state = Token.NULL; switch (initialTokenType) { default: state = Token.NULL; } s = text; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); return new TokenImpl(); } } /** * Refills the input buffer. * * @return true if EOF was reached, otherwise * false. * @exception IOException if any I/O-Error occurs. */ private boolean zzRefill() throws java.io.IOException { return zzCurrentPos>=s.offset+s.count; } /** * 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 */ public final void yyreset(java.io.Reader reader) throws java.io.IOException { // '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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = zzPushbackPos = s.offset; zzLexicalState = YYINITIAL; zzReader = reader; zzAtBOL = true; zzAtEOF = false; } %} Letter = ([A-Za-z_]) Digit = ([0-9]) Number = ({Digit}+) Identifier = (({Letter}|{Digit})[^ \t\f\n\,\.\+\-\*\/\%\[\]]+) UnclosedStringLiteral = ([\"][^\"]*) StringLiteral = ({UnclosedStringLiteral}[\"]) UnclosedCharLiteral = ([\'][^\']*) CharLiteral = ({UnclosedCharLiteral}[\']) CommentBegin = ([;]) LineTerminator = (\n) WhiteSpace = ([ \t\f]) Label = (({Letter}|{Digit})+[\:]) Operator = ("+"|"-"|"*"|"/"|"%"|"^"|"|"|"&"|"~"|"!"|"="|"<"|">") %% { /* Keywords */ ".186" | ".286" | ".286P" | ".287" | ".386" | ".386P" | ".387" | ".486" | ".486P" | ".586" | ".586P" | ".686" | ".686P" | ".8086" | ".8087" | ".ALPHA" | ".BREAK" | ".BSS" | ".CODE" | ".CONST" | ".CONTINUE" | ".CREF" | ".DATA" | ".DATA?" | ".DOSSEG" | ".ELSE" | ".ELSEIF" | ".ENDIF" | ".ENDW" | ".ERR" | ".ERR1" | ".ERR2" | ".ERRB" | ".ERRDEF" | ".ERRDIF" | ".ERRDIFI" | ".ERRE" | ".ERRIDN" | ".ERRIDNI" | ".ERRNB" | ".ERRNDEF" | ".ERRNZ" | ".EXIT" | ".FARDATA" | ".FARDATA?" | ".IF" | ".K3D" | ".LALL" | ".LFCOND" | ".LIST" | ".LISTALL" | ".LISTIF" | ".LISTMACRO" | ".LISTMACROALL" | ".MMX" | ".MODEL" | ".MSFLOAT" | ".NO87" | ".NOCREF" | ".NOLIST" | ".NOLISTIF" | ".NOLISTMACRO" | ".RADIX" | ".REPEAT" | ".SALL" | ".SEQ" | ".SFCOND" | ".STACK" | ".STARTUP" | ".TEXT" | ".TFCOND" | ".UNTIL" | ".UNTILCXZ" | ".WHILE" | ".XALL" | ".XCREF" | ".XLIST" | ".XMM" | "__FILE__" | "__LINE__" | "A16" | "A32" | "ADDR" | "ALIGN" | "ALIGNB" | "ASSUME" | "BITS" | "CARRY?" | "CATSTR" | "CODESEG" | "COMM" | "COMMENT" | "COMMON" | "DATASEG" | "DOSSEG" | "ECHO" | "ELSE" | "ELSEIF" | "ELSEIF1" | "ELSEIF2" | "ELSEIFB" | "ELSEIFDEF" | "ELSEIFE" | "ELSEIFIDN" | "ELSEIFNB" | "ELSEIFNDEF" | "END" | "ENDIF" | "ENDM" | "ENDP" | "ENDS" | "ENDSTRUC" | "EVEN" | "EXITM" | "EXPORT" | "EXTERN" | "EXTERNDEF" | "EXTRN" | "FAR" | "FOR" | "FORC" | "GLOBAL" | "GOTO" | "GROUP" | "HIGH" | "HIGHWORD" | "IEND" | "IF" | "IF1" | "IF2" | "IFB" | "IFDEF" | "IFDIF" | "IFDIFI" | "IFE" | "IFIDN" | "IFIDNI" | "IFNB" | "IFNDEF" | "IMPORT" | "INCBIN" | "INCLUDE" | "INCLUDELIB" | "INSTR" | "INVOKE" | "IRP" | "IRPC" | "ISTRUC" | "LABEL" | "LENGTH" | "LENGTHOF" | "LOCAL" | "LOW" | "LOWWORD" | "LROFFSET" | "MACRO" | "NAME" | "NEAR" | "NOSPLIT" | "O16" | "O32" | "OFFSET" | "OPATTR" | "OPTION" | "ORG" | "OVERFLOW?" | "PAGE" | "PARITY?" | "POPCONTEXT" | "PRIVATE" | "PROC" | "PROTO" | "PTR" | "PUBLIC" | "PURGE" | "PUSHCONTEXT" | "RECORD" | "REPEAT" | "REPT" | "SECTION" | "SEG" | "SEGMENT" | "SHORT" | "SIGN?" | "SIZE" | "SIZEOF" | "SIZESTR" | "STACK" | "STRUC" | "STRUCT" | "SUBSTR" | "SUBTITLE" | "SUBTTL" | "THIS" | "TITLE" | "TYPE" | "TYPEDEF" | "UNION" | "USE16" | "USE32" | "USES" | "WHILE" | "WRT" | "ZERO?" { addToken(Token.PREPROCESSOR); } "DB" | "DW" | "DD" | "DF" | "DQ" | "DT" | "RESB" | "RESW" | "RESD" | "RESQ" | "REST" | "EQU" | "TEXTEQU" | "TIMES" | "DUP" { addToken(Token.FUNCTION); } "BYTE" | "WORD" | "DWORD" | "FWORD" | "QWORD" | "TBYTE" | "SBYTE" | "TWORD" | "SWORD" | "SDWORD" | "REAL4" | "REAL8" | "REAL10" { addToken(Token.DATA_TYPE); } /* Registers */ "AL" | "BL" | "CL" | "DL" | "AH" | "BH" | "CH" | "DH" | "AX" | "BX" | "CX" | "DX" | "SI" | "DI" | "SP" | "BP" | "EAX" | "EBX" | "ECX" | "EDX" | "ESI" | "EDI" | "ESP" | "EBP" | "CS" | "DS" | "SS" | "ES" | "FS" | "GS" | "ST" | "ST0" | "ST1" | "ST2" | "ST3" | "ST4" | "ST5" | "ST6" | "ST7" | "MM0" | "MM1" | "MM2" | "MM3" | "MM4" | "MM5" | "MM6" | "MM7" | "XMM0" | "XMM1" | "XMM2" | "XMM3" | "XMM4" | "XMM5" | "XMM6" | "XMM7" | "CR0" | "CR2" | "CR3" | "CR4" | "DR0" | "DR1" | "DR2" | "DR3" | "DR4" | "DR5" | "DR6" | "DR7" | "TR3" | "TR4" | "TR5" | "TR6" | "TR7" { addToken(Token.VARIABLE); } /* Pentium III Instructions. */ "AAA" | "AAD" | "AAM" | "AAS" | "ADC" | "ADD" | "ADDPS" | "ADDSS" | "AND" | "ANDNPS" | "ANDPS" | "ARPL" | "BOUND" | "BSF" | "BSR" | "BSWAP" | "BT" | "BTC" | "BTR" | "BTS" | "CALL" | "CBW" | "CDQ" | "CLC" | "CLD" | "CLI" | "CLTS" | "CMC" | "CMOVA" | "CMOVAE" | "CMOVB" | "CMOVBE" | "CMOVC" | "CMOVE" | "CMOVG" | "CMOVGE" | "CMOVL" | "CMOVLE" | "CMOVNA" | "CMOVNAE" | "CMOVNB" | "CMOVNBE" | "CMOVNC" | "CMOVNE" | "CMOVNG" | "CMOVNGE" | "CMOVNL" | "CMOVNLE" | "CMOVNO" | "CMOVNP" | "CMOVNS" | "CMOVNZ" | "CMOVO" | "CMOVP" | "CMOVPE" | "CMOVPO" | "CMOVS" | "CMOVZ" | "CMP" | "CMPPS" | "CMPS" | "CMPSB" | "CMPSD" | "CMPSS" | "CMPSW" | "CMPXCHG" | "CMPXCHGB" | "COMISS" | "CPUID" | "CWD" | "CWDE" | "CVTPI2PS" | "CVTPS2PI" | "CVTSI2SS" | "CVTSS2SI" | "CVTTPS2PI" | "CVTTSS2SI" | "DAA" | "DAS" | "DEC" | "DIV" | "DIVPS" | "DIVSS" | "EMMS" | "ENTER" | "F2XM1" | "FABS" | "FADD" | "FADDP" | "FBLD" | "FBSTP" | "FCHS" | "FCLEX" | "FCMOVB" | "FCMOVBE" | "FCMOVE" | "FCMOVNB" | "FCMOVNBE" | "FCMOVNE" | "FCMOVNU" | "FCMOVU" | "FCOM" | "FCOMI" | "FCOMIP" | "FCOMP" | "FCOMPP" | "FCOS" | "FDECSTP" | "FDIV" | "FDIVP" | "FDIVR" | "FDIVRP" | "FFREE" | "FIADD" | "FICOM" | "FICOMP" | "FIDIV" | "FIDIVR" | "FILD" | "FIMUL" | "FINCSTP" | "FINIT" | "FIST" | "FISTP" | "FISUB" | "FISUBR" | "FLD1" | "FLDCW" | "FLDENV" | "FLDL2E" | "FLDL2T" | "FLDLG2" | "FLDLN2" | "FLDPI" | "FLDZ" | "FMUL" | "FMULP" | "FNCLEX" | "FNINIT" | "FNOP" | "FNSAVE" | "FNSTCW" | "FNSTENV" | "FNSTSW" | "FPATAN" | "FPREM" | "FPREMI" | "FPTAN" | "FRNDINT" | "FRSTOR" | "FSAVE" | "FSCALE" | "FSIN" | "FSINCOS" | "FSQRT" | "FST" | "FSTCW" | "FSTENV" | "FSTP" | "FSTSW" | "FSUB" | "FSUBP" | "FSUBR" | "FSUBRP" | "FTST" | "FUCOM" | "FUCOMI" | "FUCOMIP" | "FUCOMP" | "FUCOMPP" | "FWAIT" | "FXAM" | "FXCH" | "FXRSTOR" | "FXSAVE" | "FXTRACT" | "FYL2X" | "FYL2XP1" | "HLT" | "IDIV" | "IMUL" | "IN" | "INC" | "INS" | "INSB" | "INSD" | "INSW" | "INT" | "INTO" | "INVD" | "INVLPG" | "IRET" | "JA" | "JAE" | "JB" | "JBE" | "JC" | "JCXZ" | "JE" | "JECXZ" | "JG" | "JGE" | "JL" | "JLE" | "JMP" | "JNA" | "JNAE" | "JNB" | "JNBE" | "JNC" | "JNE" | "JNG" | "JNGE" | "JNL" | "JNLE" | "JNO" | "JNP" | "JNS" | "JNZ" | "JO" | "JP" | "JPE" | "JPO" | "JS" | "JZ" | "LAHF" | "LAR" | "LDMXCSR" | "LDS" | "LEA" | "LEAVE" | "LES" | "LFS" | "LGDT" | "LGS" | "LIDT" | "LLDT" | "LMSW" | "LOCK" | "LODS" | "LODSB" | "LODSD" | "LODSW" | "LOOP" | "LOOPE" | "LOOPNE" | "LOOPNZ" | "LOOPZ" | "LSL" | "LSS" | "LTR" | "MASKMOVQ" | "MAXPS" | "MAXSS" | "MINPS" | "MINSS" | "MOV" | "MOVAPS" | "MOVD" | "MOVHLPS" | "MOVHPS" | "MOVLHPS" | "MOVLPS" | "MOVMSKPS" | "MOVNTPS" | "MOVNTQ" | "MOVQ" | "MOVS" | "MOVSB" | "MOVSD" | "MOVSS" | "MOVSW" | "MOVSX" | "MOVUPS" | "MOVZX" | "MUL" | "MULPS" | "MULSS" | "NEG" | "NOP" | "NOT" | "OR" | "ORPS" | "OUT" | "OUTS" | "OUTSB" | "OUTSD" | "OUTSW" | "PACKSSDW" | "PACKSSWB" | "PACKUSWB" | "PADDB" | "PADDD" | "PADDSB" | "PADDSW" | "PADDUSB" | "PADDUSW" | "PADDW" | "PAND" | "PANDN" | "PAVGB" | "PAVGW" | "PCMPEQB" | "PCMPEQD" | "PCMPEQW" | "PCMPGTB" | "PCMPGTD" | "PCMPGTW" | "PEXTRW" | "PINSRW" | "PMADDWD" | "PMAXSW" | "PMAXUB" | "PMINSW" | "PMINUB" | "PMOVMSKB" | "PMULHUW" | "PMULHW" | "PMULLW" | "POP" | "POPA" | "POPAD" | "POPAW" | "POPF" | "POPFD" | "POPFW" | "POR" | "PREFETCH" | "PSADBW" | "PSHUFW" | "PSLLD" | "PSLLQ" | "PSLLW" | "PSRAD" | "PSRAW" | "PSRLD" | "PSRLQ" | "PSRLW" | "PSUBB" | "PSUBD" | "PSUBSB" | "PSUBSW" | "PSUBUSB" | "PSUBUSW" | "PSUBW" | "PUNPCKHBW" | "PUNPCKHDQ" | "PUNPCKHWD" | "PUNPCKLBW" | "PUNPCKLDQ" | "PUNPCKLWD" | "PUSH" | "PUSHA" | "PUSHAD" | "PUSHAW" | "PUSHF" | "PUSHFD" | "PUSHFW" | "PXOR" | "RCL" | "RCR" | "RDMSR" | "RDPMC" | "RDTSC" | "REP" | "REPE" | "REPNE" | "REPNZ" | "REPZ" | "RET" | "RETF" | "RETN" | "ROL" | "ROR" | "RSM" | "SAHF" | "SAL" | "SAR" | "SBB" | "SCAS" | "SCASB" | "SCASD" | "SCASW" | "SETA" | "SETAE" | "SETB" | "SETBE" | "SETC" | "SETE" | "SETG" | "SETGE" | "SETL" | "SETLE" | "SETNA" | "SETNAE" | "SETNB" | "SETNBE" | "SETNC" | "SETNE" | "SETNG" | "SETNGE" | "SETNL" | "SETNLE" | "SETNO" | "SETNP" | "SETNS" | "SETNZ" | "SETO" | "SETP" | "SETPE" | "SETPO" | "SETS" | "SETZ" | "SFENCE" | "SGDT" | "SHL" | "SHLD" | "SHR" | "SHRD" | "SHUFPS" | "SIDT" | "SLDT" | "SMSW" | "SQRTPS" | "SQRTSS" | "STC" | "STD" | "STI" | "STMXCSR" | "STOS" | "STOSB" | "STOSD" | "STOSW" | "STR" | "SUB" | "SUBPS" | "SUBSS" | "SYSENTER" | "SYSEXIT" | "TEST" | "UB2" | "UCOMISS" | "UNPCKHPS" | "UNPCKLPS" | "WAIT" | "WBINVD" | "VERR" | "VERW" | "WRMSR" | "XADD" | "XCHG" | "XLAT" | "XLATB" | "XOR" | "XORPS" { addToken(Token.RESERVED_WORD); } } { {LineTerminator} { addNullToken(); return firstToken; } {WhiteSpace}+ { addToken(Token.WHITESPACE); } /* String/Character Literals. */ {CharLiteral} { addToken(Token.LITERAL_CHAR); } {UnclosedCharLiteral} { addToken(Token.ERROR_CHAR); /*addNullToken(); return firstToken;*/ } {StringLiteral} { addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); } {UnclosedStringLiteral} { addToken(Token.ERROR_STRING_DOUBLE); addNullToken(); return firstToken; } /* Labels. */ {Label} { addToken(Token.PREPROCESSOR); } ^%({Letter}|{Digit})* { addToken(Token.FUNCTION); } /* Comment Literals. */ {CommentBegin}.* { addToken(Token.COMMENT_EOL); addNullToken(); return firstToken; } /* Operators. */ {Operator} { addToken(Token.OPERATOR); } /* Numbers */ {Number} { addToken(Token.LITERAL_NUMBER_DECIMAL_INT); } /* Ended with a line not in a string or comment. */ <> { addNullToken(); return firstToken; } /* Catch any other (unhandled) characters. */ {Identifier} { addToken(Token.IDENTIFIER); } . { addToken(Token.IDENTIFIER); } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/AssemblerX86TokenMaker.java0000644000175000001440000023455312202002500030731 0ustar benusers/* The following code was generated by JFlex 1.4.1 on 2/1/08 1:33 PM */ /* * 12/06/2004 * * AssemblerX86TokenMaker.java - An object that can take a chunk of text and * return a linked list of tokens representing X86 assembler. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.*; /** * 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * 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.
  • *
  • You should NOT call yylex() on the generated scanner * directly; rather, you should use getTokenList as you would * with any other TokenMaker instance.
  • *
* * @author Robert Futrell * @version 0.2 * */ 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 */ private static final int ZZ_LEXSTATE[] = { 0, 1 }; /** * Translates characters to character classes */ private static final String ZZ_CMAP_PACKED = "\11\0\1\10\1\7\1\0\1\10\23\0\1\10\1\14\1\4\2\0"+ "\1\13\1\14\1\5\2\0\1\12\1\12\1\3\1\12\1\15\1\12"+ "\1\27\1\16\1\21\1\24\1\25\1\26\1\20\1\23\1\17\1\2"+ "\1\11\1\6\1\14\1\14\1\14\1\50\1\0\1\30\1\33\1\40"+ "\1\42\1\35\1\47\1\51\1\32\1\45\1\1\1\36\1\31\1\55"+ "\1\43\1\41\1\22\1\56\1\34\1\37\1\44\1\46\1\61\1\52"+ "\1\54\1\60\1\53\1\3\1\0\1\3\1\14\1\57\1\0\1\30"+ "\1\33\1\40\1\42\1\35\1\47\1\51\1\32\1\45\1\1\1\36"+ "\1\31\1\55\1\43\1\41\1\22\1\56\1\34\1\37\1\44\1\46"+ "\1\61\1\52\1\54\1\60\1\53\1\0\1\14\1\0\1\14\uff81\0"; /** * Translates characters to character classes */ private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED); /** * Translates DFA states to action switch labels. */ private static final int [] ZZ_ACTION = zzUnpackAction(); private static final String ZZ_ACTION_PACKED_0 = "\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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } return j; } /** * 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\62\0\144\0\226\0\310\0\372\0\u012c\0\u015e"+ "\0\144\0\u0190\0\144\0\u01c2\0\u01f4\0\u0226\0\u0258\0\u028a"+ "\0\u02bc\0\u02ee\0\u0320\0\u0352\0\u0384\0\u03b6\0\u03e8\0\u041a"+ "\0\u044c\0\u047e\0\u04b0\0\u04e2\0\u0514\0\u0546\0\u0578\0\u05aa"+ "\0\u05dc\0\u060e\0\u0640\0\u0672\0\u06a4\0\u06d6\0\u0708\0\u0708"+ "\0\u073a\0\u076c\0\u079e\0\u0352\0\u07d0\0\u0802\0\u0834\0\144"+ "\0\144\0\u0866\0\u0898\0\u08ca\0\u08fc\0\u092e\0\u0960\0\u0992"+ "\0\u09c4\0\u09f6\0\u0a28\0\u0a5a\0\u0a8c\0\u0abe\0\u0af0\0\u0b22"+ "\0\u0b54\0\u0b86\0\u0bb8\0\u0bea\0\u0c1c\0\u0c4e\0\u0c80\0\u0cb2"+ "\0\u0ce4\0\u0d16\0\u0d48\0\u0d7a\0\u0dac\0\u0dde\0\u0e10\0\u0e42"+ "\0\u0e74\0\u0ea6\0\u0ed8\0\u0f0a\0\u0f3c\0\u0352\0\u0f6e\0\u0fa0"+ "\0\u0fd2\0\u1004\0\u1036\0\u1068\0\u109a\0\u10cc\0\u10fe\0\u1130"+ "\0\u1162\0\u1194\0\u11c6\0\u11f8\0\u122a\0\u125c\0\u128e\0\u12c0"+ "\0\u12f2\0\u1324\0\u1356\0\u1388\0\u13ba\0\u13ec\0\u141e\0\u1450"+ "\0\u1482\0\u14b4\0\u14e6\0\u1518\0\u154a\0\u157c\0\u15ae\0\u15e0"+ "\0\u1612\0\u1644\0\u1676\0\u16a8\0\u16da\0\u170c\0\u173e\0\u1770"+ "\0\u17a2\0\u17d4\0\u1806\0\u1838\0\u186a\0\u189c\0\u18ce\0\u1900"+ "\0\u1932\0\u1964\0\u1996\0\u19c8\0\u19fa\0\u1a2c\0\u1a5e\0\u1a90"+ "\0\u1ac2\0\u1af4\0\u1b26\0\u1b58\0\u1b8a\0\u1bbc\0\u1bee\0\u0352"+ "\0\u1c20\0\u1c52\0\u1c84\0\u1cb6\0\u1ce8\0\u186a\0\u1d1a\0\u1d4c"+ "\0\u1d7e\0\u1db0\0\u1de2\0\u1e14\0\u1e46\0\u1e78\0\u1eaa\0\u1edc"+ "\0\u1f0e\0\u1f40\0\u1f72\0\u1fa4\0\u1fd6\0\u2008\0\u203a\0\u206c"+ "\0\u209e\0\u20d0\0\u2102\0\u2134\0\u2166\0\u2198\0\u21ca\0\u21fc"+ "\0\u222e\0\u2260\0\u2292\0\u22c4\0\u22f6\0\u2328\0\u235a\0\u238c"+ "\0\u23be\0\u23f0\0\u2422\0\u2454\0\u2486\0\u24b8\0\u24ea\0\u251c"+ "\0\u254e\0\u2580\0\u25b2\0\u25e4\0\u2616\0\u2648\0\u267a\0\u26ac"+ "\0\u26de\0\u2710\0\u2742\0\u2774\0\u27a6\0\u27d8\0\u280a\0\u283c"+ "\0\u286e\0\u07d0\0\u28a0\0\u28d2\0\u2904\0\u2936\0\u2968\0\u299a"+ "\0\u29cc\0\u29fe\0\u2a30\0\u2a62\0\u2a94\0\u2ac6\0\u2af8\0\u2b2a"+ "\0\u2b5c\0\u2b8e\0\u2bc0\0\u2bf2\0\u2c24\0\u2c56\0\u2c88\0\u2cba"+ "\0\u2cec\0\u2d1e\0\u2d50\0\u2d82\0\144\0\u2db4\0\u2de6\0\u2e18"+ "\0\u2e4a\0\u2e7c\0\u2eae\0\u2ee0\0\u2f12\0\u2f44\0\u2f76\0\u2fa8"+ "\0\u2fda\0\u300c\0\u303e\0\u3070\0\u30a2\0\u30d4\0\u3106\0\u3138"+ "\0\u316a\0\u319c\0\u31ce\0\u3200\0\u3232\0\u3264\0\u3296\0\u0352"+ "\0\u32c8\0\u32fa\0\u332c\0\u335e\0\u3390\0\u33c2\0\u33f4\0\u3426"+ "\0\u3458\0\u348a\0\u34bc\0\u34ee\0\u3520\0\u3552\0\u3584\0\u35b6"+ "\0\u35e8\0\u361a\0\u364c\0\u367e\0\u36b0\0\u36e2\0\u3714\0\u3746"+ "\0\u3778\0\u37aa\0\u37dc\0\u380e\0\u3840\0\u3872\0\u38a4\0\u38d6"+ "\0\u3908\0\u393a\0\u396c\0\u399e\0\u39d0\0\u3a02\0\u3a34\0\u3a66"+ "\0\u3a98\0\u3aca\0\u3afc\0\u3b2e\0\u3b60\0\u3b92\0\u3bc4\0\u3bf6"+ "\0\u3c28\0\u3c5a\0\u3c8c\0\u3cbe\0\u3cf0\0\u3d22\0\u3d54\0\u3d86"+ "\0\u3db8\0\u3dea\0\u3e1c\0\u3e4e\0\u3e80\0\u3eb2\0\u3ee4\0\u3f16"+ "\0\u3f48\0\u3f7a\0\u3fac\0\u3fde\0\u4010\0\u36e2\0\u4042\0\u4074"+ "\0\u40a6\0\u40d8\0\u410a\0\u413c\0\u416e\0\u41a0\0\u41d2\0\u4204"+ "\0\u4236\0\u4268\0\u429a\0\u42cc\0\u42fe\0\u4330\0\u4362\0\u4394"+ "\0\u43c6\0\u43f8\0\u442a\0\u445c\0\u448e\0\u44c0\0\u44f2\0\u4524"+ "\0\u4556\0\u4588\0\u45ba\0\u45ec\0\u461e\0\u3b92\0\u4650\0\u4682"+ "\0\u46b4\0\u361a\0\u46e6\0\u4718\0\u474a\0\u477c\0\u47ae\0\u47e0"+ "\0\u4812\0\u4844\0\u4876\0\u48a8\0\u48da\0\u490c\0\u493e\0\u4970"+ "\0\u49a2\0\u49d4\0\u4a06\0\u4a38\0\u4a6a\0\u4a9c\0\u4ace\0\u4b00"+ "\0\u4b32\0\u4b64\0\u4b96\0\u4bc8\0\u4bfa\0\u4c2c\0\u4c5e\0\u4c90"+ "\0\u4cc2\0\u4cf4\0\u4d26\0\u4d58\0\u4d8a\0\u4dbc\0\u410a\0\u4dee"+ "\0\u4e20\0\u4e52\0\u4e84\0\u4eb6\0\u4ee8\0\u4f1a\0\u4f4c\0\u4f7e"+ "\0\u4fb0\0\u4fe2\0\u5014\0\u5046\0\u5078\0\u50aa\0\u50dc\0\u510e"+ "\0\u5140\0\u5172\0\u51a4\0\u51d6\0\u5208\0\u523a\0\u526c\0\u529e"+ "\0\u52d0\0\u5302\0\u5334\0\u5366\0\u5398\0\u53ca\0\u53fc\0\u542e"+ "\0\u5460\0\u5492\0\u54c4\0\u54f6\0\u5528\0\u555a\0\u558c\0\u55be"+ "\0\u55f0\0\u5622\0\u55f0\0\u5654\0\u5686\0\u56b8\0\u56ea\0\u571c"+ "\0\u574e\0\u5780\0\u57b2\0\u4d58\0\u57e4\0\u076c\0\u5816\0\u5848"+ "\0\u587a\0\u58ac\0\u0352\0\u58de\0\u5910\0\u5942\0\u5974\0\u59a6"+ "\0\u1f40\0\u59d8\0\u5a0a\0\u5a3c\0\u5a6e\0\u5aa0\0\u5ad2\0\u5b04"+ "\0\u5b36\0\u5b68\0\u5b9a\0\u5bcc\0\u5bfe\0\u5c30\0\u5c62\0\u5c94"+ "\0\u5cc6\0\u5cf8\0\u5d2a\0\u5d5c\0\u5d8e\0\u5dc0\0\u5df2\0\u5e24"+ "\0\u5e56\0\u5e88\0\u5eba\0\u5eec\0\u5f1e\0\u5f50\0\u5f82\0\u5fb4"+ "\0\u5fe6\0\u6018\0\u604a\0\u607c\0\u60ae\0\u60e0\0\u6112\0\u6144"+ "\0\u6176\0\u61a8\0\u5460\0\u0834\0\u61da\0\u620c\0\u623e\0\u6270"+ "\0\u62a2\0\u62d4\0\u6306\0\u6338\0\u636a\0\u639c\0\u63ce\0\u6400"+ "\0\u6432\0\u6464\0\u6496\0\u64c8\0\u64fa\0\u652c\0\u655e\0\u6590"+ "\0\u65c2\0\u65f4\0\u6626\0\u6658\0\u668a\0\u66bc\0\u66ee\0\u6720"+ "\0\u6752\0\u6784\0\u67b6\0\u67e8\0\u681a\0\u684c\0\u687e\0\u68b0"+ "\0\u68e2\0\u6914\0\u6946\0\u6978\0\u69aa\0\u69dc\0\u6a0e\0\u6a40"+ "\0\u6a72\0\u6aa4\0\u6ad6\0\u6b08\0\u6b3a\0\u6b6c\0\u6b9e\0\u6bd0"+ "\0\u6c02\0\u6c34\0\u6c66\0\u4236\0\u6c98\0\u6cca\0\u65f4\0\u6cfc"+ "\0\u6d2e\0\u6d60\0\u6d92\0\u6dc4\0\u6df6\0\u6e28\0\u6e5a\0\u5a6e"+ "\0\u6e8c\0\u6ebe\0\u6ef0\0\u6f22\0\u6f54\0\u6f86\0\u6fb8\0\u6fea"+ "\0\u701c\0\u704e\0\u7080\0\u70b2\0\u70e4\0\u7116\0\u7148\0\u717a"+ "\0\u61da\0\u71ac\0\u71de\0\u7210\0\u7242\0\u1194\0\u7274\0\u72a6"+ "\0\u72d8\0\u730a\0\u733c\0\u736e\0\u73a0\0\u73d2\0\u7404\0\u7436"+ "\0\u7468\0\u749a\0\u74cc\0\u74fe\0\u7530\0\u7562\0\u7594\0\u587a"+ "\0\u75c6\0\u75f8\0\u762a\0\u765c\0\u768e\0\u76c0\0\u76f2\0\u7724"+ "\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 */ int l = packed.length(); while (i < l) { int high = packed.charAt(i++) << 16; result[j++] = high | packed.charAt(i++); } 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"+ "\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"+ "\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"+ "\52\0\1\346\4\0\1\347\55\0\1\350\2\0\1\351"+ "\6\0\1\352\10\0\1\353\31\0\1\354\65\0\1\341"+ "\4\0\1\355\6\0\1\356\2\0\1\343\46\0\1\357"+ "\4\0\1\360\50\0\1\361\10\0\1\362\61\0\1\363"+ "\55\0\1\364\11\0\1\343\61\0\1\365\55\0\1\366"+ "\46\0\1\367\63\0\1\370\57\0\1\341\1\371\6\0"+ "\1\372\14\0\1\373\43\0\1\374\1\0\1\375\13\0"+ "\1\376\4\0\1\47\2\24\1\0\3\47\2\0\1\50"+ "\2\0\1\47\1\0\16\24\1\377\3\24\1\u0100\1\24"+ "\1\u0101\1\u0102\4\24\1\47\1\u0103\7\24\1\u0104\1\47"+ "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0"+ "\17\24\1\u0105\3\24\1\u0106\3\24\1\u0107\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\u0108\5\24\1\47"+ "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0"+ "\12\24\1\u0109\1\u010a\1\u010b\1\24\1\u010c\11\24\1\u010d"+ "\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\u010e"+ "\4\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0"+ "\1\47\1\0\4\24\1\u010f\11\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\16\24\1\u0110\13\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\u0111\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\u0112"+ "\1\u0113\2\24\1\u0114\3\24\1\u0115\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\142\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\u0116\10\24\1\u0117\3\24\1\u0118\1\u0119\1\24\1\47"+ "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0"+ "\1\47\1\0\2\24\1\u0110\27\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\u0110\26\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\2\24\1\54\5\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\27\24\1\u011a\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\u011b\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\u011c"+ "\10\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\u011d"+ "\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\u011e\5\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\u011f\1\u0120\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\24\24\1\146\5\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\u0121\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\u0122"+ "\6\24\1\54\3\24\1\u0123\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\54\5\24\1\54\10\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\u0124\1\u0125\1\u0126\5\24\1\47\1\24\1\u0127"+ "\7\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0"+ "\1\47\1\0\21\24\1\54\10\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\16\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"+ "\21\24\1\54\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\54"+ "\2\24\1\146\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"+ "\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\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\32\24\1\47\1\u0129\10\24\1\47\2\24"+ "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\16\24"+ "\1\54\12\24\1\54\1\47\1\24\1\u012a\7\24\1\47"+ "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0"+ "\30\24\1\u012b\1\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\54"+ "\2\24\2\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\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"+ "\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\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"+ "\1\0\24\24\1\u01c0\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\u01c1\5\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\u0110\12\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\u01c2\10\24\1\47"+ "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0"+ "\31\24\1\u01c3\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\u0110\3\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\32\24\1\47\10\24"+ "\1\u01c4\1\47\2\24\1\0\3\47\2\0\1\50\2\0"+ "\1\47\1\0\26\24\1\u01c5\3\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\u01c6\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\u01c7"+ "\16\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\u01c8\1\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\u01c9\1\u01c7\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\u01c0\14\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\u01ca\25\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\u01cb\7\24"+ "\1\u01cc\6\24\1\u01cb\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\u01c5"+ "\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\u01cd\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\u0103\10\24\1\47\2\24"+ "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\14\24"+ "\1\u010f\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\u01ce\25\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\u01cf\5\24\1\47\3\24"+ "\1\u01d0\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\u01d1\1\47"+ "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0"+ "\25\24\1\u01d0\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\u01d2"+ "\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\u01d3\10\24"+ "\1\47\2\24\1\0\3\47\2\0\1\50\2\0\1\47"+ "\1\0\13\24\1\54\16\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\237\1\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\11\24"+ "\1\u0110\2\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\4\24"+ "\1\143\20\24\1\u01d4\4\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\54\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\u01d5\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\225\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\u01d6\1\47\2\24\1\0\3\47\2\0"+ "\1\50\2\0\1\47\1\0\32\24\1\47\1\u01d7\10\24"+ "\1\47\2\24\1\0\3\47\2\0\1\50\2\0\1\47"+ "\1\0\12\24\1\u01d5\5\24\1\54\11\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\u01d8\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\u01d9\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\1\24"+ "\1\u0131\7\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\u01da\5\24"+ "\1\47\2\24\1\0\3\47\2\0\1\50\2\0\1\47"+ "\1\0\14\24\1\u0127\15\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\57\17\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\u0176\4\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\u0110\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\u01db\12\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\u01dc\5\24\1\u01dd\1\u0110\3\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\13\24\1\u01de\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\230\6\24\1\230\1\24\1\230\3\24\1\47"+ "\1\24\1\230\3\24\1\230\3\24\1\47\2\24\1\0"+ "\3\47\2\0\1\50\2\0\1\47\1\0\23\24\1\u01df"+ "\6\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\54\3\24\1\54"+ "\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\232\4\24"+ "\1\47\2\24\1\0\3\47\2\0\1\50\2\0\1\47"+ "\1\0\21\24\1\232\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\142\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\u01e0\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\u0110\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\u0110\14\24\1\u01e1\5\24\1\u01e2\2\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\17\24\1\142\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\u013f\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\u013d\1\u01e3\12\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\u01e4\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\u0110"+ "\4\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"+ "\11\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0"+ "\1\47\1\0\16\24\1\u01e5\13\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\u01d4\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\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\51\5\24\2\52\1\24"+ "\1\52\1\24\1\54\1\24\3\54\1\24\1\56\4\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\32\24\1\47"+ "\4\24\1\u01e6\4\24\1\47\2\24\1\0\3\47\2\0"+ "\1\50\2\0\1\47\1\0\22\24\1\u01e7\7\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\u01e8\1\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\u01e9\4\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\u01ea"+ "\12\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\14\24\1\u01eb"+ "\4\24\1\u01ec\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\u01ed"+ "\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\u019f\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\u01ee\12\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\u0176\2\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\u01ef"+ "\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\u01f0\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\u015a\12\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\4\24\1\u01f2\4\24\1\47"+ "\2\24\1\0\3\47\2\0\1\50\2\0\1\47\1\0"+ "\4\24\1\143\14\24\1\u01f3\10\24\1\47\3\24\1\u01f4"+ "\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\u0142\1\47\2\24"+ "\1\0\3\47\2\0\1\50\2\0\1\47\1\0\4\24"+ "\1\u01f5\14\24\1\u01f6\4\24\1\u01f7\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\u01f0\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\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\21\24\1\u01f8\10\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\u01f9\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\u015a\17\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\u01fa\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\143\14\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\4\24\1\u01fb\25\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\u01fc\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\1\u0103\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\u01fd\12\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\u01fe\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\u0110\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\u0110\5\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\u01ff\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\10\24"+ "\1\54\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\1\24\1\115"+ "\3\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\13\24\1\u0200"+ "\1\24\1\u0201\14\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\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\13\24\1\u0202\7\24\1\u0203"+ "\1\54\5\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\u01e2\7\24"+ "\1\u0204\2\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\u0110\6\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\24\24\1\u0206\5\24"+ "\1\47\11\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\12\24\1\u0110"+ "\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\4\24\1\u0207"+ "\4\24\1\47\2\24\1\0\3\47\2\0\1\50\2\0"+ "\1\47\1\0\22\24\1\u0208\7\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\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\32\24\1\47"+ "\4\24\1\u0209\4\24\1\47\2\24\1\0\3\47\2\0"+ "\1\50\2\0\1\47\1\0\26\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\17\24\1\u020a\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\u020b\17\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\u020c"+ "\5\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\3\24\1\u020d\6\24"+ "\1\u020e\3\24\1\u020f\2\24\1\213\7\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\26\24\1\57\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\120\3\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\u0210\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\u0211\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\54\12\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\25\24\1\u0212\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\u0213\14\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\146\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\u0214\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\54\10\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\23\24\1\u0216\6\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\u0217\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\10\24\1\u0213\1\47\2\24\1\0"+ "\3\47\2\0\1\50\2\0\1\47\1\0\12\24\1\u017a"+ "\13\24\1\u0218\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\1\u0180"+ "\16\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\311\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\u020c\1\24\1\u0219\1\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\u021a\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\u021b\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\u0217"+ "\4\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\30\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\23\24\1\u021c\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\u01d6\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\u0178\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\u017a"+ "\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\54\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\u021d\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\u020c\16\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\u021e"+ "\26\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\u021f\14\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\u0220\1\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\u0221\4\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\u01db"+ "\5\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\u01e9\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\u0222\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\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\143\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\u0223\11\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\u0137\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\u01d4\1\u0224\1\u0225\4\24\1\u0226\2\24\1\54\1\u0227"+ "\2\24\1\u01d4\1\24\1\47\2\24\1\u0214\1\24\1\u0228"+ "\1\54\3\24\1\47\2\24\1\0\3\47\2\0\1\50"+ "\2\0\1\47\1\0\27\24\1\u0229\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\u022a\2\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\54\13\24\1\47\1\24\1\54\7\24\20\0\1\365"+ "\2\0\1\365\60\0\1\365\71\0\1\u022b\60\0\1\365"+ "\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"; 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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); value--; do result[j++] = value; while (--count > 0); } return j; } /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; private static final int ZZ_PUSHBACK_2BIG = 2; /* error messages for the codes above */ private static final String ZZ_ERROR_MSG[] = { "Unkown internal scanner error", "Error: could not match input", "Error: pushback value was too large" }; /** * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute(); private static final String ZZ_ATTRIBUTE_PACKED_0 = "\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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } return j; } /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ private int zzState; /** the current lexical state */ private int zzLexicalState = YYINITIAL; /** this buffer contains the current text to be matched and is the source of the yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ private int zzMarkedPos; /** the current text position in the buffer */ private int zzCurrentPos; /** startRead marks the beginning of the yytext() string in the buffer */ private int zzStartRead; /** endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** * zzAtBOL == true <=> the scanner is currently at the beginning of a line */ private boolean zzAtBOL = true; /** zzAtEOF == true <=> the scanner is at the EOF */ private boolean zzAtEOF; /* user code: */ /** * 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. */ 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. */ 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. */ @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 text to place at the beginning and end of a * line to "comment" it in a this programming language. * * @return The start and end strings to add to a line to "comment" * it out. */ @Override public String[] getLineCommentStartAndEnd() { 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. * * @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) { resetTokenList(); this.offsetShift = -text.offset + startOffset; // Start off in the proper state. int state = Token.NULL; switch (initialTokenType) { default: state = Token.NULL; } s = text; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); return new TokenImpl(); } } /** * Refills the input buffer. * * @return true if EOF was reached, otherwise * false. * @exception IOException if any I/O-Error occurs. */ private boolean zzRefill() throws java.io.IOException { return zzCurrentPos>=s.offset+s.count; } /** * 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 */ public final void yyreset(java.io.Reader reader) throws java.io.IOException { // '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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = s.offset; zzLexicalState = YYINITIAL; zzReader = reader; zzAtBOL = true; 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. */ public AssemblerX86TokenMaker(java.io.Reader in) { this.zzReader = in; } /** * Creates a new scanner. * There is also java.io.Reader version of this constructor. * * @param in the java.io.Inputstream to read input from. */ public AssemblerX86TokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } /** * Unpacks the compressed character translation table. * * @param packed the packed character translation table * @return the unpacked character translation table */ private static char [] zzUnpackCMap(String packed) { char [] map = new char[0x10000]; int i = 0; /* index in packed string */ int j = 0; /* index in unpacked array */ while (i < 200) { int count = packed.charAt(i++); char value = packed.charAt(i++); do map[j++] = value; while (--count > 0); } return map; } /** * Closes the input stream. */ public final void yyclose() throws java.io.IOException { zzAtEOF = true; /* indicate end of file */ zzEndRead = zzStartRead; /* invalidate buffer */ if (zzReader != null) zzReader.close(); } /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } /** * Enters a 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 yylength()-1. * * @return the character at position pos */ public final char yycharat(int pos) { return zzBuffer[zzStartRead+pos]; } /** * Returns the length of the matched text region. */ public final int yylength() { return zzMarkedPos-zzStartRead; } /** * Reports an error that occured while scanning. * * In a wellformed scanner (no or only correct usage of * yypushback(int) and a match-all fallback rule) this method * will only be called with things that "Can't Possibly Happen". * If this method is called, something is seriously wrong * (e.g. a JFlex bug producing a faulty scanner etc.). * * Usual syntax/scanner level error handling should be done * in error fallback rules. * * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; try { message = ZZ_ERROR_MSG[errorCode]; } catch (ArrayIndexOutOfBoundsException e) { message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR]; } throw new Error(message); } /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * * @param number the number of characters to be read again. * This number must not be greater than yylength()! */ public void yypushback(int number) { if ( number > yylength() ) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } /** * Resumes scanning until the next regular expression is matched, * the end of input is encountered or an I/O-Error occurs. * * @return the next token * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; int zzAction; // cached fields: int zzCurrentPosL; int zzMarkedPosL; int zzEndReadL = zzEndRead; char [] zzBufferL = zzBuffer; char [] zzCMapL = ZZ_CMAP; int [] zzTransL = ZZ_TRANS; int [] zzRowMapL = ZZ_ROWMAP; int [] zzAttrL = ZZ_ATTRIBUTE; while (true) { zzMarkedPosL = zzMarkedPos; 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: zzAtBOL = false; } } zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; if (zzAtBOL) zzState = ZZ_LEXSTATE[zzLexicalState+1]; else zzState = ZZ_LEXSTATE[zzLexicalState]; zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; else if (zzAtEOF) { zzInput = YYEOF; break zzForAction; } else { // store back cached positions zzCurrentPos = zzCurrentPosL; zzMarkedPos = zzMarkedPosL; boolean eof = zzRefill(); // get translated positions and possibly new buffer zzCurrentPosL = zzCurrentPos; zzMarkedPosL = zzMarkedPos; zzBufferL = zzBuffer; zzEndReadL = zzEndRead; if (eof) { zzInput = YYEOF; break zzForAction; } else { zzInput = zzBufferL[zzCurrentPosL++]; } } int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ]; if (zzNext == -1) break zzForAction; zzState = zzNext; int zzAttributes = zzAttrL[zzState]; if ( (zzAttributes & 1) == 1 ) { zzAction = zzState; zzMarkedPosL = zzCurrentPosL; if ( (zzAttributes & 8) == 8 ) break zzForAction; } } } // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { case 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); } } } } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/AbstractMarkupTokenMaker.java0000644000175000001440000000237112202002500031420 0ustar benusers/* * 10/03/2009 * * AbstractMarkupTokenMaker.java - Base class for token makers for markup * languages. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import org.fife.ui.rsyntaxtextarea.AbstractJFlexTokenMaker; /** * Base class for token makers for markup languages. * * @author Robert Futrell * @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(); /** * Returns the text to place at the beginning and end of a * line to "comment" it in a this programming language. * * @return The start and end strings to add to a line to "comment" * it out. */ @Override public String[] getLineCommentStartAndEnd() { return new String[] { "" }; } /** * Overridden to return true. * * @return true always. */ @Override public final boolean isMarkupLanguage() { return true; } }rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/MxmlTokenMaker.flex0000644000175000001440000006145112202240132027440 0ustar benusers/* * 01/21/2011 * * MxmlTokenMaker.java - Generates tokens for MXML syntax highlighting. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.*; /** * Scanner for MXML. * * 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * 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.
  • *
  • You should NOT call yylex() on the generated scanner * directly; rather, you should use getTokenList as you would * with any other TokenMaker instance.
  • *
* * @author Robert Futrell * @version 0.5 * */ %% %public %class MxmlTokenMaker %extends AbstractMarkupTokenMaker %unicode %type org.fife.ui.rsyntaxtextarea.Token %{ /** * Type specific to JSPTokenMaker denoting a line ending with an unclosed * double-quote attribute. */ public static final int INTERNAL_ATTR_DOUBLE = -1; /** * Type specific to JSPTokenMaker denoting a line ending with an unclosed * single-quote attribute. */ 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. */ 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. */ 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. */ 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. */ 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). */ 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). */ 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. */ public MxmlTokenMaker() { } static { completeCloseTags = true; } /** * 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. */ 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. * @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. */ 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. */ 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. */ @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. * * @return Whether closing markup tags are completed. * @see #setCompleteCloseTags(boolean) */ @Override 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. * * @return Whether closing markup tags are completed. * @see #setCompleteCloseTags(boolean) */ 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. */ 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. * * @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) { resetTokenList(); this.offsetShift = -text.offset + startOffset; // 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; } s = text; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); return new TokenImpl(); } } /** * Sets whether markup close tags should be 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. */ 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. * * 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 */ 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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = zzPushbackPos = s.offset; zzLexicalState = YYINITIAL; zzReader = reader; zzAtBOL = true; zzAtEOF = false; } %} /* XML macros (and some building-block macros used by AS macros). */ Letter = [A-Za-z] NonzeroDigit = [1-9] Digit = ("0"|{NonzeroDigit}) LetterOrUnderscore = ({Letter}|"_") NameStartChar = ({Letter}|[\:]) NameChar = ({NameStartChar}|[\-\.]|{Digit}) TagName = ({NameStartChar}{NameChar}*) Whitespace = ([ \t\f]) LineTerminator = ([\n]) Identifier = ([^ \t\n<&]+) EntityReference = ([&][^; \t]*[;]?) InTagIdentifier = ([^ \t\n\"\'=\/>]+) CDataBegin = ("") /* ActionScript macros. */ HexDigit = ({Digit}|[A-Fa-f]) OctalDigit = ([0-7]) AnyCharacterButApostropheOrBackSlash = ([^\\']) AnyCharacterButDoubleQuoteOrBackSlash = ([^\\\"\n]) EscapedSourceCharacter = ("u"{HexDigit}{HexDigit}{HexDigit}{HexDigit}) Escape = ("\\"(([btnfr\"'\\])|([0123]{OctalDigit}?{OctalDigit}?)|({OctalDigit}{OctalDigit}?)|{EscapedSourceCharacter})) NonSeparator = ([^\t\f\r\n\ \(\)\{\}\[\]\;\,\.\=\>\<\!\~\?\:\+\-\*\/\&\|\^\%\"\']|"#"|"\\") IdentifierStart = ({LetterOrUnderscore}|"$") IdentifierPart = ({IdentifierStart}|{Digit}|("\\"{EscapedSourceCharacter})) AS_CharLiteral = ([\']({AnyCharacterButApostropheOrBackSlash}|{Escape})*[\']) AS_UnclosedCharLiteral = ([\']([\\].|[^\\\'])*[^\']?) AS_ErrorCharLiteral = ({AS_UnclosedCharLiteral}[\']) AS_StringLiteral = ([\"]({AnyCharacterButDoubleQuoteOrBackSlash}|{Escape})*[\"]) AS_UnclosedStringLiteral = ([\"]([\\].|[^\\\"])*[^\"]?) AS_ErrorStringLiteral = ({AS_UnclosedStringLiteral}[\"]) AS_MLCBegin = ("/*") AS_MLCEnd = ("*/") AS_LineCommentBegin = ("//") IntegerHelper1 = (({NonzeroDigit}{Digit}*)|"0") IntegerHelper2 = ("0"(([xX]{HexDigit}+)|({OctalDigit}*))) AS_IntegerLiteral = ({IntegerHelper1}[lL]?) AS_HexLiteral = ({IntegerHelper2}[lL]?) FloatHelper1 = ([fFdD]?) FloatHelper2 = ([eE][+-]?{Digit}+{FloatHelper1}) FloatLiteral1 = ({Digit}+"."({FloatHelper1}|{FloatHelper2}|{Digit}+({FloatHelper1}|{FloatHelper2}))) FloatLiteral2 = ("."{Digit}+({FloatHelper1}|{FloatHelper2})) FloatLiteral3 = ({Digit}+{FloatHelper2}) AS_FloatLiteral = ({FloatLiteral1}|{FloatLiteral2}|{FloatLiteral3}|({Digit}+[fFdD])) AS_ErrorNumberFormat = (({AS_IntegerLiteral}|{AS_HexLiteral}|{AS_FloatLiteral}){NonSeparator}+) AS_BooleanLiteral = ("true"|"false") AS_Separator = ([\(\)\{\}\[\]]) AS_Separator2 = ([\;,.]) NonAssignmentOperator = ("+"|"-"|"<="|"^"|"++"|"<"|"*"|">="|"%"|"--"|">"|"/"|"!="|"?"|">>"|"!"|"&"|"=="|":"|">>"|"~"|"|"|"&&"|">>>") AssignmentOperator = ("="|"-="|"*="|"/="|"|="|"&="|"^="|"+="|"%="|"<<="|">>="|">>>=") AS_Operator = ({NonAssignmentOperator}|{AssignmentOperator}) AS_Identifier = ({IdentifierStart}{IdentifierPart}*) AS_ErrorIdentifier = ({NonSeparator}+) AS_EndScriptTag = ("") URLGenDelim = ([:\/\?#\[\]@]) URLSubDelim = ([\!\$&'\(\)\*\+,;=]) URLUnreserved = ({LetterOrUnderscore}|{Digit}|[\-\.\~]) URLCharacter = ({URLGenDelim}|{URLSubDelim}|{URLUnreserved}|[%]) URLCharacters = ({URLCharacter}*) URLEndCharacter = ([\/\$]|{Letter}|{Digit}) URL = (((https?|f(tp|ile))"://"|"www.")({URLCharacters}{URLEndCharacter})?) %state COMMENT %state PI %state DTD %state INTAG %state INATTR_DOUBLE %state INATTR_SINGLE %state INTAG_SCRIPT %state INATTR_DOUBLE_SCRIPT %state INATTR_SINGLE_SCRIPT %state CDATA %state AS %state AS_MLC %state AS_EOL_COMMENT %% { "" { yybegin(YYINITIAL); addToken(start,zzStartRead+2, Token.MARKUP_COMMENT); } "-" {} <> { addToken(start,zzStartRead-1, Token.MARKUP_COMMENT); return firstToken; } } { [^\n\?]+ {} {LineTerminator} { addToken(start,zzStartRead-1, Token.MARKUP_PROCESSING_INSTRUCTION); return firstToken; } "?>" { yybegin(YYINITIAL); addToken(start,zzStartRead+1, Token.MARKUP_PROCESSING_INSTRUCTION); } "?" {} <> { addToken(start,zzStartRead-1, Token.MARKUP_PROCESSING_INSTRUCTION); return firstToken; } } { [^\n>]+ {} {LineTerminator} { addToken(start,zzStartRead-1, Token.MARKUP_DTD); return firstToken; } ">" { yybegin(YYINITIAL); addToken(start,zzStartRead, Token.MARKUP_DTD); } <> { addToken(start,zzStartRead-1, Token.MARKUP_DTD); return firstToken; } } { {InTagIdentifier} { addToken(Token.MARKUP_TAG_ATTRIBUTE); } {Whitespace}+ { addToken(Token.WHITESPACE); } "=" { addToken(Token.OPERATOR); } "/" { addToken(Token.MARKUP_TAG_DELIMITER); /* Not valid but we'll still accept it */ } "/>" { yybegin(YYINITIAL); addToken(Token.MARKUP_TAG_DELIMITER); } ">" { yybegin(YYINITIAL); addToken(Token.MARKUP_TAG_DELIMITER); } [\"] { start = zzMarkedPos-1; yybegin(INATTR_DOUBLE); } [\'] { start = zzMarkedPos-1; yybegin(INATTR_SINGLE); } <> { addToken(start,zzStartRead-1, INTERNAL_INTAG); return firstToken; } } { [^\"]* {} [\"] { yybegin(INTAG); addToken(start,zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); } <> { addToken(start,zzStartRead-1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); addEndToken(INTERNAL_ATTR_DOUBLE); return firstToken; } } { [^\']* {} [\'] { yybegin(INTAG); addToken(start,zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); } <> { addToken(start,zzStartRead-1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); addEndToken(INTERNAL_ATTR_SINGLE); return firstToken; } } { {InTagIdentifier} { addToken(Token.MARKUP_TAG_ATTRIBUTE); } {Whitespace}+ { addToken(Token.WHITESPACE); } "=" { addToken(Token.OPERATOR); } "/" { addToken(Token.MARKUP_TAG_DELIMITER); /* Not valid but we'll still accept it */ } "/>" { yybegin(YYINITIAL); addToken(Token.MARKUP_TAG_DELIMITER); } ">" { yybegin(AS); addToken(Token.MARKUP_TAG_DELIMITER); } [\"] { start = zzMarkedPos-1; yybegin(INATTR_DOUBLE_SCRIPT); } [\'] { start = zzMarkedPos-1; yybegin(INATTR_SINGLE_SCRIPT); } <> { addToken(start,zzStartRead-1, INTERNAL_INTAG_SCRIPT); return firstToken; } } { [^\"]* {} [\"] { yybegin(INTAG_SCRIPT); addToken(start,zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); } <> { addToken(start,zzStartRead-1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); addEndToken(INTERNAL_ATTR_DOUBLE_QUOTE_SCRIPT); return firstToken; } } { [^\']* {} [\'] { yybegin(INTAG_SCRIPT); addToken(start,zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); } <> { addToken(start,zzStartRead-1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); addEndToken(INTERNAL_ATTR_SINGLE_QUOTE_SCRIPT); return firstToken; } } { [^\]]+ {} {CDataEnd} { int temp=zzStartRead; yybegin(YYINITIAL); addToken(start,zzStartRead-1, Token.MARKUP_CDATA); addToken(temp,zzMarkedPos-1, Token.MARKUP_CDATA_DELIMITER); } "]" {} <> { addToken(start,zzStartRead-1, Token.MARKUP_CDATA); return firstToken; } } { {AS_EndScriptTag} { int origStart = zzStartRead; String text = yytext(); int tagNameEnd = text.length() - 2; // "-1" is '>' while (Character.isWhitespace(text.charAt(tagNameEnd))) { tagNameEnd--; } 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> { addEndToken(INTERNAL_IN_AS); return firstToken; } /* Catch any other (unhandled) characters and flag them as bad. */ . { addToken(Token.ERROR_IDENTIFIER); } } { [^hwf\n\*]+ {} {URL} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_MULTILINE); start = zzMarkedPos; } [hwf] {} \n { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addEndToken(INTERNAL_IN_AS_MLC); return firstToken; } {AS_MLCEnd} { yybegin(AS); addToken(start,zzStartRead+1, Token.COMMENT_MULTILINE); } \* {} <> { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addEndToken(INTERNAL_IN_AS_MLC); return firstToken; } } { [^hwf\n]+ {} {URL} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_EOL); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_EOL); start = zzMarkedPos; } [hwf] {} \n | <> { addToken(start,zzStartRead-1, Token.COMMENT_EOL); addEndToken(INTERNAL_IN_AS); return firstToken; } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/MxmlTokenMaker.java0000644000175000001440000033661012202002502027422 0ustar benusers/* The following code was generated by JFlex 1.4.1 on 3/22/13 7:36 PM */ /* * 01/21/2011 * * MxmlTokenMaker.java - Generates tokens for MXML syntax highlighting. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.*; /** * Scanner for MXML. * * 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * 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.
  • *
  • You should NOT call yylex() on the generated scanner * directly; rather, you should use getTokenList as you would * with any other TokenMaker instance.
  • *
* * @author Robert Futrell * @version 0.5 * */ public class MxmlTokenMaker extends AbstractMarkupTokenMaker { /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ public static final int AS_EOL_COMMENT = 13; public static final int AS_MLC = 12; public static final int INTAG_SCRIPT = 7; public static final int INATTR_DOUBLE_SCRIPT = 8; public static final int CDATA = 10; public static final int INATTR_SINGLE_SCRIPT = 9; public static final int DTD = 3; public static final int INATTR_SINGLE = 6; public static final int INATTR_DOUBLE = 5; public static final int YYINITIAL = 0; public static final int AS = 11; public static final int INTAG = 4; public static final int COMMENT = 1; public static final int PI = 2; /** * Translates characters to character classes */ 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\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"; /** * Translates characters to character classes */ private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED); /** * Translates DFA states to action switch labels. */ private static final int [] ZZ_ACTION = zzUnpackAction(); private static final String ZZ_ACTION_PACKED_0 = "\5\0\2\1\1\0\2\1\4\0\2\2\1\3\1\4"+ "\1\5\1\6\1\1\1\7\2\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\1\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\1\54\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\1\26\3\0\2\2\1\32"+ "\1\62\1\32\1\33\10\2\1\26\1\63\6\2\1\0"+ "\1\64\13\2\1\65\3\2\1\65\36\2\2\0\1\66"+ "\2\0\1\67\1\0\1\26\2\0\1\2\1\32\1\33"+ "\7\2\1\26\5\2\1\47\1\0\26\2\1\65\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\65\1\2\1\47\21\2\1\70"+ "\1\0\1\71\4\2\1\65\40\2"; private static int [] zzUnpackAction() { int [] result = new int[608]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } private static int zzUnpackAction(String packed, int offset, int [] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } 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\124\0\250\0\374\0\u0150\0\u01a4\0\u01f8\0\u024c"+ "\0\u02a0\0\u02f4\0\u0348\0\u039c\0\u03f0\0\u0444\0\u0498\0\u04ec"+ "\0\u0540\0\u0594\0\u05e8\0\u063c\0\u0690\0\u0540\0\u06e4\0\u0738"+ "\0\u0540\0\u078c\0\u07e0\0\u0540\0\u0540\0\u0834\0\u0888\0\u0540"+ "\0\u0540\0\u0540\0\u0540\0\u08dc\0\u0930\0\u0540\0\u0984\0\u0540"+ "\0\u0540\0\u0540\0\u0540\0\u09d8\0\u0a2c\0\u0a80\0\u0ad4\0\u0b28"+ "\0\u0b7c\0\u0bd0\0\u0540\0\u0c24\0\u0c78\0\u0540\0\u0ccc\0\u0540"+ "\0\u0d20\0\u0d74\0\u0dc8\0\u0e1c\0\u0e70\0\u0ec4\0\u0f18\0\u0f6c"+ "\0\u0fc0\0\u1014\0\u1068\0\u0540\0\u10bc\0\u1110\0\u1164\0\u11b8"+ "\0\u120c\0\u1260\0\u12b4\0\u1308\0\u135c\0\u13b0\0\u1404\0\u1458"+ "\0\u14ac\0\u1500\0\u1554\0\u15a8\0\u15fc\0\u1650\0\u16a4\0\u16f8"+ "\0\u174c\0\u17a0\0\u17f4\0\u1848\0\u189c\0\u18f0\0\u1944\0\u1998"+ "\0\u19ec\0\u0540\0\u1a40\0\u1a94\0\u1ae8\0\u1b3c\0\u1b90\0\u0540"+ "\0\u1be4\0\u1c38\0\u1c8c\0\u1ce0\0\u1d34\0\u1d88\0\u0540\0\u0540"+ "\0\u1ddc\0\u0540\0\u1e30\0\u1e84\0\u1ed8\0\u1f2c\0\u1ed8\0\u1ed8"+ "\0\u1f80\0\u1fd4\0\u2028\0\u207c\0\u0ccc\0\u20d0\0\u2124\0\u2178"+ "\0\u21cc\0\u2220\0\u2274\0\u22c8\0\u231c\0\u2370\0\u0540\0\u23c4"+ "\0\u2418\0\u0540\0\u246c\0\u24c0\0\u2514\0\u2568\0\u25bc\0\u2610"+ "\0\u2664\0\u26b8\0\u270c\0\u2760\0\u0540\0\u27b4\0\u2808\0\u285c"+ "\0\u28b0\0\u2904\0\u2958\0\u29ac\0\u2a00\0\u2a54\0\u2aa8\0\u2afc"+ "\0\u2b50\0\u2ba4\0\u2bf8\0\u2c4c\0\u2ca0\0\u2cf4\0\u2d48\0\u0ad4"+ "\0\u2d9c\0\u2df0\0\u2e44\0\u2e98\0\u2eec\0\u2f40\0\u2f94\0\u2fe8"+ "\0\u303c\0\u3090\0\u30e4\0\u3138\0\u318c\0\u31e0\0\u3234\0\u3288"+ "\0\u32dc\0\u3330\0\u3384\0\u33d8\0\u342c\0\u3480\0\u34d4\0\u3528"+ "\0\u357c\0\u35d0\0\u3624\0\u3678\0\u36cc\0\u3720\0\u3774\0\u37c8"+ "\0\u381c\0\u3870\0\u38c4\0\u3918\0\u396c\0\u39c0\0\u3a14\0\u3a68"+ "\0\u3abc\0\u0540\0\u3b10\0\u3b64\0\u3bb8\0\u3c0c\0\u3c60\0\u3cb4"+ "\0\u3d08\0\u3d5c\0\u3db0\0\u3e04\0\u3e58\0\u0540\0\u0540\0\u3eac"+ "\0\u3f00\0\u3f54\0\u1ed8\0\u3fa8\0\u3ffc\0\u4050\0\u40a4\0\u40f8"+ "\0\u414c\0\u41a0\0\u0540\0\u41f4\0\u4248\0\u429c\0\u42f0\0\u0540"+ "\0\u4344\0\u4398\0\u43ec\0\u4440\0\u4494\0\u44e8\0\u453c\0\u4590"+ "\0\u45e4\0\u4638\0\u468c\0\u46e0\0\u4734\0\u4788\0\u47dc\0\u4830"+ "\0\u4884\0\u48d8\0\u492c\0\u4980\0\u49d4\0\u4a28\0\u4a7c\0\u4ad0"+ "\0\u4b24\0\u4b78\0\u4bcc\0\u4c20\0\u4c74\0\u4cc8\0\u4d1c\0\u4d70"+ "\0\u4dc4\0\u4e18\0\u4e6c\0\u4ec0\0\u4f14\0\u4f68\0\u4fbc\0\u5010"+ "\0\u5064\0\u50b8\0\u510c\0\u5160\0\u51b4\0\u5208\0\u525c\0\u52b0"+ "\0\u5304\0\u5358\0\u53ac\0\u5400\0\u5454\0\u54a8\0\u54fc\0\u5550"+ "\0\u55a4\0\u55f8\0\u564c\0\u56a0\0\u56f4\0\u5748\0\u579c\0\u57f0"+ "\0\u5844\0\u5898\0\u58ec\0\u5940\0\u5994\0\u59e8\0\u5a3c\0\u5a90"+ "\0\u0ad4\0\u5ae4\0\u5b38\0\u5b8c\0\u5be0\0\u5c34\0\u5c88\0\u5cdc"+ "\0\u5d30\0\u5d84\0\u5dd8\0\u5e2c\0\u5e80\0\u5ed4\0\u5f28\0\u5f7c"+ "\0\u5fd0\0\u0540\0\u6024\0\u6078\0\u60cc\0\u6120\0\u6174\0\u61c8"+ "\0\u621c\0\u0540\0\u6270\0\u62c4\0\u6318\0\u636c\0\u63c0\0\u6414"+ "\0\u6468\0\u64bc\0\u6510\0\u6564\0\u65b8\0\u0540\0\u660c\0\u6660"+ "\0\u66b4\0\u6708\0\u675c\0\u67b0\0\u6804\0\u0ad4\0\u6858\0\u68ac"+ "\0\u6900\0\u6954\0\u69a8\0\u69fc\0\u6a50\0\u6aa4\0\u6af8\0\u6b4c"+ "\0\u6ba0\0\u0ad4\0\u6bf4\0\u6c48\0\u6c9c\0\u6cf0\0\u6d44\0\u6d98"+ "\0\u6dec\0\u6e40\0\u6e94\0\u6ee8\0\u6f3c\0\u6f90\0\u6fe4\0\u7038"+ "\0\u708c\0\u70e0\0\u7134\0\u7188\0\u71dc\0\u7230\0\u7284\0\u72d8"+ "\0\u732c\0\u7380\0\u73d4\0\u7428\0\u747c\0\u74d0\0\u7524\0\u7578"+ "\0\u75cc\0\u7620\0\u7674\0\u76c8\0\u771c\0\u7770\0\u77c4\0\u7818"+ "\0\u786c\0\u78c0\0\u7914\0\u7968\0\u79bc\0\u7a10\0\u7a64\0\u7ab8"+ "\0\u7b0c\0\u7b60\0\u7bb4\0\u7c08\0\u7c5c\0\u7cb0\0\u7d04\0\u7d58"+ "\0\u7dac\0\u7e00\0\u7e54\0\u7ea8\0\u7efc\0\u7f50\0\u7fa4\0\u7ff8"+ "\0\u804c\0\u80a0\0\u80f4\0\u8148\0\u819c\0\u81f0\0\u8244\0\u8298"+ "\0\u82ec\0\u8340\0\u8394\0\u83e8\0\u843c\0\u8490\0\u84e4\0\u8538"+ "\0\u858c\0\u85e0\0\u8634\0\u8688\0\u86dc\0\u8730\0\u8784\0\u87d8"+ "\0\u882c\0\u8880\0\u88d4\0\u8928\0\u897c\0\u89d0\0\u8a24\0\u8a78"+ "\0\u8acc\0\u8b20\0\u8b74\0\u77c4\0\u8bc8\0\u78c0\0\u8c1c\0\u8c70"+ "\0\u8cc4\0\u8d18\0\u8d6c\0\u8dc0\0\u8e14\0\u8e68\0\u8ebc\0\u8f10"+ "\0\u8f64\0\u8fb8\0\u900c\0\u9060\0\u90b4\0\u9108\0\u915c\0\u91b0"+ "\0\u9204\0\u9258\0\u92ac\0\u9300\0\u9354\0\u93a8\0\u93fc\0\u9450"+ "\0\u94a4\0\u94f8\0\u954c\0\u95a0\0\u95f4\0\u9648\0\u969c\0\u96f0"+ "\0\u9744\0\u9798\0\u97ec\0\u9840\0\u9894\0\u98e8\0\u993c\0\u9990"+ "\0\u99e4\0\u9a38\0\u9a8c\0\u9ae0\0\u9b34\0\u9b88\0\u9bdc\0\u9c30"+ "\0\u9c84\0\u9cd8\0\u9d2c\0\u9d80\0\u9dd4\0\u9e28\0\u9e7c\0\u9ed0"+ "\0\u9f24\0\u9f78\0\u9fcc\0\ua020\0\ua074\0\ua0c8\0\ua11c\0\ua170"+ "\0\ua1c4\0\ua218\0\ua26c\0\ua2c0\0\ua314\0\ua368\0\ua3bc\0\ua410"+ "\0\ua464\0\ua4b8\0\ua50c\0\ua560\0\u0a80\0\ua5b4\0\u0540\0\ua608"+ "\0\ua65c\0\ua6b0\0\ua704\0\ua758\0\ua7ac\0\ua800\0\ua854\0\ua8a8"+ "\0\ua8fc\0\ua950\0\ua9a4\0\ua9f8\0\uaa4c\0\uaaa0\0\uaaf4\0\uab48"+ "\0\u0540\0\uab9c\0\u0540\0\uabf0\0\uac44\0\uac98\0\uacec\0\uad40"+ "\0\uad94\0\uade8\0\uae3c\0\uae90\0\uaee4\0\uaf38\0\uaf8c\0\uafe0"+ "\0\ub034\0\ub088\0\ub0dc\0\ub130\0\ub184\0\ub1d8\0\ub22c\0\ub280"+ "\0\ub2d4\0\ub328\0\ub37c\0\ub3d0\0\ub424\0\ub478\0\ub4cc\0\ub520"+ "\0\ub574\0\ub5c8\0\ub61c\0\ub670\0\ub6c4\0\ub718\0\ub76c\0\ub7c0"; private static int [] zzUnpackRowMap() { int [] result = new int[608]; int offset = 0; offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result); return result; } private static int zzUnpackRowMap(String packed, int offset, int [] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ int l = packed.length(); while (i < l) { int high = packed.charAt(i++) << 16; result[j++] = high | packed.charAt(i++); } return j; } /** * The transition table of the DFA */ private static final int [] ZZ_TRANS = zzUnpackTrans(); private static final String ZZ_TRANS_PACKED_0 = "\7\17\1\20\1\21\1\22\1\23\1\24\71\17\1\23"+ "\16\17\10\25\1\26\37\25\1\27\53\25\10\30\1\31"+ "\53\30\1\32\37\30\10\33\1\34\14\33\1\35\76\33"+ "\7\36\1\37\1\0\1\36\1\23\2\36\1\40\7\36"+ "\1\41\3\36\1\42\1\43\6\36\1\44\43\36\1\23"+ "\16\36\32\45\1\46\71\45\31\47\1\46\72\47\7\36"+ "\1\37\1\0\1\36\1\23\2\36\1\40\7\36\1\50"+ "\3\36\1\51\1\52\6\36\1\44\43\36\1\23\16\36"+ "\32\45\1\53\71\45\31\47\1\53\72\47\24\54\1\55"+ "\77\54\1\56\1\57\1\60\1\61\1\57\1\40\1\62"+ "\1\23\1\63\1\64\1\23\1\65\1\66\2\67\1\70"+ "\1\71\1\72\1\73\1\57\1\74\1\75\1\76\1\60"+ "\1\56\1\77\1\100\1\101\1\102\1\103\1\104\1\105"+ "\1\57\1\106\1\67\1\107\1\57\1\110\1\111\1\57"+ "\1\112\1\113\1\114\1\115\1\116\1\117\1\120\1\121"+ "\1\70\1\66\2\67\2\40\1\122\1\123\1\124\1\125"+ "\1\56\1\70\1\57\1\126\1\127\1\57\1\130\1\57"+ "\1\131\2\57\1\23\1\132\1\133\1\134\1\135\1\136"+ "\1\137\1\57\1\140\6\57\10\141\1\142\31\141\1\143"+ "\3\141\1\144\25\141\1\145\1\146\26\141\10\147\1\150"+ "\35\147\1\151\25\147\1\152\1\153\26\147\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\154\3\0\1\154\10\0\1\155"+ "\1\0\4\154\2\0\1\154\4\0\3\154\3\0\1\156"+ "\1\0\5\154\2\0\6\154\4\0\1\157\1\0\4\154"+ "\2\0\11\154\1\0\16\154\7\0\1\23\2\0\1\23"+ "\72\0\1\23\16\0\12\24\1\0\1\24\1\160\70\24"+ "\1\0\16\24\10\25\1\0\37\25\1\0\53\25\50\0"+ "\1\161\53\0\10\30\1\0\53\30\1\0\37\30\25\0"+ "\1\162\76\0\10\33\1\0\14\33\1\0\76\33\10\36"+ "\1\0\1\36\1\0\2\36\1\0\7\36\1\0\3\36"+ "\2\0\6\36\1\0\43\36\1\0\25\36\1\37\1\0"+ "\1\36\1\23\2\36\1\0\7\36\1\0\3\36\2\0"+ "\6\36\1\0\43\36\1\23\16\36\25\0\1\41\76\0"+ "\32\45\1\0\71\45\31\47\1\0\72\47\24\54\1\0"+ "\77\54\24\0\1\163\77\0\5\56\13\0\4\56\2\0"+ "\3\56\2\0\3\56\1\0\2\56\2\0\5\56\2\0"+ "\6\56\6\0\5\56\1\0\11\56\1\0\17\56\4\57"+ "\13\0\4\57\2\0\2\57\1\164\2\0\3\57\1\0"+ "\1\56\1\57\2\0\5\57\2\0\6\57\6\0\4\57"+ "\1\56\1\0\11\57\1\0\16\57\2\165\2\60\1\165"+ "\1\0\1\166\11\0\1\165\1\167\2\165\2\0\1\165"+ "\1\60\1\165\2\0\3\165\1\0\2\165\2\0\1\165"+ "\1\170\2\167\1\171\2\0\2\165\1\171\1\165\1\170"+ "\1\165\6\0\5\165\1\0\2\165\1\167\6\165\1\0"+ "\20\165\1\172\1\173\1\165\1\0\1\166\11\0\1\165"+ "\1\167\2\165\2\0\1\165\1\173\1\165\2\0\3\165"+ "\1\0\2\165\2\0\1\174\1\170\2\167\1\171\2\0"+ "\2\165\1\171\1\165\1\170\1\165\6\0\5\165\1\0"+ "\2\165\1\167\5\165\1\174\1\0\16\165\2\0\2\166"+ "\23\0\1\166\105\0\1\175\3\0\1\40\1\176\22\0"+ "\1\177\75\0\1\40\1\0\1\40\123\0\1\40\106\0"+ "\1\56\4\57\13\0\4\57\2\0\2\57\1\164\2\0"+ "\3\57\1\0\1\56\1\57\2\0\5\57\2\0\6\57"+ "\6\0\4\57\1\56\1\0\4\57\1\200\4\57\1\0"+ "\16\57\1\56\4\57\13\0\4\57\2\0\2\57\1\164"+ "\2\0\3\57\1\0\1\56\1\57\2\0\5\57\2\0"+ "\3\57\1\201\2\57\6\0\4\57\1\56\1\0\11\57"+ "\1\0\16\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\3\57\1\0\1\56\1\57\2\0\5\57"+ "\2\0\1\57\1\202\4\57\6\0\4\57\1\56\1\0"+ "\11\57\1\0\16\57\24\0\1\203\114\0\1\40\7\0"+ "\1\204\76\0\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\3\57\1\0\1\56\1\57\2\0\5\57"+ "\2\0\6\57\6\0\4\57\1\56\1\0\4\57\1\205"+ "\4\57\1\0\16\57\30\77\1\206\1\207\72\77\10\100"+ "\1\210\17\100\1\211\1\100\1\212\71\100\1\56\4\57"+ "\13\0\4\57\2\0\2\57\1\164\2\0\1\57\1\213"+ "\1\57\1\0\1\56\1\57\2\0\5\57\2\0\5\57"+ "\1\214\6\0\2\57\1\215\1\216\1\56\1\0\11\57"+ "\1\0\16\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\1\217\2\57\1\0\1\56\1\57\2\0"+ "\5\57\2\0\2\57\1\220\1\221\2\57\6\0\4\57"+ "\1\56\1\0\4\57\1\222\4\57\1\0\16\57\1\56"+ "\4\57\13\0\4\57\2\0\2\57\1\164\2\0\3\57"+ "\1\0\1\56\1\57\2\0\5\57\2\0\1\57\1\223"+ "\4\57\6\0\4\57\1\56\1\0\11\57\1\0\16\57"+ "\5\56\13\0\4\56\2\0\3\56\2\0\3\56\1\0"+ "\2\56\2\0\5\56\2\0\6\56\6\0\2\56\1\224"+ "\2\56\1\0\11\56\1\0\16\56\15\0\1\40\23\0"+ "\1\225\1\226\61\0\1\56\4\57\13\0\4\57\2\0"+ "\2\57\1\164\2\0\3\57\1\0\1\56\1\57\2\0"+ "\5\57\2\0\6\57\6\0\4\57\1\56\1\0\11\57"+ "\1\0\3\57\1\227\12\57\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\1\230\2\57\1\0\1\56"+ "\1\57\2\0\5\57\2\0\6\57\6\0\4\57\1\56"+ "\1\0\11\57\1\0\16\57\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\1\231\2\57\1\0\1\56"+ "\1\57\2\0\5\57\2\0\3\57\1\232\1\57\1\233"+ "\6\0\2\57\1\234\1\57\1\56\1\0\4\57\1\235"+ "\4\57\1\0\16\57\15\0\1\40\32\0\1\40\70\0"+ "\1\40\33\0\1\40\52\0\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\3\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\1\57\1\236\1\237\1\240\2\57"+ "\6\0\4\57\1\56\1\0\1\241\3\57\1\242\1\243"+ "\3\57\1\0\16\57\1\56\4\57\13\0\4\57\2\0"+ "\2\57\1\164\2\0\3\57\1\0\1\56\1\57\2\0"+ "\5\57\2\0\2\57\1\244\1\245\2\57\6\0\4\57"+ "\1\56\1\0\11\57\1\0\16\57\1\56\4\57\13\0"+ "\4\57\2\0\2\57\1\164\2\0\3\57\1\0\1\56"+ "\1\57\2\0\5\57\2\0\4\57\1\246\1\247\6\0"+ "\4\57\1\56\1\0\7\57\1\250\1\251\1\0\1\57"+ "\1\252\14\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\1\57\1\253\1\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\6\57\6\0\4\57\1\56\1\0"+ "\2\57\1\253\6\57\1\0\16\57\1\56\4\57\13\0"+ "\4\57\2\0\2\57\1\164\2\0\3\57\1\0\1\56"+ "\1\57\2\0\5\57\2\0\1\250\1\57\1\250\1\254"+ "\2\57\6\0\4\57\1\56\1\0\4\57\1\255\4\57"+ "\1\0\16\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\1\256\2\57\1\0\1\56\1\57\2\0"+ "\5\57\2\0\1\257\1\57\1\260\3\57\6\0\1\57"+ "\1\261\2\57\1\56\1\0\1\57\1\262\7\57\1\0"+ "\16\57\1\56\4\57\13\0\4\57\2\0\2\57\1\164"+ "\2\0\3\57\1\0\1\56\1\57\2\0\5\57\2\0"+ "\1\263\1\57\1\264\3\57\6\0\4\57\1\56\1\0"+ "\4\57\1\265\4\57\1\0\16\57\1\56\4\57\13\0"+ "\4\57\2\0\2\57\1\164\2\0\3\57\1\0\1\56"+ "\1\57\2\0\5\57\2\0\3\57\1\266\1\267\1\57"+ "\6\0\4\57\1\56\1\0\4\57\1\270\4\57\1\0"+ "\16\57\1\56\4\57\13\0\4\57\2\0\2\57\1\164"+ "\2\0\1\57\1\271\1\57\1\0\1\56\1\57\2\0"+ "\3\57\1\272\1\57\2\0\5\57\1\273\6\0\4\57"+ "\1\56\1\0\6\57\1\274\2\57\1\0\16\57\1\56"+ "\4\57\13\0\4\57\2\0\2\57\1\164\2\0\1\275"+ "\2\57\1\0\1\56\1\57\2\0\5\57\2\0\1\57"+ "\1\276\1\57\1\277\1\300\1\57\6\0\4\57\1\56"+ "\1\0\11\57\1\0\16\57\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\3\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\6\57\6\0\2\57\1\301\1\57"+ "\1\56\1\0\1\302\10\57\1\0\16\57\1\56\4\57"+ "\13\0\4\57\2\0\2\57\1\164\2\0\3\57\1\0"+ "\1\56\1\57\2\0\5\57\2\0\2\57\1\303\3\57"+ "\6\0\4\57\1\56\1\0\4\57\1\250\1\304\3\57"+ "\1\0\16\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\1\57\1\305\1\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\1\57\1\250\4\57\6\0\4\57"+ "\1\56\1\0\11\57\1\0\1\57\1\306\14\57\1\56"+ "\4\57\13\0\4\57\2\0\2\57\1\164\2\0\3\57"+ "\1\0\1\56\1\57\2\0\5\57\2\0\3\57\1\307"+ "\2\57\6\0\4\57\1\56\1\0\11\57\1\0\16\57"+ "\1\56\4\57\13\0\4\57\2\0\2\57\1\164\2\0"+ "\3\57\1\0\1\56\1\57\2\0\5\57\2\0\1\250"+ "\1\57\1\310\3\57\6\0\4\57\1\56\1\0\4\57"+ "\1\311\4\57\1\0\16\57\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\3\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\3\57\1\312\2\57\6\0\4\57"+ "\1\56\1\0\4\57\1\313\4\57\1\0\16\57\1\56"+ "\4\57\13\0\4\57\2\0\2\57\1\164\2\0\3\57"+ "\1\0\1\56\1\57\2\0\5\57\2\0\2\57\1\314"+ "\3\57\6\0\4\57\1\56\1\0\11\57\1\0\16\57"+ "\1\56\4\57\13\0\4\57\2\0\2\57\1\164\2\0"+ "\3\57\1\0\1\56\1\57\2\0\5\57\2\0\3\57"+ "\1\315\2\57\6\0\4\57\1\56\1\0\4\57\1\316"+ "\4\57\1\0\16\57\1\56\4\57\13\0\4\57\2\0"+ "\2\57\1\164\2\0\1\317\2\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\6\57\6\0\4\57\1\56\1\0"+ "\11\57\1\0\16\57\1\56\4\57\13\0\4\57\2\0"+ "\2\57\1\164\2\0\2\57\1\320\1\0\1\56\1\57"+ "\2\0\5\57\2\0\6\57\6\0\4\57\1\56\1\0"+ "\11\57\1\0\16\57\1\56\4\57\13\0\4\57\2\0"+ "\2\57\1\164\2\0\3\57\1\0\1\56\1\57\2\0"+ "\5\57\2\0\2\57\1\321\3\57\6\0\4\57\1\56"+ "\1\0\11\57\1\0\16\57\10\141\1\0\31\141\1\0"+ "\3\141\1\0\25\141\2\0\26\141\41\0\1\322\134\0"+ "\1\323\15\0\1\324\105\0\1\325\146\0\1\326\26\0"+ "\10\147\1\0\35\147\1\0\25\147\2\0\26\147\52\0"+ "\1\327\15\0\1\330\105\0\1\331\146\0\1\332\27\0"+ "\3\154\1\0\2\154\11\0\4\154\2\0\2\154\3\0"+ "\3\154\5\0\6\154\1\0\6\154\6\0\4\154\2\0"+ "\11\154\1\0\16\154\17\0\1\333\30\0\1\334\54\0"+ "\1\335\3\0\1\335\12\0\4\335\2\0\1\335\4\0"+ "\3\335\5\0\5\335\2\0\6\335\6\0\4\335\2\0"+ "\11\335\1\0\16\335\25\0\1\336\123\0\1\337\76\0"+ "\5\56\13\0\4\56\2\0\3\56\2\0\1\340\2\56"+ "\1\0\2\56\2\0\5\56\2\0\6\56\6\0\5\56"+ "\1\0\11\56\1\0\16\56\5\165\13\0\4\165\2\0"+ "\3\165\2\0\3\165\1\0\2\165\2\0\5\165\2\0"+ "\6\165\6\0\5\165\1\0\11\165\1\0\20\165\2\166"+ "\1\165\13\0\1\165\1\167\2\165\2\0\1\165\1\166"+ "\1\165\2\0\3\165\1\0\2\165\2\0\2\165\2\167"+ "\1\171\2\0\2\165\1\171\3\165\6\0\5\165\1\0"+ "\2\165\1\167\6\165\1\0\20\165\2\341\1\165\13\0"+ "\4\165\2\0\1\165\1\341\1\165\2\0\3\165\1\0"+ "\2\165\2\0\5\165\2\342\6\165\6\0\5\165\1\0"+ "\11\165\1\0\20\165\2\172\1\165\1\0\1\166\11\0"+ "\1\165\1\167\2\165\2\0\1\165\1\172\1\165\2\0"+ "\3\165\1\0\2\165\2\0\2\165\2\167\1\171\2\0"+ "\2\165\1\171\3\165\6\0\5\165\1\0\2\165\1\167"+ "\6\165\1\0\20\165\1\172\1\173\1\165\1\0\1\166"+ "\11\0\1\165\1\167\2\165\2\0\1\165\1\173\1\165"+ "\2\0\3\165\1\0\2\165\2\0\1\165\1\343\2\167"+ "\1\171\2\0\2\165\1\171\1\165\1\343\1\165\6\0"+ "\5\165\1\0\2\165\1\167\6\165\1\0\20\165\2\344"+ "\1\165\13\0\3\344\1\165\2\0\2\344\1\165\2\0"+ "\2\165\1\344\1\0\2\165\2\0\2\165\3\344\2\0"+ "\2\165\2\344\2\165\6\0\1\165\1\344\3\165\1\0"+ "\2\165\1\344\6\165\1\0\16\165\17\0\1\345\105\0"+ "\1\346\3\0\1\346\12\0\4\346\2\0\1\346\4\0"+ "\3\346\5\0\5\346\2\0\6\346\6\0\1\347\3\346"+ "\2\0\11\346\1\0\16\346\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\3\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\4\57\1\350\1\57\6\0\4\57"+ "\1\56\1\0\11\57\1\0\16\57\1\56\4\57\13\0"+ "\4\57\2\0\2\57\1\164\2\0\3\57\1\0\1\56"+ "\1\57\2\0\5\57\2\0\1\351\5\57\6\0\4\57"+ "\1\56\1\0\11\57\1\0\16\57\1\56\4\57\13\0"+ "\4\57\2\0\2\57\1\164\2\0\3\57\1\0\1\56"+ "\1\57\2\0\5\57\2\0\1\57\1\352\4\57\6\0"+ "\4\57\1\56\1\0\11\57\1\0\16\57\25\0\1\353"+ "\113\0\1\40\7\0\1\67\76\0\1\56\4\57\13\0"+ "\4\57\2\0\2\57\1\164\2\0\3\57\1\0\1\56"+ "\1\57\2\0\5\57\2\0\6\57\6\0\4\57\1\56"+ "\1\0\4\57\1\354\4\57\1\0\16\57\3\355\1\77"+ "\4\355\1\0\16\355\4\77\1\356\2\77\10\355\1\77"+ "\3\355\2\77\50\355\30\210\1\357\1\210\1\360\74\210"+ "\1\100\4\210\1\0\16\210\4\100\1\361\2\100\10\210"+ "\1\100\3\210\2\100\50\210\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\3\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\2\57\1\362\1\57\1\363\1\57"+ "\6\0\4\57\1\56\1\0\2\57\1\364\6\57\1\0"+ "\16\57\1\56\4\57\13\0\4\57\2\0\2\57\1\164"+ "\2\0\3\57\1\0\1\56\1\57\2\0\5\57\2\0"+ "\2\57\1\250\3\57\6\0\4\57\1\56\1\0\11\57"+ "\1\0\16\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\1\57\1\365\1\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\6\57\6\0\4\57\1\56\1\0"+ "\11\57\1\0\16\57\1\56\4\57\13\0\4\57\2\0"+ "\2\57\1\164\2\0\3\57\1\0\1\56\1\57\2\0"+ "\5\57\2\0\6\57\6\0\4\57\1\56\1\0\2\57"+ "\1\366\6\57\1\0\16\57\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\3\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\4\57\1\367\1\57\6\0\4\57"+ "\1\56\1\0\11\57\1\0\16\57\1\56\4\57\13\0"+ "\4\57\2\0\2\57\1\164\2\0\3\57\1\0\1\56"+ "\1\57\2\0\5\57\2\0\6\57\6\0\4\57\1\56"+ "\1\0\1\57\1\370\6\57\1\371\1\0\16\57\1\56"+ "\4\57\13\0\4\57\2\0\2\57\1\164\2\0\3\57"+ "\1\0\1\56\1\57\2\0\5\57\2\0\1\372\5\57"+ "\6\0\4\57\1\56\1\0\6\57\1\373\2\57\1\0"+ "\16\57\1\56\4\57\13\0\4\57\2\0\2\57\1\164"+ "\2\0\3\57\1\0\1\56\1\57\2\0\5\57\2\0"+ "\1\250\5\57\6\0\4\57\1\56\1\0\11\57\1\0"+ "\16\57\1\56\4\57\13\0\4\57\2\0\2\57\1\164"+ "\2\0\3\57\1\0\1\56\1\57\2\0\5\57\2\0"+ "\2\57\1\374\3\57\6\0\4\57\1\56\1\0\11\57"+ "\1\0\16\57\5\56\13\0\4\56\2\0\3\56\2\0"+ "\1\56\1\375\1\56\1\0\2\56\2\0\5\56\2\0"+ "\6\56\6\0\5\56\1\0\11\56\1\0\16\56\42\0"+ "\1\376\61\0\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\3\57\1\0\1\56\1\57\2\0\1\57"+ "\1\377\3\57\2\0\6\57\6\0\4\57\1\56\1\0"+ "\11\57\1\0\16\57\1\56\4\57\13\0\4\57\2\0"+ "\2\57\1\164\2\0\1\57\1\u0100\1\57\1\0\1\56"+ "\1\57\2\0\5\57\2\0\6\57\6\0\4\57\1\56"+ "\1\0\11\57\1\0\16\57\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\1\57\1\u0101\1\57\1\0"+ "\1\56\1\57\2\0\5\57\2\0\6\57\6\0\4\57"+ "\1\56\1\0\11\57\1\0\16\57\1\56\4\57\13\0"+ "\4\57\2\0\2\57\1\164\2\0\3\57\1\0\1\56"+ "\1\57\2\0\5\57\2\0\4\57\1\u0102\1\57\6\0"+ "\4\57\1\56\1\0\11\57\1\0\16\57\1\56\4\57"+ "\13\0\4\57\2\0\2\57\1\164\2\0\3\57\1\0"+ "\1\56\1\57\2\0\5\57\2\0\6\57\6\0\1\57"+ "\1\u0103\2\57\1\56\1\0\11\57\1\0\16\57\1\56"+ "\4\57\13\0\4\57\2\0\2\57\1\164\2\0\1\57"+ "\1\u0104\1\57\1\0\1\56\1\57\2\0\5\57\2\0"+ "\6\57\6\0\4\57\1\56\1\0\11\57\1\0\16\57"+ "\1\56\4\57\13\0\4\57\2\0\2\57\1\164\2\0"+ "\3\57\1\0\1\56\1\57\2\0\5\57\2\0\1\57"+ "\1\u0105\4\57\6\0\4\57\1\56\1\0\11\57\1\0"+ "\16\57\1\56\4\57\13\0\4\57\2\0\2\57\1\164"+ "\2\0\1\u0106\2\57\1\0\1\56\1\57\2\0\5\57"+ "\2\0\3\57\1\u0107\2\57\6\0\4\57\1\56\1\0"+ "\5\57\1\250\3\57\1\0\16\57\1\56\4\57\13\0"+ "\4\57\2\0\2\57\1\164\2\0\3\57\1\0\1\56"+ "\1\57\2\0\5\57\2\0\4\57\1\u0108\1\57\6\0"+ "\4\57\1\56\1\0\11\57\1\0\16\57\1\56\4\57"+ "\13\0\4\57\2\0\2\57\1\164\2\0\3\57\1\0"+ "\1\56\1\57\2\0\5\57\2\0\1\57\1\u0109\4\57"+ "\6\0\4\57\1\56\1\0\11\57\1\0\16\57\1\56"+ "\4\57\13\0\4\57\2\0\2\57\1\164\2\0\3\57"+ "\1\0\1\56\1\57\2\0\5\57\2\0\1\57\1\u010a"+ "\4\57\6\0\2\57\1\u010b\1\57\1\56\1\0\11\57"+ "\1\0\16\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\3\57\1\0\1\56\1\57\2\0\5\57"+ "\2\0\6\57\6\0\4\57\1\56\1\0\11\57\1\0"+ "\1\u010c\15\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\3\57\1\0\1\56\1\57\2\0\5\57"+ "\2\0\6\57\6\0\3\57\1\u010d\1\56\1\0\11\57"+ "\1\0\16\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\3\57\1\0\1\56\1\57\2\0\5\57"+ "\2\0\1\u010e\5\57\6\0\4\57\1\56\1\0\6\57"+ "\1\u010f\2\57\1\0\16\57\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\1\57\1\u0110\1\57\1\0"+ "\1\56\1\57\2\0\5\57\2\0\6\57\6\0\4\57"+ "\1\56\1\0\11\57\1\0\16\57\1\56\4\57\13\0"+ "\4\57\2\0\2\57\1\164\2\0\3\57\1\0\1\56"+ "\1\57\2\0\5\57\2\0\5\57\1\214\6\0\4\57"+ "\1\56\1\0\11\57\1\0\16\57\1\56\4\57\13\0"+ "\4\57\2\0\2\57\1\164\2\0\3\57\1\0\1\56"+ "\1\57\2\0\5\57\2\0\6\57\6\0\1\57\1\u0111"+ "\2\57\1\56\1\0\11\57\1\0\16\57\1\56\4\57"+ "\13\0\4\57\2\0\2\57\1\164\2\0\3\57\1\0"+ "\1\56\1\57\2\0\5\57\2\0\1\u0112\5\57\6\0"+ "\4\57\1\56\1\0\11\57\1\0\16\57\1\56\4\57"+ "\13\0\4\57\2\0\2\57\1\164\2\0\3\57\1\0"+ "\1\56\1\57\2\0\5\57\2\0\3\57\1\u0113\2\57"+ "\6\0\4\57\1\56\1\0\11\57\1\0\16\57\1\56"+ "\4\57\13\0\4\57\2\0\2\57\1\164\2\0\3\57"+ "\1\0\1\56\1\57\2\0\5\57\2\0\6\57\6\0"+ "\4\57\1\56\1\0\2\57\1\250\6\57\1\0\16\57"+ "\1\56\4\57\13\0\4\57\2\0\2\57\1\164\2\0"+ "\2\57\1\u0114\1\0\1\56\1\57\2\0\5\57\2\0"+ "\6\57\6\0\4\57\1\56\1\0\11\57\1\0\16\57"+ "\1\56\4\57\13\0\4\57\2\0\2\57\1\164\2\0"+ "\3\57\1\0\1\56\1\57\2\0\5\57\2\0\3\57"+ "\1\u0115\2\57\6\0\4\57\1\56\1\0\11\57\1\0"+ "\16\57\1\56\4\57\13\0\4\57\2\0\2\57\1\164"+ "\2\0\3\57\1\0\1\56\1\57\2\0\5\57\2\0"+ "\6\57\6\0\3\57\1\u0116\1\56\1\0\11\57\1\0"+ "\16\57\1\56\4\57\13\0\4\57\2\0\2\57\1\164"+ "\2\0\3\57\1\0\1\56\1\57\2\0\5\57\2\0"+ "\3\57\1\u0117\2\57\6\0\4\57\1\56\1\0\4\57"+ "\1\u0118\4\57\1\0\16\57\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\3\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\1\u0119\5\57\6\0\4\57\1\56"+ "\1\0\11\57\1\0\16\57\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\3\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\1\57\1\u011a\4\57\6\0\4\57"+ "\1\56\1\0\11\57\1\0\16\57\1\56\4\57\13\0"+ "\4\57\2\0\2\57\1\164\2\0\3\57\1\0\1\56"+ "\1\57\2\0\5\57\2\0\6\57\6\0\2\57\1\u011b"+ "\1\57\1\56\1\0\11\57\1\0\16\57\1\56\4\57"+ "\13\0\4\57\2\0\2\57\1\164\2\0\3\57\1\0"+ "\1\56\1\57\2\0\5\57\2\0\1\57\1\u011c\4\57"+ "\6\0\4\57\1\56\1\0\11\57\1\0\16\57\1\56"+ "\4\57\13\0\4\57\2\0\2\57\1\164\2\0\3\57"+ "\1\0\1\56\1\57\2\0\5\57\2\0\4\57\1\u011d"+ "\1\57\6\0\4\57\1\56\1\0\11\57\1\0\16\57"+ "\1\56\4\57\13\0\4\57\2\0\2\57\1\164\2\0"+ "\1\u011e\2\57\1\0\1\56\1\57\2\0\5\57\2\0"+ "\6\57\6\0\4\57\1\56\1\0\11\57\1\0\16\57"+ "\1\56\4\57\13\0\4\57\2\0\2\57\1\164\2\0"+ "\3\57\1\0\1\56\1\57\2\0\5\57\2\0\1\u011f"+ "\3\57\1\u0113\1\214\6\0\4\57\1\56\1\0\11\57"+ "\1\0\16\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\3\57\1\0\1\56\1\57\2\0\5\57"+ "\2\0\3\57\1\u0120\2\57\6\0\4\57\1\56\1\0"+ "\11\57\1\0\16\57\1\56\4\57\13\0\4\57\2\0"+ "\2\57\1\164\2\0\1\57\1\u0121\1\57\1\0\1\56"+ "\1\57\2\0\5\57\2\0\6\57\6\0\4\57\1\56"+ "\1\0\11\57\1\0\16\57\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\3\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\1\u0122\5\57\6\0\1\57\1\u0123"+ "\2\57\1\56\1\0\11\57\1\0\16\57\1\56\4\57"+ "\13\0\4\57\2\0\2\57\1\164\2\0\3\57\1\0"+ "\1\56\1\57\2\0\2\57\1\u0124\2\57\2\0\6\57"+ "\6\0\4\57\1\56\1\0\11\57\1\0\16\57\1\56"+ "\4\57\13\0\4\57\2\0\2\57\1\164\2\0\3\57"+ "\1\0\1\56\1\57\2\0\2\57\1\u0125\2\57\2\0"+ "\6\57\6\0\4\57\1\56\1\0\11\57\1\0\4\57"+ "\1\u0126\11\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\3\57\1\0\1\56\1\57\2\0\5\57"+ "\2\0\6\57\6\0\3\57\1\u0127\1\56\1\0\11\57"+ "\1\0\16\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\2\57\1\u0128\1\0\1\56\1\57\2\0"+ "\5\57\2\0\6\57\6\0\4\57\1\56\1\0\11\57"+ "\1\0\16\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\3\57\1\0\1\56\1\57\2\0\5\57"+ "\2\0\2\57\1\u0129\3\57\6\0\2\57\1\u012a\1\57"+ "\1\56\1\0\4\57\1\u012b\4\57\1\0\16\57\1\56"+ "\4\57\13\0\4\57\2\0\2\57\1\164\2\0\3\57"+ "\1\0\1\56\1\57\2\0\5\57\2\0\1\57\1\u012c"+ "\4\57\6\0\1\57\1\u012d\2\57\1\56\1\0\11\57"+ "\1\0\16\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\3\57\1\0\1\56\1\57\2\0\5\57"+ "\2\0\3\57\1\u012e\2\57\6\0\4\57\1\56\1\0"+ "\11\57\1\0\16\57\1\56\4\57\13\0\4\57\2\0"+ "\2\57\1\164\2\0\3\57\1\0\1\56\1\57\2\0"+ "\5\57\2\0\1\u012f\5\57\6\0\4\57\1\56\1\0"+ "\11\57\1\0\16\57\1\56\4\57\13\0\4\57\2\0"+ "\2\57\1\164\2\0\3\57\1\0\1\56\1\57\2\0"+ "\5\57\2\0\6\57\6\0\2\57\1\u0130\1\57\1\56"+ "\1\0\11\57\1\0\16\57\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\3\57\1\0\1\56\1\57"+ "\2\0\3\57\1\u0131\1\57\2\0\4\57\1\u0132\1\57"+ "\6\0\4\57\1\56\1\0\11\57\1\0\16\57\1\56"+ "\4\57\13\0\4\57\2\0\2\57\1\164\2\0\1\57"+ "\1\u0133\1\57\1\0\1\56\1\57\2\0\5\57\2\0"+ "\6\57\6\0\4\57\1\56\1\0\11\57\1\0\16\57"+ "\1\56\4\57\13\0\1\u0134\3\57\2\0\2\57\1\164"+ "\2\0\3\57\1\0\1\56\1\57\2\0\5\57\2\0"+ "\6\57\6\0\4\57\1\56\1\0\11\57\1\0\16\57"+ "\1\56\4\57\13\0\4\57\2\0\2\57\1\164\2\0"+ "\3\57\1\0\1\56\1\57\2\0\5\57\2\0\2\57"+ "\1\u0135\3\57\6\0\4\57\1\56\1\0\11\57\1\0"+ "\16\57\1\56\4\57\13\0\4\57\2\0\2\57\1\164"+ "\2\0\3\57\1\0\1\56\1\57\2\0\5\57\2\0"+ "\6\57\6\0\4\57\1\56\1\0\10\57\1\u0136\1\0"+ "\16\57\1\56\4\57\13\0\4\57\2\0\2\57\1\164"+ "\2\0\3\57\1\0\1\56\1\57\2\0\5\57\2\0"+ "\1\u0137\5\57\6\0\4\57\1\56\1\0\11\57\1\0"+ "\16\57\1\56\4\57\13\0\4\57\2\0\2\57\1\164"+ "\2\0\3\57\1\0\1\56\1\57\2\0\5\57\2\0"+ "\1\u0138\5\57\6\0\4\57\1\56\1\0\11\57\1\0"+ "\16\57\1\56\4\57\13\0\4\57\2\0\2\57\1\164"+ "\2\0\3\57\1\0\1\56\1\57\2\0\5\57\2\0"+ "\1\57\1\250\4\57\6\0\4\57\1\56\1\0\11\57"+ "\1\0\16\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\3\57\1\0\1\56\1\57\2\0\5\57"+ "\2\0\6\57\6\0\2\57\1\253\1\57\1\56\1\0"+ "\11\57\1\0\16\57\1\56\4\57\13\0\4\57\2\0"+ "\2\57\1\164\2\0\3\57\1\0\1\56\1\57\2\0"+ "\5\57\2\0\6\57\6\0\4\57\1\56\1\0\5\57"+ "\1\u0139\3\57\1\0\16\57\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\3\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\1\u013a\5\57\6\0\4\57\1\56"+ "\1\0\11\57\1\0\16\57\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\1\u013b\2\57\1\0\1\56"+ "\1\57\2\0\5\57\2\0\6\57\6\0\4\57\1\56"+ "\1\0\11\57\1\0\1\57\1\u013c\14\57\1\56\4\57"+ "\13\0\4\57\2\0\2\57\1\164\2\0\3\57\1\0"+ "\1\56\1\57\2\0\5\57\2\0\4\57\1\u013d\1\57"+ "\6\0\4\57\1\56\1\0\6\57\1\u013e\2\57\1\0"+ "\16\57\1\56\4\57\13\0\4\57\2\0\2\57\1\164"+ "\2\0\3\57\1\0\1\56\1\57\2\0\5\57\2\0"+ "\6\57\6\0\4\57\1\56\1\0\11\57\1\0\6\57"+ "\1\u013f\7\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\3\57\1\0\1\56\1\57\2\0\5\57"+ "\2\0\6\57\6\0\1\57\1\u0140\2\57\1\56\1\0"+ "\11\57\1\0\16\57\71\0\1\u0141\110\0\1\u0142\117\0"+ "\1\u0143\146\0\1\u0144\117\0\1\u0145\110\0\1\u0146\117\0"+ "\1\u0147\146\0\1\u0148\46\0\1\u0149\153\0\1\u014a\54\0"+ "\3\335\1\0\2\335\11\0\4\335\2\0\2\335\3\0"+ "\3\335\5\0\6\335\1\0\6\335\6\0\4\335\2\0"+ "\11\335\1\0\16\335\2\56\2\u014b\1\56\13\0\3\u014b"+ "\1\56\2\0\2\u014b\1\56\2\0\2\56\1\u014b\1\0"+ "\2\56\2\0\2\56\3\u014b\2\0\2\56\2\u014b\2\56"+ "\6\0\1\56\1\u014b\3\56\1\0\2\56\1\u014b\6\56"+ "\1\0\16\56\2\165\2\341\1\165\13\0\1\165\1\167"+ "\2\165\2\0\1\165\1\341\1\165\2\0\3\165\1\0"+ "\2\165\2\0\2\165\2\167\1\165\2\0\6\165\6\0"+ "\5\165\1\0\2\165\1\167\6\165\1\0\16\165\2\0"+ "\2\341\23\0\1\341\74\0\2\165\2\344\1\165\13\0"+ "\3\344\1\165\2\0\2\344\1\165\2\0\2\165\1\344"+ "\1\0\2\165\2\0\1\165\1\343\3\344\2\0\2\165"+ "\2\344\1\343\1\165\6\0\1\165\1\344\3\165\1\0"+ "\2\165\1\344\6\165\1\0\16\165\20\0\1\u014c\104\0"+ "\3\346\1\0\1\u014d\1\346\11\0\4\346\2\0\2\346"+ "\3\0\3\346\5\0\6\346\1\0\6\346\6\0\4\346"+ "\2\0\11\346\1\0\16\346\1\0\3\346\1\0\1\u014d"+ "\1\346\11\0\4\346\2\0\2\346\3\0\3\346\5\0"+ "\6\346\1\0\6\346\6\0\1\346\1\u014e\2\346\2\0"+ "\11\346\1\0\16\346\1\56\4\57\13\0\4\57\2\0"+ "\2\57\1\164\2\0\3\57\1\0\1\56\1\57\2\0"+ "\5\57\2\0\6\57\6\0\4\57\1\56\1\0\4\57"+ "\1\u014f\4\57\1\0\16\57\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\3\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\2\57\1\u0139\3\57\6\0\4\57"+ "\1\56\1\0\11\57\1\0\16\57\1\56\4\57\13\0"+ "\4\57\2\0\2\57\1\164\2\0\3\57\1\0\1\56"+ "\1\57\2\0\5\57\2\0\3\57\1\314\2\57\6\0"+ "\4\57\1\56\1\0\11\57\1\0\16\57\1\56\4\57"+ "\13\0\4\57\2\0\2\57\1\164\2\0\3\57\1\0"+ "\1\56\1\57\2\0\5\57\2\0\4\57\1\u0150\1\57"+ "\6\0\4\57\1\56\1\0\11\57\1\0\16\57\30\355"+ "\1\u0151\1\u0152\74\355\2\u0153\14\355\3\u0153\3\355\2\u0153"+ "\1\u0151\1\u0152\3\355\1\u0153\7\355\3\u0153\4\355\2\u0153"+ "\11\355\1\u0153\6\355\1\u0153\25\355\10\210\1\0\115\210"+ "\2\u0154\14\210\3\u0154\3\210\2\u0154\1\357\1\210\1\360"+ "\2\210\1\u0154\7\210\3\u0154\4\210\2\u0154\11\210\1\u0154"+ "\6\210\1\u0154\25\210\1\56\4\57\13\0\4\57\2\0"+ "\2\57\1\164\2\0\3\57\1\0\1\56\1\57\2\0"+ "\5\57\2\0\5\57\1\247\6\0\4\57\1\56\1\0"+ "\11\57\1\0\16\57\1\56\4\57\13\0\4\57\2\0"+ "\2\57\1\164\2\0\3\57\1\0\1\56\1\57\2\0"+ "\5\57\2\0\6\57\6\0\4\57\1\56\1\0\4\57"+ "\1\u0155\4\57\1\0\16\57\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\3\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\2\57\1\u0156\3\57\6\0\4\57"+ "\1\56\1\0\11\57\1\0\16\57\1\56\4\57\13\0"+ "\4\57\2\0\2\57\1\164\2\0\3\57\1\0\1\56"+ "\1\57\2\0\5\57\2\0\1\u0139\5\57\6\0\4\57"+ "\1\56\1\0\11\57\1\0\16\57\1\56\4\57\13\0"+ "\4\57\2\0\2\57\1\164\2\0\3\57\1\0\1\56"+ "\1\57\2\0\5\57\2\0\3\57\1\u0157\2\57\6\0"+ "\4\57\1\56\1\0\11\57\1\0\16\57\1\56\4\57"+ "\13\0\4\57\2\0\2\57\1\164\2\0\3\57\1\0"+ "\1\56\1\57\2\0\5\57\2\0\4\57\1\250\1\57"+ "\6\0\4\57\1\56\1\0\11\57\1\0\16\57\1\56"+ "\4\57\13\0\4\57\2\0\2\57\1\164\2\0\3\57"+ "\1\0\1\56\1\57\2\0\5\57\2\0\4\57\1\u0158"+ "\1\57\6\0\4\57\1\56\1\0\11\57\1\0\16\57"+ "\1\56\4\57\13\0\4\57\2\0\2\57\1\164\2\0"+ "\3\57\1\0\1\56\1\57\2\0\5\57\2\0\1\u0159"+ "\5\57\6\0\4\57\1\56\1\0\11\57\1\0\16\57"+ "\1\56\4\57\13\0\4\57\2\0\2\57\1\164\2\0"+ "\3\57\1\0\1\56\1\57\2\0\5\57\2\0\6\57"+ "\6\0\2\57\1\u015a\1\57\1\56\1\0\11\57\1\0"+ "\16\57\1\56\4\57\13\0\4\57\2\0\2\57\1\164"+ "\2\0\3\57\1\0\1\56\1\57\2\0\5\57\2\0"+ "\2\57\1\u015b\3\57\6\0\4\57\1\56\1\0\11\57"+ "\1\0\16\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\3\57\1\0\1\56\1\57\2\0\5\57"+ "\2\0\3\57\1\u015c\2\57\6\0\4\57\1\56\1\0"+ "\11\57\1\0\16\57\5\56\13\0\4\56\2\0\3\56"+ "\2\0\3\56\1\0\2\56\2\0\5\56\2\0\6\56"+ "\6\0\1\56\1\u015d\3\56\1\0\11\56\1\0\16\56"+ "\41\0\1\u015e\62\0\1\56\4\57\13\0\4\57\2\0"+ "\2\57\1\164\2\0\3\57\1\0\1\56\1\57\2\0"+ "\5\57\2\0\6\57\6\0\1\u015f\3\57\1\56\1\0"+ "\11\57\1\0\4\57\1\u0160\11\57\1\56\4\57\13\0"+ "\4\57\2\0\2\57\1\164\2\0\3\57\1\0\1\56"+ "\1\57\2\0\5\57\2\0\6\57\6\0\1\57\1\u0161"+ "\2\57\1\56\1\0\11\57\1\0\16\57\1\56\4\57"+ "\13\0\4\57\2\0\2\57\1\164\2\0\3\57\1\0"+ "\1\56\1\57\2\0\5\57\2\0\6\57\6\0\1\57"+ "\1\u0162\2\57\1\56\1\0\11\57\1\0\16\57\1\56"+ "\4\57\13\0\4\57\2\0\2\57\1\164\2\0\3\57"+ "\1\0\1\56\1\57\2\0\5\57\2\0\5\57\1\u0106"+ "\6\0\4\57\1\56\1\0\11\57\1\0\16\57\1\56"+ "\4\57\13\0\4\57\2\0\2\57\1\164\2\0\3\57"+ "\1\0\1\56\1\57\2\0\5\57\2\0\6\57\6\0"+ "\4\57\1\56\1\0\4\57\1\u0163\4\57\1\0\16\57"+ "\1\56\4\57\13\0\4\57\2\0\2\57\1\164\2\0"+ "\3\57\1\0\1\56\1\57\2\0\5\57\2\0\3\57"+ "\1\u0164\2\57\6\0\4\57\1\56\1\0\11\57\1\0"+ "\16\57\1\56\4\57\13\0\4\57\2\0\2\57\1\164"+ "\2\0\3\57\1\0\1\56\1\57\2\0\5\57\2\0"+ "\6\57\6\0\4\57\1\56\1\0\11\57\1\u0165\16\57"+ "\1\56\4\57\13\0\4\57\2\0\2\57\1\164\2\0"+ "\3\57\1\0\1\56\1\57\2\0\5\57\2\0\2\57"+ "\1\u0166\3\57\6\0\4\57\1\56\1\0\11\57\1\0"+ "\16\57\1\56\4\57\13\0\4\57\2\0\2\57\1\164"+ "\2\0\3\57\1\0\1\56\1\57\2\0\5\57\2\0"+ "\6\57\6\0\1\57\1\u0167\2\57\1\56\1\0\11\57"+ "\1\0\16\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\3\57\1\0\1\56\1\57\2\0\5\57"+ "\2\0\4\57\1\u0168\1\57\6\0\4\57\1\56\1\0"+ "\11\57\1\0\16\57\1\56\4\57\13\0\4\57\2\0"+ "\2\57\1\164\2\0\3\57\1\0\1\56\1\57\2\0"+ "\5\57\2\0\6\57\6\0\4\57\1\56\1\0\11\57"+ "\1\0\1\u0169\15\57\1\56\4\57\13\0\4\57\2\0"+ "\2\57\1\164\2\0\3\57\1\0\1\56\1\57\2\0"+ "\5\57\2\0\6\57\6\0\4\57\1\56\1\0\4\57"+ "\1\u016a\4\57\1\0\16\57\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\3\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\5\57\1\250\6\0\4\57\1\56"+ "\1\0\11\57\1\0\16\57\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\3\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\6\57\6\0\4\57\1\56\1\0"+ "\11\57\1\0\1\u016b\15\57\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\3\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\2\57\1\u016c\3\57\6\0\4\57"+ "\1\56\1\0\11\57\1\0\16\57\1\56\4\57\13\0"+ "\4\57\2\0\2\57\1\164\2\0\1\u016d\2\57\1\0"+ "\1\56\1\57\2\0\5\57\2\0\6\57\6\0\4\57"+ "\1\56\1\0\11\57\1\0\16\57\1\56\4\57\13\0"+ "\4\57\2\0\2\57\1\164\2\0\3\57\1\0\1\56"+ "\1\57\2\0\5\57\2\0\6\57\6\0\4\57\1\56"+ "\1\0\4\57\1\u016e\4\57\1\0\16\57\1\56\4\57"+ "\13\0\4\57\2\0\2\57\1\164\2\0\3\57\1\0"+ "\1\56\1\57\2\0\5\57\2\0\6\57\6\0\4\57"+ "\1\56\1\0\2\57\1\u016f\6\57\1\0\16\57\1\56"+ "\4\57\13\0\4\57\2\0\2\57\1\164\2\0\3\57"+ "\1\0\1\56\1\57\2\0\5\57\2\0\3\57\1\u0170"+ "\2\57\6\0\4\57\1\56\1\0\11\57\1\0\16\57"+ "\1\56\4\57\13\0\4\57\2\0\2\57\1\164\2\0"+ "\3\57\1\0\1\56\1\57\2\0\5\57\2\0\2\57"+ "\1\u0171\3\57\6\0\4\57\1\56\1\0\11\57\1\0"+ "\16\57\1\56\4\57\13\0\4\57\2\0\2\57\1\164"+ "\2\0\3\57\1\0\1\56\1\57\2\0\5\57\2\0"+ "\4\57\1\u0172\1\57\6\0\4\57\1\56\1\0\11\57"+ "\1\0\16\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\3\57\1\0\1\56\1\57\2\0\5\57"+ "\2\0\2\57\1\367\3\57\6\0\4\57\1\56\1\0"+ "\11\57\1\0\16\57\1\56\4\57\13\0\4\57\2\0"+ "\2\57\1\164\2\0\3\57\1\0\1\56\1\57\2\0"+ "\5\57\2\0\6\57\6\0\4\57\1\56\1\0\2\57"+ "\1\u0173\6\57\1\0\16\57\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\3\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\2\57\1\312\3\57\6\0\4\57"+ "\1\56\1\0\11\57\1\0\16\57\1\56\4\57\13\0"+ "\4\57\2\0\2\57\1\164\2\0\3\57\1\0\1\56"+ "\1\57\2\0\5\57\2\0\1\u0174\1\u0175\4\57\6\0"+ "\4\57\1\56\1\0\11\57\1\0\16\57\1\56\4\57"+ "\13\0\4\57\2\0\2\57\1\164\2\0\3\57\1\0"+ "\1\56\1\57\2\0\5\57\2\0\6\57\6\0\3\57"+ "\1\u0176\1\56\1\0\11\57\1\0\16\57\1\56\4\57"+ "\13\0\4\57\2\0\2\57\1\164\2\0\3\57\1\0"+ "\1\56\1\57\2\0\5\57\2\0\6\57\6\0\4\57"+ "\1\56\1\0\11\57\1\0\10\57\1\u0177\5\57\1\56"+ "\4\57\13\0\4\57\2\0\2\57\1\164\2\0\3\57"+ "\1\0\1\56\1\57\2\0\5\57\2\0\6\57\6\0"+ "\4\57\1\56\1\0\4\57\1\u0178\4\57\1\0\16\57"+ "\1\56\4\57\13\0\4\57\2\0\2\57\1\164\2\0"+ "\3\57\1\0\1\56\1\57\2\0\5\57\2\0\1\u011f"+ "\5\57\6\0\4\57\1\56\1\0\11\57\1\0\16\57"+ "\1\56\4\57\13\0\4\57\2\0\2\57\1\164\2\0"+ "\3\57\1\0\1\56\1\57\2\0\5\57\2\0\6\57"+ "\6\0\2\57\1\u0179\1\57\1\56\1\0\11\57\1\0"+ "\16\57\1\56\4\57\13\0\4\57\2\0\2\57\1\164"+ "\2\0\3\57\1\0\1\56\1\57\2\0\5\57\2\0"+ "\2\57\1\u0100\3\57\6\0\4\57\1\56\1\0\11\57"+ "\1\0\16\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\1\57\1\u017a\1\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\6\57\6\0\4\57\1\56\1\0"+ "\11\57\1\0\16\57\1\56\4\57\13\0\4\57\2\0"+ "\2\57\1\164\2\0\3\57\1\0\1\56\1\57\2\0"+ "\5\57\2\0\6\57\6\0\1\57\1\u012f\2\57\1\56"+ "\1\0\11\57\1\0\16\57\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\3\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\5\57\1\u010b\6\0\4\57\1\56"+ "\1\0\11\57\1\0\16\57\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\3\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\1\u017b\4\57\1\222\6\0\4\57"+ "\1\56\1\0\11\57\1\0\16\57\1\56\4\57\13\0"+ "\4\57\2\0\2\57\1\164\2\0\3\57\1\0\1\56"+ "\1\57\2\0\5\57\2\0\2\57\1\u017c\3\57\6\0"+ "\4\57\1\56\1\0\11\57\1\0\16\57\1\56\4\57"+ "\13\0\4\57\2\0\2\57\1\164\2\0\3\57\1\0"+ "\1\56\1\57\2\0\5\57\2\0\4\57\1\u017d\1\57"+ "\6\0\4\57\1\56\1\0\11\57\1\0\16\57\1\56"+ "\4\57\13\0\4\57\2\0\2\57\1\164\2\0\3\57"+ "\1\0\1\56\1\57\2\0\5\57\2\0\1\57\1\u017e"+ "\4\57\6\0\4\57\1\56\1\0\11\57\1\0\16\57"+ "\1\56\4\57\13\0\4\57\2\0\2\57\1\164\2\0"+ "\3\57\1\0\1\56\1\57\2\0\5\57\2\0\6\57"+ "\6\0\2\57\1\u017f\1\57\1\56\1\0\11\57\1\0"+ "\16\57\1\56\4\57\13\0\4\57\2\0\2\57\1\164"+ "\2\0\3\57\1\0\1\56\1\57\2\0\5\57\2\0"+ "\3\57\1\u0180\2\57\6\0\4\57\1\56\1\0\11\57"+ "\1\0\16\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\3\57\1\0\1\56\1\57\2\0\5\57"+ "\2\0\4\57\1\u0181\1\57\6\0\4\57\1\56\1\0"+ "\4\57\1\u0182\4\57\1\0\16\57\1\56\4\57\13\0"+ "\4\57\2\0\2\57\1\164\2\0\3\57\1\0\1\56"+ "\1\57\2\0\5\57\2\0\4\57\1\u0174\1\57\6\0"+ "\4\57\1\56\1\0\11\57\1\0\16\57\1\56\4\57"+ "\13\0\4\57\2\0\2\57\1\164\2\0\3\57\1\0"+ "\1\56\1\57\2\0\5\57\2\0\6\57\6\0\4\57"+ "\1\56\1\0\11\57\1\0\1\57\1\u0159\14\57\1\56"+ "\4\57\13\0\4\57\2\0\2\57\1\164\2\0\1\57"+ "\1\u0183\1\57\1\0\1\56\1\57\2\0\5\57\2\0"+ "\6\57\6\0\4\57\1\56\1\0\11\57\1\0\1\57"+ "\1\u0184\14\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\3\57\1\0\1\56\1\57\2\0\5\57"+ "\2\0\1\u0185\5\57\6\0\4\57\1\56\1\0\11\57"+ "\1\0\16\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\3\57\1\0\1\56\1\57\2\0\5\57"+ "\2\0\5\57\1\u0186\6\0\4\57\1\56\1\0\11\57"+ "\1\0\16\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\3\57\1\0\1\56\1\57\2\0\5\57"+ "\2\0\6\57\6\0\4\57\1\56\1\0\3\57\1\u0187"+ "\5\57\1\0\16\57\1\56\4\57\13\0\4\57\2\0"+ "\2\57\1\164\2\0\3\57\1\0\1\56\1\57\2\0"+ "\5\57\2\0\6\57\6\0\4\57\1\56\1\0\5\57"+ "\1\u0172\3\57\1\0\16\57\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\3\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\6\57\6\0\4\57\1\56\1\0"+ "\1\250\10\57\1\0\16\57\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\3\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\4\57\1\214\1\57\6\0\4\57"+ "\1\56\1\0\11\57\1\0\16\57\1\56\4\57\13\0"+ "\4\57\2\0\2\57\1\164\2\0\3\57\1\0\1\56"+ "\1\57\2\0\5\57\2\0\3\57\1\u0188\2\57\6\0"+ "\4\57\1\56\1\0\11\57\1\0\16\57\1\56\4\57"+ "\13\0\4\57\2\0\2\57\1\164\2\0\3\57\1\0"+ "\1\56\1\57\2\0\5\57\2\0\2\57\1\u0189\3\57"+ "\6\0\4\57\1\56\1\0\11\57\1\0\16\57\1\56"+ "\4\57\13\0\4\57\2\0\2\57\1\164\2\0\3\57"+ "\1\0\1\56\1\57\2\0\5\57\2\0\3\57\1\u018a"+ "\2\57\6\0\4\57\1\56\1\0\11\57\1\0\16\57"+ "\1\56\4\57\13\0\4\57\2\0\2\57\1\164\2\0"+ "\3\57\1\0\1\56\1\57\2\0\5\57\2\0\4\57"+ "\1\u018b\1\57\6\0\4\57\1\56\1\0\11\57\1\0"+ "\16\57\1\56\4\57\13\0\4\57\2\0\2\57\1\164"+ "\2\0\3\57\1\0\1\56\1\57\2\0\5\57\2\0"+ "\1\57\1\u018c\4\57\6\0\4\57\1\56\1\0\11\57"+ "\1\0\16\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\3\57\1\0\1\56\1\57\2\0\5\57"+ "\2\0\5\57\1\u018d\6\0\4\57\1\56\1\0\11\57"+ "\1\0\16\57\1\56\4\57\13\0\3\57\1\u018e\2\0"+ "\2\57\1\164\2\0\3\57\1\0\1\56\1\57\2\0"+ "\5\57\2\0\6\57\6\0\4\57\1\56\1\0\11\57"+ "\1\0\7\57\1\u018f\1\u0177\1\u0190\4\57\1\56\4\57"+ "\13\0\4\57\2\0\2\57\1\164\2\0\3\57\1\0"+ "\1\56\1\57\2\0\5\57\2\0\6\57\6\0\4\57"+ "\1\56\1\0\4\57\1\u0191\4\57\1\0\16\57\1\56"+ "\4\57\13\0\4\57\2\0\2\57\1\164\2\0\3\57"+ "\1\0\1\56\1\57\2\0\5\57\2\0\6\57\6\0"+ "\4\57\1\56\1\0\1\u0139\10\57\1\0\16\57\1\56"+ "\4\57\13\0\4\57\2\0\2\57\1\164\2\0\3\57"+ "\1\0\1\56\1\57\2\0\5\57\2\0\5\57\1\351"+ "\6\0\4\57\1\56\1\0\11\57\1\0\16\57\1\56"+ "\4\57\13\0\4\57\2\0\2\57\1\164\2\0\3\57"+ "\1\0\1\56\1\57\2\0\5\57\2\0\6\57\6\0"+ "\2\57\1\u0192\1\57\1\56\1\0\11\57\1\0\16\57"+ "\1\56\4\57\13\0\4\57\2\0\2\57\1\164\2\0"+ "\3\57\1\0\1\56\1\57\2\0\5\57\2\0\4\57"+ "\1\u0139\1\57\6\0\4\57\1\56\1\0\11\57\1\0"+ "\16\57\1\56\4\57\13\0\4\57\2\0\2\57\1\164"+ "\2\0\2\57\1\u0193\1\0\1\56\1\57\2\0\5\57"+ "\2\0\6\57\6\0\4\57\1\56\1\0\11\57\1\0"+ "\16\57\1\56\4\57\13\0\4\57\2\0\2\57\1\164"+ "\2\0\3\57\1\0\1\56\1\57\2\0\5\57\2\0"+ "\2\57\1\u0194\3\57\6\0\4\57\1\56\1\0\11\57"+ "\1\0\16\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\3\57\1\0\1\56\1\57\2\0\5\57"+ "\2\0\1\350\5\57\6\0\4\57\1\56\1\0\11\57"+ "\1\0\16\57\5\0\1\u0195\172\0\1\u0141\140\0\1\u0196"+ "\40\0\1\u0197\122\0\1\u0198\172\0\1\u0145\140\0\1\u0199"+ "\40\0\1\u019a\136\0\1\u019b\102\0\2\56\2\u019c\1\56"+ "\13\0\3\u019c\1\56\2\0\2\u019c\1\56\2\0\2\56"+ "\1\u019c\1\0\2\56\2\0\2\56\3\u019c\2\0\2\56"+ "\2\u019c\2\56\6\0\1\56\1\u019c\3\56\1\0\2\56"+ "\1\u019c\6\56\1\0\16\56\21\0\1\u019d\103\0\3\346"+ "\1\0\1\u014d\1\346\11\0\4\346\2\0\2\346\3\0"+ "\3\346\5\0\6\346\1\0\6\346\6\0\1\347\3\346"+ "\2\0\11\346\1\0\16\346\1\0\3\346\1\0\1\u014d"+ "\1\346\11\0\4\346\2\0\2\346\3\0\3\346\5\0"+ "\6\346\1\0\1\346\1\u019e\4\346\6\0\4\346\2\0"+ "\11\346\1\0\16\346\1\56\4\57\13\0\4\57\2\0"+ "\2\57\1\164\2\0\3\57\1\0\1\56\1\57\2\0"+ "\5\57\2\0\1\57\1\u0139\4\57\6\0\4\57\1\56"+ "\1\0\11\57\1\0\16\57\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\3\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\2\57\1\u019f\3\57\6\0\4\57"+ "\1\56\1\0\11\57\1\0\16\57\10\355\1\0\115\355"+ "\2\u01a0\14\355\3\u01a0\3\355\2\u01a0\1\u0151\1\u0152\3\355"+ "\1\u01a0\7\355\3\u01a0\4\355\2\u01a0\11\355\1\u01a0\6\355"+ "\1\u01a0\25\355\2\210\2\u01a1\14\210\3\u01a1\3\210\2\u01a1"+ "\1\357\1\210\1\360\2\210\1\u01a1\7\210\3\u01a1\4\210"+ "\2\u01a1\11\210\1\u01a1\6\210\1\u01a1\25\210\1\56\4\57"+ "\13\0\4\57\2\0\2\57\1\164\2\0\3\57\1\0"+ "\1\56\1\57\2\0\5\57\2\0\3\57\1\u01a2\2\57"+ "\6\0\4\57\1\56\1\0\11\57\1\0\16\57\1\56"+ "\4\57\13\0\4\57\2\0\2\57\1\164\2\0\3\57"+ "\1\0\1\56\1\57\2\0\3\57\1\u01a3\1\57\2\0"+ "\6\57\6\0\4\57\1\56\1\0\11\57\1\0\16\57"+ "\1\56\4\57\13\0\4\57\2\0\2\57\1\164\2\0"+ "\3\57\1\0\1\56\1\57\2\0\5\57\2\0\1\u01a4"+ "\5\57\6\0\4\57\1\56\1\0\11\57\1\0\16\57"+ "\1\56\4\57\13\0\4\57\2\0\2\57\1\164\2\0"+ "\3\57\1\0\1\56\1\57\2\0\5\57\2\0\6\57"+ "\6\0\2\57\1\u01a5\1\57\1\56\1\0\11\57\1\0"+ "\16\57\1\56\4\57\13\0\4\57\2\0\2\57\1\164"+ "\2\0\3\57\1\0\1\56\1\57\2\0\2\57\1\u01a6"+ "\2\57\2\0\6\57\6\0\1\u01a7\3\57\1\56\1\0"+ "\11\57\1\0\16\57\1\56\4\57\13\0\4\57\2\0"+ "\2\57\1\164\2\0\3\57\1\0\1\56\1\57\2\0"+ "\5\57\2\0\6\57\6\0\4\57\1\56\1\0\11\57"+ "\1\0\1\57\1\214\14\57\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\3\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\5\57\1\u01a8\6\0\4\57\1\56"+ "\1\0\11\57\1\0\16\57\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\3\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\6\57\6\0\4\57\1\56\1\0"+ "\3\57\1\250\5\57\1\0\16\57\5\56\13\0\4\56"+ "\2\0\3\56\2\0\3\56\1\0\2\56\2\0\5\56"+ "\2\0\4\56\1\u01a9\1\56\6\0\5\56\1\0\11\56"+ "\1\0\17\56\4\57\13\0\4\57\2\0\2\57\1\164"+ "\2\0\3\57\1\0\1\56\1\57\2\0\5\57\2\0"+ "\6\57\6\0\4\57\1\56\1\0\4\57\1\u01aa\4\57"+ "\1\0\16\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\3\57\1\0\1\56\1\57\2\0\5\57"+ "\2\0\6\57\6\0\4\57\1\56\1\0\4\57\1\u01ab"+ "\4\57\1\0\16\57\1\56\4\57\13\0\4\57\2\0"+ "\2\57\1\164\2\0\3\57\1\0\1\56\1\57\2\0"+ "\5\57\2\0\1\u01ac\5\57\6\0\4\57\1\56\1\0"+ "\11\57\1\0\16\57\1\56\4\57\13\0\4\57\2\0"+ "\2\57\1\164\2\0\3\57\1\0\1\56\1\57\2\0"+ "\5\57\2\0\1\u01ad\5\57\6\0\4\57\1\56\1\0"+ "\11\57\1\0\16\57\1\56\4\57\13\0\4\57\2\0"+ "\2\57\1\164\2\0\3\57\1\0\1\56\1\57\2\0"+ "\5\57\2\0\6\57\6\0\4\57\1\56\1\0\6\57"+ "\1\u01ae\2\57\1\0\16\57\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\3\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\4\57\1\u01af\1\57\6\0\4\57"+ "\1\56\1\0\11\57\1\0\16\57\54\0\1\u01b0\47\0"+ "\1\56\4\57\13\0\4\57\2\0\2\57\1\164\2\0"+ "\3\57\1\0\1\56\1\57\2\0\5\57\2\0\2\57"+ "\1\u0172\3\57\6\0\4\57\1\56\1\0\11\57\1\0"+ "\16\57\1\56\4\57\13\0\3\57\1\u01b1\2\0\2\57"+ "\1\164\2\0\3\57\1\0\1\56\1\57\2\0\5\57"+ "\2\0\6\57\6\0\4\57\1\56\1\0\11\57\1\0"+ "\16\57\1\56\4\57\13\0\4\57\2\0\2\57\1\164"+ "\2\0\3\57\1\0\1\56\1\57\2\0\5\57\2\0"+ "\2\57\1\u01b2\3\57\6\0\4\57\1\56\1\0\11\57"+ "\1\0\16\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\3\57\1\0\1\56\1\57\2\0\5\57"+ "\2\0\6\57\6\0\4\57\1\56\1\0\1\57\1\250"+ "\7\57\1\0\16\57\1\56\4\57\13\0\4\57\2\0"+ "\2\57\1\164\2\0\3\57\1\0\1\56\1\57\2\0"+ "\5\57\2\0\4\57\1\u01b3\1\57\6\0\4\57\1\56"+ "\1\0\11\57\1\0\16\57\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\3\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\6\57\6\0\4\57\1\56\1\0"+ "\4\57\1\u01b4\4\57\1\0\16\57\1\56\4\57\13\0"+ "\4\57\2\0\2\57\1\164\2\0\3\57\1\0\1\56"+ "\1\57\2\0\5\57\2\0\1\57\1\u01b5\4\57\6\0"+ "\4\57\1\56\1\0\11\57\1\0\16\57\1\56\4\57"+ "\13\0\4\57\2\0\2\57\1\164\2\0\3\57\1\0"+ "\1\56\1\57\2\0\5\57\2\0\6\57\6\0\4\57"+ "\1\56\1\0\11\57\1\0\1\57\1\u01b6\14\57\1\56"+ "\4\57\13\0\4\57\2\0\2\57\1\164\2\0\3\57"+ "\1\0\1\56\1\57\2\0\5\57\2\0\6\57\6\0"+ "\4\57\1\56\1\0\4\57\1\u01b7\4\57\1\0\16\57"+ "\1\56\4\57\13\0\4\57\2\0\2\57\1\164\2\0"+ "\3\57\1\0\1\56\1\57\2\0\5\57\2\0\6\57"+ "\6\0\3\57\1\u0167\1\56\1\0\11\57\1\0\16\57"+ "\1\56\4\57\13\0\4\57\2\0\2\57\1\164\2\0"+ "\1\57\1\u01b8\1\57\1\0\1\56\1\57\2\0\5\57"+ "\2\0\6\57\6\0\4\57\1\56\1\0\11\57\1\0"+ "\16\57\1\56\4\57\13\0\4\57\2\0\2\57\1\164"+ "\2\0\3\57\1\0\1\56\1\57\2\0\5\57\2\0"+ "\6\57\6\0\4\57\1\56\1\0\11\57\1\0\3\57"+ "\1\u01b9\3\57\1\u01ba\6\57\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\3\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\6\57\6\0\2\57\1\u01bb\1\57"+ "\1\56\1\0\11\57\1\0\16\57\1\56\4\57\13\0"+ "\4\57\2\0\2\57\1\164\2\0\3\57\1\0\1\56"+ "\1\57\2\0\5\57\2\0\1\u01bc\5\57\6\0\4\57"+ "\1\56\1\0\11\57\1\0\16\57\1\56\4\57\13\0"+ "\1\57\1\u01bd\1\u01be\1\57\2\0\2\57\1\164\2\0"+ "\3\57\1\0\1\56\1\57\2\0\5\57\2\0\6\57"+ "\6\0\4\57\1\56\1\0\11\57\1\0\16\57\1\56"+ "\4\57\13\0\4\57\2\0\2\57\1\164\2\0\3\57"+ "\1\0\1\56\1\57\2\0\5\57\2\0\1\57\1\u01bf"+ "\4\57\6\0\4\57\1\56\1\0\11\57\1\0\16\57"+ "\1\56\4\57\13\0\4\57\2\0\2\57\1\164\2\0"+ "\3\57\1\0\1\56\1\57\2\0\5\57\2\0\4\57"+ "\1\u0113\1\57\6\0\4\57\1\56\1\0\11\57\1\0"+ "\16\57\1\56\4\57\13\0\4\57\2\0\2\57\1\164"+ "\2\0\1\57\1\u01c0\1\57\1\0\1\56\1\57\2\0"+ "\5\57\2\0\6\57\6\0\4\57\1\56\1\0\11\57"+ "\1\0\16\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\3\57\1\0\1\56\1\57\2\0\5\57"+ "\2\0\6\57\6\0\4\57\1\56\1\0\2\57\1\u0139"+ "\6\57\1\0\16\57\1\56\4\57\13\0\4\57\2\0"+ "\2\57\1\164\2\0\3\57\1\0\1\56\1\57\2\0"+ "\5\57\2\0\6\57\6\0\2\57\1\u01c1\1\57\1\56"+ "\1\0\11\57\1\0\16\57\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\3\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\1\57\1\u01c2\4\57\6\0\4\57"+ "\1\56\1\0\11\57\1\0\16\57\1\56\4\57\13\0"+ "\4\57\2\0\2\57\1\164\2\0\1\u01c3\2\57\1\0"+ "\1\56\1\57\2\0\5\57\2\0\6\57\6\0\4\57"+ "\1\56\1\0\11\57\1\0\16\57\1\56\4\57\13\0"+ "\4\57\2\0\2\57\1\164\2\0\3\57\1\0\1\56"+ "\1\57\2\0\5\57\2\0\3\57\1\u01c4\2\57\6\0"+ "\4\57\1\56\1\0\11\57\1\0\16\57\1\56\4\57"+ "\13\0\4\57\2\0\2\57\1\164\2\0\1\57\1\u01c5"+ "\1\57\1\0\1\56\1\57\2\0\5\57\2\0\6\57"+ "\6\0\4\57\1\56\1\0\11\57\1\0\16\57\1\56"+ "\4\57\13\0\4\57\2\0\2\57\1\164\2\0\3\57"+ "\1\0\1\56\1\57\2\0\5\57\2\0\6\57\6\0"+ "\4\57\1\56\1\0\11\57\1\0\4\57\1\u0172\11\57"+ "\1\56\4\57\13\0\4\57\2\0\2\57\1\164\2\0"+ "\3\57\1\0\1\56\1\57\2\0\5\57\2\0\2\57"+ "\1\u01c6\3\57\6\0\4\57\1\56\1\0\11\57\1\0"+ "\16\57\1\56\4\57\13\0\4\57\2\0\2\57\1\164"+ "\2\0\3\57\1\0\1\56\1\57\2\0\5\57\2\0"+ "\1\57\1\222\4\57\6\0\4\57\1\56\1\0\11\57"+ "\1\0\16\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\3\57\1\0\1\56\1\57\2\0\5\57"+ "\2\0\1\u01c7\5\57\6\0\4\57\1\56\1\0\11\57"+ "\1\0\16\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\3\57\1\0\1\56\1\57\2\0\5\57"+ "\2\0\3\57\1\u0189\2\57\6\0\4\57\1\56\1\0"+ "\11\57\1\0\16\57\1\56\4\57\13\0\4\57\2\0"+ "\2\57\1\164\2\0\3\57\1\0\1\56\1\57\2\0"+ "\5\57\2\0\2\57\1\u01c8\3\57\6\0\4\57\1\56"+ "\1\0\11\57\1\0\16\57\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\3\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\2\57\1\u01c9\3\57\6\0\4\57"+ "\1\56\1\0\11\57\1\0\16\57\1\56\4\57\13\0"+ "\4\57\2\0\2\57\1\164\2\0\3\57\1\0\1\56"+ "\1\57\2\0\5\57\2\0\3\57\1\u01ca\2\57\6\0"+ "\4\57\1\56\1\0\11\57\1\0\16\57\1\56\4\57"+ "\13\0\4\57\2\0\2\57\1\164\2\0\1\u01cb\2\57"+ "\1\0\1\56\1\57\2\0\5\57\2\0\6\57\6\0"+ "\4\57\1\56\1\0\11\57\1\0\16\57\1\56\4\57"+ "\13\0\4\57\2\0\2\57\1\164\2\0\3\57\1\0"+ "\1\56\1\57\2\0\5\57\2\0\1\214\5\57\6\0"+ "\4\57\1\56\1\0\11\57\1\0\16\57\1\56\4\57"+ "\13\0\4\57\2\0\2\57\1\164\2\0\3\57\1\0"+ "\1\56\1\57\2\0\5\57\2\0\6\57\6\0\4\57"+ "\1\56\1\0\6\57\1\u0174\2\57\1\0\16\57\1\56"+ "\4\57\13\0\4\57\2\0\2\57\1\164\2\0\3\57"+ "\1\0\1\56\1\57\2\0\5\57\2\0\6\57\6\0"+ "\2\57\1\u01cc\1\57\1\56\1\0\11\57\1\0\16\57"+ "\1\56\4\57\13\0\4\57\2\0\2\57\1\164\2\0"+ "\3\57\1\0\1\56\1\57\2\0\5\57\2\0\1\57"+ "\1\u01cd\4\57\6\0\4\57\1\56\1\0\11\57\1\0"+ "\16\57\1\56\4\57\13\0\4\57\2\0\2\57\1\164"+ "\2\0\3\57\1\0\1\56\1\57\2\0\5\57\2\0"+ "\6\57\6\0\1\57\1\261\2\57\1\56\1\0\11\57"+ "\1\0\16\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\3\57\1\0\1\56\1\57\2\0\5\57"+ "\2\0\6\57\6\0\2\57\1\u01ce\1\57\1\56\1\0"+ "\11\57\1\0\16\57\1\56\4\57\13\0\4\57\2\0"+ "\2\57\1\164\2\0\3\57\1\0\1\56\1\57\2\0"+ "\5\57\2\0\2\57\1\u01cf\3\57\6\0\4\57\1\56"+ "\1\0\11\57\1\0\16\57\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\3\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\6\57\6\0\4\57\1\56\1\0"+ "\11\57\1\0\12\57\1\u01d0\3\57\1\56\4\57\13\0"+ "\2\57\1\u01d1\1\57\2\0\2\57\1\164\2\0\3\57"+ "\1\0\1\56\1\57\2\0\5\57\2\0\6\57\6\0"+ "\4\57\1\56\1\0\11\57\1\0\16\57\1\56\4\57"+ "\13\0\4\57\2\0\2\57\1\164\2\0\3\57\1\0"+ "\1\56\1\57\2\0\5\57\2\0\2\57\1\u01d2\3\57"+ "\6\0\4\57\1\56\1\0\11\57\1\0\16\57\1\56"+ "\4\57\13\0\4\57\2\0\2\57\1\164\2\0\3\57"+ "\1\0\1\56\1\57\2\0\5\57\2\0\2\57\1\u014f"+ "\3\57\6\0\4\57\1\56\1\0\11\57\1\0\16\57"+ "\1\56\4\57\13\0\4\57\2\0\2\57\1\164\2\0"+ "\3\57\1\0\1\56\1\57\2\0\5\57\2\0\6\57"+ "\6\0\1\57\1\365\2\57\1\56\1\0\11\57\1\0"+ "\16\57\41\0\1\u01d3\67\0\1\u0195\51\0\1\u0141\45\0"+ "\3\u0197\3\u01d4\4\0\5\u01d4\4\u0197\1\u01d4\1\0\2\u0197"+ "\1\0\1\u01d4\1\0\3\u0197\1\0\1\u01d4\2\u0197\1\u01d4"+ "\5\u0197\2\u01d4\6\u0197\1\0\1\u01d4\1\0\3\u01d4\4\u0197"+ "\2\u01d4\11\u0197\1\0\16\u0197\41\0\1\u01d5\67\0\1\u0198"+ "\51\0\1\u0145\45\0\3\u019a\3\u01d6\4\0\5\u01d6\4\u019a"+ "\1\u01d6\1\0\2\u019a\1\0\1\u01d6\1\0\3\u019a\1\0"+ "\1\u01d6\2\u019a\1\u01d6\5\u019a\2\u01d6\6\u019a\1\0\1\u01d6"+ "\1\0\3\u01d6\4\u019a\2\u01d6\11\u019a\1\0\16\u019a\22\0"+ "\1\u01d7\101\0\2\56\2\u01d8\1\56\13\0\3\u01d8\1\56"+ "\2\0\2\u01d8\1\56\2\0\2\56\1\u01d8\1\0\2\56"+ "\2\0\2\56\3\u01d8\2\0\2\56\2\u01d8\2\56\6\0"+ "\1\56\1\u01d8\3\56\1\0\2\56\1\u01d8\6\56\1\0"+ "\16\56\22\0\1\u01d9\102\0\3\346\1\0\1\u014d\1\346"+ "\11\0\4\346\2\0\2\346\3\0\3\346\5\0\6\346"+ "\1\0\6\346\6\0\2\346\1\u01da\1\346\2\0\11\346"+ "\1\0\16\346\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\3\57\1\0\1\56\1\57\2\0\5\57"+ "\2\0\3\57\1\u01db\2\57\6\0\4\57\1\56\1\0"+ "\11\57\1\0\16\57\2\355\2\u01dc\14\355\3\u01dc\3\355"+ "\2\u01dc\1\u0151\1\u0152\3\355\1\u01dc\7\355\3\u01dc\4\355"+ "\2\u01dc\11\355\1\u01dc\6\355\1\u01dc\25\355\2\210\2\u01dd"+ "\14\210\3\u01dd\3\210\2\u01dd\1\357\1\210\1\360\2\210"+ "\1\u01dd\7\210\3\u01dd\4\210\2\u01dd\11\210\1\u01dd\6\210"+ "\1\u01dd\25\210\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\3\57\1\0\1\56\1\57\2\0\5\57"+ "\2\0\6\57\6\0\4\57\1\56\1\0\2\57\1\u01de"+ "\6\57\1\0\16\57\1\56\4\57\13\0\4\57\2\0"+ "\2\57\1\164\2\0\3\57\1\0\1\56\1\57\2\0"+ "\5\57\2\0\6\57\6\0\2\57\1\u01df\1\57\1\56"+ "\1\0\11\57\1\0\16\57\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\3\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\2\57\1\u01e0\3\57\6\0\4\57"+ "\1\56\1\0\11\57\1\0\16\57\1\56\4\57\13\0"+ "\4\57\2\0\2\57\1\164\2\0\1\57\1\u0167\1\57"+ "\1\0\1\56\1\57\2\0\5\57\2\0\6\57\6\0"+ "\4\57\1\56\1\0\11\57\1\0\16\57\1\56\4\57"+ "\13\0\4\57\2\0\2\57\1\164\2\0\3\57\1\0"+ "\1\56\1\57\2\0\5\57\2\0\1\57\1\u01e1\4\57"+ "\6\0\4\57\1\56\1\0\11\57\1\0\16\57\1\56"+ "\4\57\13\0\4\57\2\0\2\57\1\164\2\0\3\57"+ "\1\0\1\56\1\57\2\0\5\57\2\0\6\57\6\0"+ "\1\57\1\u01e2\2\57\1\56\1\0\11\57\1\0\16\57"+ "\1\56\4\57\13\0\4\57\2\0\2\57\1\164\2\0"+ "\3\57\1\0\1\56\1\57\2\0\5\57\2\0\6\57"+ "\6\0\3\57\1\u01e3\1\56\1\0\11\57\1\0\16\57"+ "\5\56\13\0\4\56\2\0\3\56\2\0\1\u01e4\2\56"+ "\1\0\2\56\2\0\5\56\2\0\6\56\6\0\5\56"+ "\1\0\11\56\1\0\17\56\4\57\13\0\4\57\2\0"+ "\2\57\1\164\2\0\3\57\1\0\1\56\1\57\2\0"+ "\5\57\2\0\6\57\6\0\1\57\1\u01e5\2\57\1\56"+ "\1\0\11\57\1\0\16\57\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\3\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\6\57\6\0\4\57\1\56\1\0"+ "\2\57\1\351\6\57\1\0\16\57\1\56\4\57\13\0"+ "\4\57\2\0\2\57\1\164\2\0\3\57\1\0\1\56"+ "\1\57\2\0\5\57\2\0\6\57\6\0\2\57\1\u01e6"+ "\1\57\1\56\1\0\11\57\1\0\16\57\1\56\4\57"+ "\13\0\4\57\2\0\2\57\1\164\2\0\3\57\1\0"+ "\1\56\1\57\2\0\5\57\2\0\6\57\6\0\2\57"+ "\1\u01e7\1\57\1\56\1\0\11\57\1\0\16\57\1\56"+ "\4\57\13\0\4\57\2\0\2\57\1\164\2\0\3\57"+ "\1\0\1\56\1\57\2\0\5\57\2\0\6\57\6\0"+ "\4\57\1\56\1\0\6\57\1\u01e8\2\57\1\0\16\57"+ "\1\56\4\57\13\0\4\57\2\0\2\57\1\164\2\0"+ "\3\57\1\0\1\56\1\57\2\0\5\57\2\0\4\57"+ "\1\u01e9\1\57\6\0\4\57\1\56\1\0\11\57\1\0"+ "\16\57\55\0\1\u01ea\46\0\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\3\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\3\57\1\u01eb\2\57\6\0\4\57"+ "\1\56\1\0\11\57\1\0\16\57\1\56\4\57\13\0"+ "\4\57\2\0\2\57\1\164\2\0\3\57\1\0\1\56"+ "\1\57\2\0\5\57\2\0\1\u01ec\5\57\6\0\4\57"+ "\1\56\1\0\11\57\1\0\16\57\1\56\4\57\13\0"+ "\4\57\2\0\2\57\1\164\2\0\3\57\1\0\1\56"+ "\1\57\2\0\5\57\2\0\2\57\1\u01ed\3\57\6\0"+ "\4\57\1\56\1\0\11\57\1\0\16\57\1\56\4\57"+ "\13\0\4\57\2\0\2\57\1\164\2\0\3\57\1\0"+ "\1\56\1\57\2\0\3\57\1\250\1\57\2\0\6\57"+ "\6\0\4\57\1\56\1\0\11\57\1\0\16\57\1\56"+ "\4\57\13\0\4\57\2\0\2\57\1\164\2\0\1\57"+ "\1\250\1\57\1\0\1\56\1\57\2\0\5\57\2\0"+ "\6\57\6\0\4\57\1\56\1\0\11\57\1\0\16\57"+ "\1\56\4\57\13\0\4\57\2\0\2\57\1\164\2\0"+ "\3\57\1\0\1\56\1\57\2\0\5\57\2\0\2\57"+ "\1\u01ee\3\57\6\0\4\57\1\56\1\0\11\57\1\0"+ "\16\57\1\56\4\57\13\0\4\57\2\0\2\57\1\164"+ "\2\0\3\57\1\0\1\56\1\57\2\0\5\57\2\0"+ "\6\57\6\0\4\57\1\56\1\0\6\57\1\u0172\2\57"+ "\1\0\16\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\3\57\1\0\1\56\1\57\2\0\5\57"+ "\2\0\6\57\6\0\4\57\1\56\1\0\2\57\1\u010b"+ "\6\57\1\0\16\57\1\56\4\57\13\0\4\57\2\0"+ "\2\57\1\164\2\0\3\57\1\0\1\56\1\57\2\0"+ "\5\57\2\0\6\57\6\0\4\57\1\56\1\0\4\57"+ "\1\u01ef\4\57\1\0\16\57\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\3\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\3\57\1\u01f0\2\57\6\0\4\57"+ "\1\56\1\0\11\57\1\0\16\57\1\56\4\57\13\0"+ "\4\57\2\0\2\57\1\164\2\0\3\57\1\0\1\56"+ "\1\57\2\0\5\57\2\0\6\57\6\0\1\57\1\250"+ "\2\57\1\56\1\0\11\57\1\0\16\57\1\56\4\57"+ "\13\0\1\57\1\u01bd\2\57\2\0\2\57\1\164\2\0"+ "\3\57\1\0\1\56\1\57\2\0\5\57\2\0\6\57"+ "\6\0\4\57\1\56\1\0\11\57\1\0\16\57\1\56"+ "\4\57\13\0\4\57\2\0\2\57\1\164\2\0\3\57"+ "\1\0\1\56\1\57\2\0\5\57\2\0\1\57\1\u01f1"+ "\4\57\6\0\4\57\1\56\1\0\11\57\1\0\16\57"+ "\1\56\4\57\13\0\4\57\2\0\2\57\1\164\2\0"+ "\3\57\1\0\1\56\1\57\2\0\5\57\2\0\4\57"+ "\1\u01f2\1\57\6\0\4\57\1\56\1\0\11\57\1\0"+ "\16\57\1\56\4\57\13\0\4\57\2\0\2\57\1\164"+ "\2\0\3\57\1\0\1\56\1\57\2\0\5\57\2\0"+ "\6\57\6\0\4\57\1\56\1\0\4\57\1\u01f3\4\57"+ "\1\0\16\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\3\57\1\0\1\56\1\57\2\0\5\57"+ "\2\0\6\57\6\0\4\57\1\56\1\0\11\57\1\0"+ "\1\u0139\15\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\1\57\1\u01f4\1\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\6\57\6\0\4\57\1\56\1\0"+ "\11\57\1\0\16\57\1\56\4\57\13\0\4\57\2\0"+ "\2\57\1\164\2\0\1\57\1\u01f5\1\57\1\0\1\56"+ "\1\57\2\0\3\57\1\u01e3\1\57\2\0\6\57\6\0"+ "\4\57\1\56\1\0\11\57\1\0\16\57\1\56\4\57"+ "\13\0\4\57\2\0\2\57\1\164\2\0\3\57\1\0"+ "\1\56\1\57\2\0\5\57\2\0\6\57\6\0\4\57"+ "\1\56\1\0\2\57\1\214\6\57\1\0\16\57\1\56"+ "\4\57\13\0\4\57\2\0\2\57\1\164\2\0\3\57"+ "\1\0\1\56\1\57\2\0\5\57\2\0\6\57\6\0"+ "\4\57\1\56\1\0\6\57\1\u01f6\2\57\1\0\16\57"+ "\1\56\4\57\13\0\4\57\2\0\2\57\1\164\2\0"+ "\3\57\1\0\1\56\1\57\2\0\5\57\2\0\6\57"+ "\6\0\2\57\1\u01f7\1\57\1\56\1\0\11\57\1\0"+ "\16\57\1\56\4\57\13\0\4\57\2\0\2\57\1\164"+ "\2\0\3\57\1\0\1\56\1\57\2\0\5\57\2\0"+ "\6\57\6\0\4\57\1\56\1\0\6\57\1\u01f8\2\57"+ "\1\0\16\57\1\56\4\57\13\0\2\57\1\u01f9\1\57"+ "\2\0\2\57\1\164\2\0\3\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\6\57\6\0\4\57\1\56\1\0"+ "\11\57\1\0\4\57\1\u01fa\11\57\1\56\4\57\13\0"+ "\4\57\2\0\2\57\1\164\2\0\3\57\1\0\1\56"+ "\1\57\2\0\5\57\2\0\6\57\6\0\1\57\1\u01fb"+ "\2\57\1\56\1\0\11\57\1\0\16\57\1\56\4\57"+ "\13\0\4\57\2\0\2\57\1\164\2\0\3\57\1\0"+ "\1\56\1\57\2\0\2\57\1\u01fc\2\57\2\0\6\57"+ "\6\0\4\57\1\56\1\0\11\57\1\0\13\57\1\u01fd"+ "\2\57\1\56\4\57\13\0\4\57\2\0\2\57\1\164"+ "\2\0\3\57\1\0\1\56\1\57\2\0\5\57\2\0"+ "\6\57\6\0\4\57\1\56\1\0\11\57\1\0\1\214"+ "\15\57\1\56\4\57\13\0\4\57\2\0\2\57\1\164"+ "\2\0\3\57\1\0\1\56\1\57\2\0\5\57\2\0"+ "\4\57\1\222\1\57\6\0\4\57\1\56\1\0\11\57"+ "\1\0\16\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\3\57\1\0\1\56\1\57\2\0\5\57"+ "\2\0\6\57\6\0\3\57\1\u01fe\1\56\1\0\11\57"+ "\1\0\16\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\3\57\1\0\1\56\1\57\2\0\5\57"+ "\2\0\6\57\6\0\2\57\1\u01c3\1\57\1\56\1\0"+ "\11\57\1\0\16\57\1\56\4\57\13\0\4\57\2\0"+ "\2\57\1\164\2\0\3\57\1\0\1\56\1\57\2\0"+ "\5\57\2\0\6\57\6\0\4\57\1\56\1\0\6\57"+ "\1\u01ff\2\57\1\0\16\57\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\3\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\1\57\1\u0200\4\57\6\0\4\57"+ "\1\56\1\0\11\57\1\0\16\57\1\56\4\57\13\0"+ "\4\57\2\0\2\57\1\164\2\0\3\57\1\0\1\56"+ "\1\57\2\0\1\57\1\u0172\3\57\2\0\6\57\6\0"+ "\4\57\1\56\1\0\11\57\1\0\16\57\1\56\4\57"+ "\13\0\4\57\2\0\2\57\1\164\2\0\1\57\1\u0201"+ "\1\57\1\0\1\56\1\57\2\0\5\57\2\0\6\57"+ "\6\0\4\57\1\56\1\0\11\57\1\0\16\57\1\56"+ "\4\57\13\0\1\u0202\3\57\2\0\2\57\1\164\2\0"+ "\3\57\1\0\1\56\1\57\2\0\5\57\2\0\6\57"+ "\6\0\4\57\1\56\1\0\11\57\1\0\16\57\41\0"+ "\1\u0197\123\0\1\u019a\105\0\1\u0203\100\0\2\56\2\57"+ "\1\56\13\0\3\57\1\56\2\0\2\57\1\56\2\0"+ "\2\56\1\57\1\0\2\56\2\0\2\56\3\57\2\0"+ "\2\56\2\57\2\56\6\0\1\56\1\57\3\56\1\0"+ "\2\56\1\57\6\56\1\0\16\56\23\0\1\u0204\101\0"+ "\3\346\1\0\1\u014d\1\346\11\0\4\346\2\0\2\346"+ "\3\0\3\346\5\0\6\346\1\0\6\346\6\0\3\346"+ "\1\u0205\2\0\11\346\1\0\16\346\1\56\4\57\13\0"+ "\4\57\2\0\2\57\1\164\2\0\1\57\1\u0139\1\57"+ "\1\0\1\56\1\57\2\0\5\57\2\0\6\57\6\0"+ "\4\57\1\56\1\0\11\57\1\0\16\57\2\355\2\77"+ "\14\355\3\77\3\355\2\77\1\u0151\1\u0152\3\355\1\77"+ "\7\355\3\77\4\355\2\77\11\355\1\77\6\355\1\77"+ "\25\355\2\210\2\100\14\210\3\100\3\210\2\100\1\357"+ "\1\210\1\360\2\210\1\100\7\210\3\100\4\210\2\100"+ "\11\210\1\100\6\210\1\100\25\210\1\56\4\57\13\0"+ "\4\57\2\0\2\57\1\164\2\0\3\57\1\0\1\56"+ "\1\57\2\0\5\57\2\0\6\57\6\0\4\57\1\56"+ "\1\0\11\57\1\0\3\57\1\u01b9\12\57\1\56\4\57"+ "\13\0\4\57\2\0\2\57\1\164\2\0\1\57\1\u0206"+ "\1\57\1\0\1\56\1\57\2\0\5\57\2\0\6\57"+ "\6\0\4\57\1\56\1\0\11\57\1\0\16\57\1\56"+ "\4\57\13\0\2\57\1\u0207\1\57\2\0\2\57\1\164"+ "\2\0\3\57\1\0\1\56\1\57\2\0\5\57\2\0"+ "\6\57\6\0\4\57\1\56\1\0\11\57\1\0\16\57"+ "\1\56\4\57\13\0\4\57\2\0\2\57\1\164\2\0"+ "\3\57\1\0\1\56\1\57\2\0\5\57\2\0\3\57"+ "\1\u0208\2\57\6\0\4\57\1\56\1\0\11\57\1\0"+ "\16\57\1\56\4\57\13\0\4\57\2\0\2\57\1\164"+ "\2\0\3\57\1\0\1\56\1\57\2\0\5\57\2\0"+ "\2\57\1\u01a5\3\57\6\0\4\57\1\56\1\0\11\57"+ "\1\0\16\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\3\57\1\0\1\56\1\57\2\0\5\57"+ "\2\0\3\57\1\u0209\2\57\6\0\4\57\1\56\1\0"+ "\11\57\1\0\16\57\5\56\13\0\4\56\2\0\3\56"+ "\2\0\3\56\1\0\2\56\2\0\5\56\2\0\6\56"+ "\6\0\5\56\1\0\2\56\1\u020a\6\56\1\0\17\56"+ "\4\57\13\0\4\57\2\0\2\57\1\164\2\0\3\57"+ "\1\0\1\56\1\57\2\0\5\57\2\0\6\57\6\0"+ "\4\57\1\56\1\0\3\57\1\u020b\5\57\1\0\16\57"+ "\1\56\4\57\13\0\4\57\2\0\2\57\1\164\2\0"+ "\3\57\1\0\1\56\1\57\2\0\5\57\2\0\6\57"+ "\6\0\4\57\1\56\1\0\4\57\1\u01db\4\57\1\0"+ "\16\57\1\56\4\57\13\0\4\57\2\0\2\57\1\164"+ "\2\0\3\57\1\0\1\56\1\57\2\0\5\57\2\0"+ "\6\57\6\0\4\57\1\56\1\0\4\57\1\u01b5\4\57"+ "\1\0\16\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\3\57\1\0\1\56\1\57\2\0\5\57"+ "\2\0\3\57\1\u020c\2\57\6\0\4\57\1\56\1\0"+ "\11\57\1\0\16\57\1\56\4\57\13\0\4\57\2\0"+ "\2\57\1\164\2\0\3\57\1\0\1\56\1\57\2\0"+ "\5\57\2\0\6\57\6\0\4\57\1\56\1\0\5\57"+ "\1\250\3\57\1\0\16\57\67\0\1\u020d\34\0\1\56"+ "\4\57\13\0\4\57\2\0\2\57\1\164\2\0\3\57"+ "\1\0\1\56\1\57\2\0\5\57\2\0\1\57\1\u020e"+ "\4\57\6\0\4\57\1\56\1\0\11\57\1\0\16\57"+ "\1\56\4\57\13\0\4\57\2\0\2\57\1\164\2\0"+ "\3\57\1\0\1\56\1\57\2\0\5\57\2\0\6\57"+ "\6\0\4\57\1\56\1\0\11\57\1\0\10\57\1\u020f"+ "\5\57\1\56\4\57\13\0\4\57\2\0\2\57\1\164"+ "\2\0\3\57\1\0\1\56\1\57\2\0\5\57\2\0"+ "\6\57\6\0\4\57\1\56\1\0\11\57\1\0\14\57"+ "\1\u0210\1\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\3\57\1\0\1\56\1\57\2\0\5\57"+ "\2\0\6\57\6\0\4\57\1\56\1\0\11\57\1\0"+ "\3\57\1\u0211\12\57\1\56\4\57\13\0\4\57\2\0"+ "\2\57\1\164\2\0\3\57\1\0\1\56\1\57\2\0"+ "\5\57\2\0\6\57\6\0\4\57\1\56\1\0\11\57"+ "\1\0\1\57\1\u0212\14\57\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\3\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\1\57\1\u0213\4\57\6\0\4\57"+ "\1\56\1\0\11\57\1\0\16\57\1\56\4\57\13\0"+ "\4\57\2\0\2\57\1\164\2\0\3\57\1\0\1\56"+ "\1\57\2\0\5\57\2\0\3\57\1\u0214\2\57\6\0"+ "\4\57\1\56\1\0\11\57\1\0\16\57\1\56\4\57"+ "\13\0\4\57\2\0\2\57\1\164\2\0\3\57\1\0"+ "\1\56\1\57\2\0\5\57\2\0\4\57\1\u0215\1\57"+ "\6\0\4\57\1\56\1\0\11\57\1\0\16\57\1\56"+ "\4\57\13\0\4\57\2\0\2\57\1\164\2\0\3\57"+ "\1\0\1\56\1\57\2\0\5\57\2\0\6\57\6\0"+ "\3\57\1\u0216\1\56\1\0\11\57\1\0\16\57\1\56"+ "\4\57\13\0\4\57\2\0\2\57\1\164\2\0\1\214"+ "\2\57\1\0\1\56\1\57\2\0\5\57\2\0\6\57"+ "\6\0\4\57\1\56\1\0\11\57\1\0\16\57\1\56"+ "\4\57\13\0\4\57\2\0\2\57\1\164\2\0\3\57"+ "\1\0\1\56\1\57\2\0\5\57\2\0\3\57\1\367"+ "\2\57\6\0\4\57\1\56\1\0\11\57\1\0\16\57"+ "\1\56\4\57\13\0\4\57\2\0\2\57\1\164\2\0"+ "\3\57\1\0\1\56\1\57\2\0\5\57\2\0\2\57"+ "\1\u0217\3\57\6\0\4\57\1\56\1\0\11\57\1\0"+ "\16\57\1\56\4\57\13\0\4\57\2\0\2\57\1\164"+ "\2\0\3\57\1\0\1\56\1\57\2\0\5\57\2\0"+ "\1\u0167\5\57\6\0\4\57\1\56\1\0\11\57\1\0"+ "\16\57\1\56\4\57\13\0\4\57\2\0\2\57\1\164"+ "\2\0\3\57\1\0\1\56\1\57\2\0\5\57\2\0"+ "\2\57\1\u0218\3\57\6\0\4\57\1\56\1\0\11\57"+ "\1\0\16\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\3\57\1\0\1\56\1\57\2\0\5\57"+ "\2\0\5\57\1\u0219\6\0\4\57\1\56\1\0\11\57"+ "\1\0\16\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\1\u01b7\2\57\1\0\1\56\1\57\2\0"+ "\5\57\2\0\6\57\6\0\4\57\1\56\1\0\11\57"+ "\1\0\16\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\3\57\1\0\1\56\1\57\2\0\5\57"+ "\2\0\1\u0206\5\57\6\0\4\57\1\56\1\0\11\57"+ "\1\0\16\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\3\57\1\0\1\56\1\57\2\0\5\57"+ "\2\0\4\57\1\u021a\1\57\6\0\4\57\1\56\1\0"+ "\11\57\1\0\16\57\1\56\4\57\13\0\4\57\2\0"+ "\2\57\1\164\2\0\1\57\1\u021b\1\57\1\0\1\56"+ "\1\57\2\0\5\57\2\0\6\57\6\0\4\57\1\56"+ "\1\0\11\57\1\0\16\57\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\3\57\1\0\1\56\1\57"+ "\2\0\4\57\1\u021c\2\0\6\57\6\0\4\57\1\56"+ "\1\0\11\57\1\0\16\57\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\3\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\2\57\1\u021d\3\57\6\0\4\57"+ "\1\56\1\0\11\57\1\0\16\57\1\56\4\57\13\0"+ "\4\57\2\0\2\57\1\164\2\0\3\57\1\0\1\56"+ "\1\57\2\0\5\57\2\0\5\57\1\u021e\6\0\4\57"+ "\1\56\1\0\11\57\1\0\16\57\1\56\4\57\13\0"+ "\4\57\2\0\2\57\1\164\2\0\3\57\1\0\1\56"+ "\1\57\2\0\5\57\2\0\6\57\6\0\4\57\1\56"+ "\1\0\2\57\1\u021f\6\57\1\0\16\57\1\56\4\57"+ "\13\0\4\57\2\0\2\57\1\164\2\0\3\57\1\0"+ "\1\56\1\57\2\0\5\57\2\0\4\57\1\u0220\1\57"+ "\6\0\4\57\1\56\1\0\11\57\1\0\16\57\22\0"+ "\1\u0221\123\0\1\u0222\102\0\3\346\1\0\1\u014d\1\346"+ "\11\0\4\346\2\0\2\346\3\0\3\346\5\0\6\346"+ "\1\0\1\u0223\5\346\6\0\4\346\2\0\11\346\1\0"+ "\16\346\1\56\4\57\13\0\4\57\2\0\2\57\1\164"+ "\2\0\3\57\1\0\1\56\1\57\2\0\5\57\2\0"+ "\2\57\1\253\3\57\6\0\4\57\1\56\1\0\11\57"+ "\1\0\16\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\3\57\1\0\1\56\1\57\2\0\3\57"+ "\1\u0224\1\57\2\0\6\57\6\0\4\57\1\56\1\0"+ "\11\57\1\0\16\57\1\56\4\57\13\0\4\57\2\0"+ "\2\57\1\164\2\0\3\57\1\0\1\56\1\57\2\0"+ "\5\57\2\0\6\57\6\0\4\57\1\56\1\0\6\57"+ "\1\u0167\2\57\1\0\16\57\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\3\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\6\57\6\0\1\57\1\214\2\57"+ "\1\56\1\0\11\57\1\0\16\57\5\56\13\0\4\56"+ "\2\0\3\56\2\0\3\56\1\0\2\56\2\0\5\56"+ "\2\0\2\56\1\u0225\3\56\6\0\5\56\1\0\11\56"+ "\1\0\17\56\4\57\13\0\4\57\2\0\2\57\1\164"+ "\2\0\3\57\1\0\1\56\1\57\2\0\5\57\2\0"+ "\2\57\1\365\3\57\6\0\4\57\1\56\1\0\11\57"+ "\1\0\16\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\1\57\1\u0226\1\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\6\57\6\0\4\57\1\56\1\0"+ "\11\57\1\0\16\57\74\0\1\u0227\27\0\1\56\4\57"+ "\13\0\4\57\2\0\2\57\1\164\2\0\3\57\1\0"+ "\1\56\1\57\2\0\5\57\2\0\6\57\6\0\4\57"+ "\1\56\1\0\11\57\1\0\1\u0228\15\57\1\56\4\57"+ "\13\0\4\57\2\0\2\57\1\164\2\0\3\57\1\0"+ "\1\56\1\57\2\0\5\57\2\0\3\57\1\u0229\2\57"+ "\6\0\4\57\1\56\1\0\11\57\1\0\16\57\1\56"+ "\4\57\13\0\4\57\2\0\2\57\1\164\2\0\3\57"+ "\1\0\1\56\1\57\2\0\5\57\2\0\6\57\6\0"+ "\2\57\1\u022a\1\57\1\56\1\0\11\57\1\0\16\57"+ "\1\56\4\57\13\0\4\57\2\0\2\57\1\164\2\0"+ "\3\57\1\0\1\56\1\57\2\0\5\57\2\0\6\57"+ "\6\0\4\57\1\56\1\0\4\57\1\u022b\4\57\1\0"+ "\16\57\1\56\4\57\13\0\4\57\2\0\2\57\1\164"+ "\2\0\3\57\1\0\1\56\1\57\2\0\5\57\2\0"+ "\6\57\6\0\2\57\1\u022c\1\57\1\56\1\0\11\57"+ "\1\0\16\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\3\57\1\0\1\56\1\57\2\0\5\57"+ "\2\0\6\57\6\0\2\57\1\u022d\1\57\1\56\1\0"+ "\11\57\1\0\16\57\1\56\4\57\13\0\4\57\2\0"+ "\2\57\1\164\2\0\3\57\1\0\1\56\1\57\2\0"+ "\5\57\2\0\6\57\6\0\4\57\1\56\1\0\11\57"+ "\1\0\1\u0172\15\57\1\56\4\57\13\0\4\57\2\0"+ "\2\57\1\164\2\0\3\57\1\0\1\56\1\57\2\0"+ "\5\57\2\0\6\57\6\0\1\u022e\3\57\1\56\1\0"+ "\11\57\1\0\16\57\1\56\4\57\13\0\4\57\2\0"+ "\2\57\1\164\2\0\3\57\1\0\1\56\1\57\2\0"+ "\5\57\2\0\2\57\1\u022f\3\57\6\0\4\57\1\56"+ "\1\0\11\57\1\0\16\57\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\3\57\1\0\1\56\1\57"+ "\2\0\1\57\1\u0230\3\57\2\0\6\57\6\0\4\57"+ "\1\56\1\0\11\57\1\0\16\57\1\56\4\57\13\0"+ "\4\57\2\0\2\57\1\164\2\0\1\57\1\u0231\1\57"+ "\1\0\1\56\1\57\2\0\5\57\2\0\6\57\6\0"+ "\4\57\1\56\1\0\11\57\1\0\16\57\1\56\4\57"+ "\13\0\4\57\2\0\1\u0232\1\57\1\164\2\0\3\57"+ "\1\0\1\56\1\57\2\0\5\57\2\0\6\57\6\0"+ "\4\57\1\56\1\0\11\57\1\0\16\57\1\56\4\57"+ "\13\0\4\57\2\0\2\57\1\164\2\0\3\57\1\0"+ "\1\56\1\57\2\0\5\57\2\0\6\57\6\0\4\57"+ "\1\56\1\0\4\57\1\u0233\4\57\1\0\16\57\1\56"+ "\4\57\13\0\4\57\2\0\2\57\1\164\2\0\3\57"+ "\1\0\1\56\1\57\2\0\5\57\2\0\1\u0172\5\57"+ "\6\0\4\57\1\56\1\0\11\57\1\0\16\57\1\56"+ "\4\57\13\0\4\57\2\0\2\57\1\164\2\0\3\57"+ "\1\0\1\56\1\57\2\0\5\57\2\0\6\57\6\0"+ "\4\57\1\56\1\0\11\57\1\0\1\57\1\u0234\14\57"+ "\1\56\4\57\13\0\4\57\2\0\2\57\1\164\2\0"+ "\3\57\1\0\1\56\1\57\2\0\5\57\2\0\1\57"+ "\1\u0172\4\57\6\0\4\57\1\56\1\0\11\57\1\0"+ "\16\57\1\56\4\57\13\0\4\57\2\0\2\57\1\164"+ "\2\0\3\57\1\0\1\56\1\57\2\0\5\57\2\0"+ "\6\57\6\0\2\57\1\u0235\1\57\1\56\1\0\11\57"+ "\1\0\16\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\3\57\1\0\1\56\1\57\2\0\5\57"+ "\2\0\6\57\6\0\1\u0236\3\57\1\56\1\0\11\57"+ "\1\0\10\57\1\u0237\5\57\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\3\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\6\57\6\0\2\57\1\u0238\1\57"+ "\1\56\1\0\11\57\1\0\16\57\17\0\1\u0239\123\0"+ "\1\353\105\0\3\346\1\0\1\u014d\1\346\1\u023a\2\0"+ "\1\u023a\5\0\4\346\1\0\1\u023b\2\346\3\0\3\346"+ "\5\0\6\346\1\0\6\346\6\0\4\346\2\0\11\346"+ "\1\u023a\16\346\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\3\57\1\0\1\56\1\57\2\0\5\57"+ "\2\0\1\u023c\5\57\6\0\4\57\1\56\1\0\11\57"+ "\1\0\16\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\3\57\1\0\1\56\1\57\2\0\5\57"+ "\2\0\6\57\6\0\4\57\1\56\1\0\2\57\1\u0172"+ "\6\57\1\0\16\57\1\56\4\57\13\0\4\57\2\0"+ "\2\57\1\164\2\0\3\57\1\0\1\56\1\57\2\0"+ "\5\57\2\0\2\57\1\222\3\57\6\0\4\57\1\56"+ "\1\0\11\57\1\0\16\57\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\3\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\1\u023d\5\57\6\0\4\57\1\56"+ "\1\0\11\57\1\0\16\57\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\3\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\6\57\6\0\4\57\1\56\1\0"+ "\11\57\1\0\1\u023e\15\57\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\3\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\6\57\6\0\4\57\1\56\1\0"+ "\11\57\1\0\1\57\1\u023f\14\57\1\56\4\57\13\0"+ "\4\57\2\0\2\57\1\164\2\0\3\57\1\0\1\56"+ "\1\57\2\0\5\57\2\0\2\57\1\u0240\3\57\6\0"+ "\4\57\1\56\1\0\11\57\1\0\16\57\1\56\4\57"+ "\13\0\4\57\2\0\2\57\1\164\2\0\3\57\1\0"+ "\1\56\1\57\2\0\5\57\2\0\3\57\1\u0241\2\57"+ "\6\0\4\57\1\56\1\0\11\57\1\0\16\57\1\56"+ "\4\57\13\0\4\57\2\0\2\57\1\164\2\0\3\57"+ "\1\0\1\56\1\57\2\0\5\57\2\0\6\57\6\0"+ "\4\57\1\56\1\0\4\57\1\u0242\4\57\1\0\16\57"+ "\1\56\4\57\13\0\4\57\2\0\2\57\1\164\2\0"+ "\3\57\1\0\1\56\1\57\2\0\5\57\2\0\1\57"+ "\1\u0243\4\57\6\0\4\57\1\56\1\0\11\57\1\0"+ "\16\57\1\56\4\57\13\0\4\57\2\0\2\57\1\164"+ "\2\0\3\57\1\0\1\56\1\57\2\0\5\57\2\0"+ "\6\57\6\0\4\57\1\56\1\0\4\57\1\u0244\4\57"+ "\1\0\16\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\3\57\1\0\1\56\1\57\2\0\5\57"+ "\2\0\1\u010b\5\57\6\0\4\57\1\56\1\0\11\57"+ "\1\0\16\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\3\57\1\0\1\56\1\57\2\0\5\57"+ "\2\0\6\57\6\0\2\57\1\u0245\1\57\1\56\1\0"+ "\11\57\1\0\16\57\1\56\4\57\13\0\4\57\2\0"+ "\2\57\1\164\2\0\3\57\1\0\1\56\1\57\2\0"+ "\5\57\2\0\3\57\1\u021b\2\57\6\0\4\57\1\56"+ "\1\0\11\57\1\0\16\57\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\3\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\2\57\1\u0246\3\57\6\0\4\57"+ "\1\56\1\0\11\57\1\0\16\57\1\56\4\57\13\0"+ "\4\57\2\0\2\57\1\164\2\0\3\57\1\0\1\56"+ "\1\57\2\0\5\57\2\0\6\57\6\0\4\57\1\56"+ "\1\0\4\57\1\u0247\4\57\1\0\16\57\1\56\4\57"+ "\13\0\4\57\2\0\2\57\1\164\2\0\3\57\1\0"+ "\1\56\1\57\2\0\5\57\2\0\1\u0248\5\57\6\0"+ "\4\57\1\56\1\0\11\57\1\0\16\57\1\56\4\57"+ "\13\0\4\57\2\0\2\57\1\164\2\0\3\57\1\0"+ "\1\56\1\57\2\0\5\57\2\0\4\57\1\300\1\57"+ "\6\0\4\57\1\56\1\0\11\57\1\0\16\57\1\56"+ "\4\57\13\0\4\57\2\0\2\57\1\164\2\0\3\57"+ "\1\0\1\56\1\57\2\0\5\57\2\0\6\57\6\0"+ "\3\57\1\u0139\1\56\1\0\11\57\1\0\16\57\7\0"+ "\1\u023a\2\0\1\u023a\12\0\1\u023b\57\0\1\u023a\16\0"+ "\1\56\4\57\13\0\4\57\2\0\2\57\1\164\2\0"+ "\3\57\1\0\1\56\1\57\2\0\5\57\2\0\2\57"+ "\1\u0249\3\57\6\0\4\57\1\56\1\0\11\57\1\0"+ "\16\57\1\56\4\57\13\0\4\57\2\0\2\57\1\164"+ "\2\0\3\57\1\0\1\56\1\57\2\0\5\57\2\0"+ "\6\57\6\0\4\57\1\56\1\0\1\u0172\10\57\1\0"+ "\16\57\1\56\4\57\13\0\4\57\2\0\2\57\1\164"+ "\2\0\3\57\1\0\1\56\1\57\2\0\5\57\2\0"+ "\6\57\6\0\4\57\1\56\1\0\1\u024a\10\57\1\0"+ "\16\57\1\56\4\57\13\0\4\57\2\0\2\57\1\164"+ "\2\0\3\57\1\0\1\56\1\57\2\0\5\57\2\0"+ "\6\57\6\0\2\57\1\u024b\1\57\1\56\1\0\11\57"+ "\1\0\16\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\3\57\1\0\1\56\1\57\2\0\5\57"+ "\2\0\6\57\6\0\4\57\1\56\1\0\11\57\1\0"+ "\4\57\1\u01fa\11\57\1\56\4\57\13\0\4\57\2\0"+ "\2\57\1\164\2\0\2\57\1\u024c\1\0\1\56\1\57"+ "\2\0\5\57\2\0\6\57\6\0\4\57\1\56\1\0"+ "\11\57\1\0\16\57\1\56\4\57\13\0\4\57\2\0"+ "\2\57\1\164\2\0\1\u024d\2\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\6\57\6\0\4\57\1\56\1\0"+ "\11\57\1\0\16\57\1\56\4\57\13\0\4\57\2\0"+ "\2\57\1\164\2\0\3\57\1\0\1\56\1\57\2\0"+ "\5\57\2\0\1\u012e\5\57\6\0\4\57\1\56\1\0"+ "\11\57\1\0\16\57\1\56\4\57\13\0\4\57\2\0"+ "\2\57\1\164\2\0\3\57\1\0\1\56\1\57\2\0"+ "\5\57\2\0\3\57\1\u024e\2\57\6\0\4\57\1\56"+ "\1\0\11\57\1\0\16\57\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\3\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\1\u024f\5\57\6\0\4\57\1\56"+ "\1\0\11\57\1\0\16\57\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\1\57\1\222\1\57\1\0"+ "\1\56\1\57\2\0\5\57\2\0\6\57\6\0\4\57"+ "\1\56\1\0\11\57\1\0\16\57\1\56\4\57\13\0"+ "\4\57\2\0\2\57\1\164\2\0\1\57\1\u0172\1\57"+ "\1\0\1\56\1\57\2\0\5\57\2\0\6\57\6\0"+ "\4\57\1\56\1\0\11\57\1\0\16\57\1\56\4\57"+ "\13\0\4\57\2\0\2\57\1\164\2\0\3\57\1\0"+ "\1\56\1\57\2\0\5\57\2\0\6\57\6\0\4\57"+ "\1\56\1\0\4\57\1\u0250\4\57\1\0\16\57\1\56"+ "\4\57\13\0\4\57\2\0\2\57\1\164\2\0\3\57"+ "\1\0\1\56\1\57\2\0\5\57\2\0\1\57\1\u0251"+ "\4\57\6\0\4\57\1\56\1\0\11\57\1\0\16\57"+ "\1\56\4\57\13\0\4\57\2\0\2\57\1\164\2\0"+ "\3\57\1\0\1\56\1\57\2\0\5\57\2\0\6\57"+ "\6\0\4\57\1\56\1\0\11\57\1\0\15\57\1\u0252"+ "\1\56\4\57\13\0\4\57\2\0\2\57\1\164\2\0"+ "\3\57\1\0\1\56\1\57\2\0\5\57\2\0\2\57"+ "\1\u0253\3\57\6\0\4\57\1\56\1\0\11\57\1\0"+ "\16\57\1\56\4\57\13\0\4\57\2\0\2\57\1\164"+ "\2\0\3\57\1\0\1\56\1\57\2\0\5\57\2\0"+ "\4\57\1\u0254\1\57\6\0\4\57\1\56\1\0\11\57"+ "\1\0\16\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\1\57\1\u0255\1\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\6\57\6\0\4\57\1\56\1\0"+ "\11\57\1\0\16\57\1\56\4\57\13\0\4\57\2\0"+ "\2\57\1\164\2\0\3\57\1\0\1\56\1\57\2\0"+ "\5\57\2\0\6\57\6\0\4\57\1\56\1\0\2\57"+ "\1\u0206\6\57\1\0\16\57\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\3\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\6\57\6\0\4\57\1\56\1\0"+ "\6\57\1\u0256\2\57\1\0\16\57\1\56\4\57\13\0"+ "\4\57\2\0\2\57\1\164\2\0\3\57\1\0\1\56"+ "\1\57\2\0\5\57\2\0\6\57\6\0\3\57\1\u0172"+ "\1\56\1\0\11\57\1\0\16\57\1\56\4\57\13\0"+ "\4\57\2\0\2\57\1\164\2\0\3\57\1\0\1\56"+ "\1\57\2\0\4\57\1\u0257\2\0\6\57\6\0\4\57"+ "\1\56\1\0\11\57\1\0\16\57\1\56\4\57\13\0"+ "\4\57\2\0\2\57\1\164\2\0\1\u0258\2\57\1\0"+ "\1\56\1\57\2\0\5\57\2\0\6\57\6\0\4\57"+ "\1\56\1\0\11\57\1\0\16\57\1\56\4\57\13\0"+ "\1\u0259\3\57\2\0\2\57\1\164\2\0\3\57\1\0"+ "\1\56\1\57\2\0\5\57\2\0\6\57\6\0\4\57"+ "\1\56\1\0\11\57\1\0\16\57\1\56\4\57\13\0"+ "\4\57\2\0\2\57\1\164\2\0\3\57\1\0\1\56"+ "\1\57\2\0\5\57\2\0\2\57\1\u025a\3\57\6\0"+ "\4\57\1\56\1\0\11\57\1\0\16\57\1\56\4\57"+ "\13\0\4\57\2\0\2\57\1\164\2\0\3\57\1\0"+ "\1\56\1\57\2\0\5\57\2\0\6\57\6\0\4\57"+ "\1\56\1\0\2\57\1\u025b\6\57\1\0\16\57\1\56"+ "\4\57\13\0\4\57\2\0\2\57\1\164\2\0\3\57"+ "\1\0\1\56\1\57\2\0\5\57\2\0\3\57\1\u025c"+ "\2\57\6\0\4\57\1\56\1\0\11\57\1\0\16\57"+ "\1\56\4\57\13\0\4\57\2\0\2\57\1\164\2\0"+ "\3\57\1\0\1\56\1\57\2\0\5\57\2\0\6\57"+ "\6\0\4\57\1\56\1\0\11\57\1\0\1\57\1\u025d"+ "\14\57\1\56\4\57\13\0\4\57\2\0\2\57\1\164"+ "\2\0\3\57\1\0\1\56\1\57\2\0\5\57\2\0"+ "\3\57\1\u025e\2\57\6\0\4\57\1\56\1\0\11\57"+ "\1\0\16\57\1\56\4\57\13\0\4\57\2\0\2\57"+ "\1\164\2\0\3\57\1\0\1\56\1\57\2\0\5\57"+ "\2\0\4\57\1\u025f\1\57\6\0\4\57\1\56\1\0"+ "\11\57\1\0\16\57\1\56\4\57\13\0\4\57\2\0"+ "\2\57\1\164\2\0\3\57\1\0\1\56\1\57\2\0"+ "\5\57\2\0\5\57\1\u0240\6\0\4\57\1\56\1\0"+ "\11\57\1\0\16\57\1\56\4\57\13\0\4\57\2\0"+ "\2\57\1\164\2\0\3\57\1\0\1\56\1\57\2\0"+ "\5\57\2\0\5\57\1\u0172\6\0\4\57\1\56\1\0"+ "\11\57\1\0\16\57\1\56\4\57\13\0\4\57\2\0"+ "\2\57\1\164\2\0\3\57\1\0\1\56\1\57\2\0"+ "\5\57\2\0\6\57\6\0\3\57\1\u0240\1\56\1\0"+ "\11\57\1\0\16\57\1\56\4\57\13\0\4\57\2\0"+ "\2\57\1\164\2\0\3\57\1\0\1\56\1\57\2\0"+ "\5\57\2\0\2\57\1\u01fd\3\57\6\0\4\57\1\56"+ "\1\0\11\57\1\0\16\57\1\56\4\57\13\0\4\57"+ "\2\0\2\57\1\164\2\0\3\57\1\0\1\56\1\57"+ "\2\0\5\57\2\0\4\57\1\u0260\1\57\6\0\4\57"+ "\1\56\1\0\11\57\1\0\16\57\1\56\4\57\13\0"+ "\4\57\2\0\2\57\1\164\2\0\3\57\1\0\1\56"+ "\1\57\2\0\5\57\2\0\6\57\6\0\2\57\1\u0250"+ "\1\57\1\56\1\0\11\57\1\0\16\57\1\56\4\57"+ "\13\0\4\57\2\0\2\57\1\164\2\0\3\57\1\0"+ "\1\56\1\57\2\0\5\57\2\0\6\57\6\0\2\57"+ "\1\u0243\1\57\1\56\1\0\11\57\1\0\16\57"; private static int [] zzUnpackTrans() { int [] result = new int[47124]; int offset = 0; offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result); return result; } private static int zzUnpackTrans(String packed, int offset, int [] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); value--; do result[j++] = value; while (--count > 0); } return j; } /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; private static final int ZZ_PUSHBACK_2BIG = 2; /* error messages for the codes above */ private static final String ZZ_ERROR_MSG[] = { "Unkown internal scanner error", "Error: could not match input", "Error: pushback value was too large" }; /** * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute(); private static final String ZZ_ATTRIBUTE_PACKED_0 = "\5\0\2\1\1\0\2\1\4\0\2\1\1\11\4\1"+ "\1\11\2\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\1\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\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"+ "\1\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\1\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[608]; int offset = 0; offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result); return result; } private static int zzUnpackAttribute(String packed, int offset, int [] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } return j; } /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ private int zzState; /** the current lexical state */ private int zzLexicalState = YYINITIAL; /** this buffer contains the current text to be matched and is the source of the yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ private int zzMarkedPos; /** the current text position in the buffer */ private int zzCurrentPos; /** startRead marks the beginning of the yytext() string in the buffer */ private int zzStartRead; /** endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** zzAtEOF == true <=> the scanner is at the EOF */ private boolean zzAtEOF; /* user code: */ /** * Type specific to JSPTokenMaker denoting a line ending with an unclosed * double-quote attribute. */ public static final int INTERNAL_ATTR_DOUBLE = -1; /** * Type specific to JSPTokenMaker denoting a line ending with an unclosed * single-quote attribute. */ 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. */ 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. */ 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. */ 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. */ 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). */ 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). */ 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. */ public MxmlTokenMaker() { } static { completeCloseTags = true; } /** * 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. */ 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. * @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. */ 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. */ 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. */ @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. * * @return Whether closing markup tags are completed. * @see #setCompleteCloseTags(boolean) */ @Override 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. * * @return Whether closing markup tags are completed. * @see #setCompleteCloseTags(boolean) */ 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. */ @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. * * @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) { resetTokenList(); this.offsetShift = -text.offset + startOffset; // 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; } s = text; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); return new TokenImpl(); } } /** * Sets whether markup close tags should be 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. */ 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. * * 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 */ 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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = s.offset; zzLexicalState = YYINITIAL; 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. */ public MxmlTokenMaker(java.io.Reader in) { this.zzReader = in; } /** * Creates a new scanner. * There is also java.io.Reader version of this constructor. * * @param in the java.io.Inputstream to read input from. */ public MxmlTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } /** * Unpacks the compressed character translation table. * * @param packed the packed character translation table * @return the unpacked character translation table */ private static char [] zzUnpackCMap(String packed) { char [] map = new char[0x10000]; int i = 0; /* index in packed string */ int j = 0; /* index in unpacked array */ while (i < 190) { int count = packed.charAt(i++); char value = packed.charAt(i++); do map[j++] = value; while (--count > 0); } return map; } /** * Closes the input stream. */ public final void yyclose() throws java.io.IOException { zzAtEOF = true; /* indicate end of file */ zzEndRead = zzStartRead; /* invalidate buffer */ if (zzReader != null) zzReader.close(); } /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } /** * Enters a 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 yylength()-1. * * @return the character at position pos */ public final char yycharat(int pos) { return zzBuffer[zzStartRead+pos]; } /** * Returns the length of the matched text region. */ public final int yylength() { return zzMarkedPos-zzStartRead; } /** * Reports an error that occured while scanning. * * In a wellformed scanner (no or only correct usage of * yypushback(int) and a match-all fallback rule) this method * will only be called with things that "Can't Possibly Happen". * If this method is called, something is seriously wrong * (e.g. a JFlex bug producing a faulty scanner etc.). * * Usual syntax/scanner level error handling should be done * in error fallback rules. * * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; try { message = ZZ_ERROR_MSG[errorCode]; } catch (ArrayIndexOutOfBoundsException e) { message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR]; } throw new Error(message); } /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * * @param number the number of characters to be read again. * This number must not be greater than yylength()! */ public void yypushback(int number) { if ( number > yylength() ) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } /** * Resumes scanning until the next regular expression is matched, * the end of input is encountered or an I/O-Error occurs. * * @return the next token * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; int zzAction; // cached fields: int zzCurrentPosL; int zzMarkedPosL; int zzEndReadL = zzEndRead; char [] zzBufferL = zzBuffer; char [] zzCMapL = ZZ_CMAP; int [] zzTransL = ZZ_TRANS; int [] zzRowMapL = ZZ_ROWMAP; int [] zzAttrL = ZZ_ATTRIBUTE; while (true) { zzMarkedPosL = zzMarkedPos; zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; else if (zzAtEOF) { zzInput = YYEOF; break zzForAction; } else { // store back cached positions zzCurrentPos = zzCurrentPosL; zzMarkedPos = zzMarkedPosL; boolean eof = zzRefill(); // get translated positions and possibly new buffer zzCurrentPosL = zzCurrentPos; zzMarkedPosL = zzMarkedPos; zzBufferL = zzBuffer; zzEndReadL = zzEndRead; if (eof) { zzInput = YYEOF; break zzForAction; } else { zzInput = zzBufferL[zzCurrentPosL++]; } } int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ]; if (zzNext == -1) break zzForAction; zzState = zzNext; int zzAttributes = zzAttrL[zzState]; if ( (zzAttributes & 1) == 1 ) { zzAction = zzState; zzMarkedPosL = zzCurrentPosL; if ( (zzAttributes & 8) == 8 ) break zzForAction; } } } // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { case 2: { addToken(Token.IDENTIFIER); } case 58: break; case 52: { addToken(Token.LITERAL_BOOLEAN); } case 59: break; case 29: { addToken(start,zzStartRead-1, Token.COMMENT_EOL); addEndToken(INTERNAL_IN_AS); return firstToken; } case 60: break; case 50: { addToken(Token.ERROR_CHAR); } case 61: break; case 34: { addToken(Token.ERROR_NUMBER_FORMAT); } case 62: break; case 24: { addEndToken(INTERNAL_IN_AS); return firstToken; } case 63: break; case 19: { start = zzMarkedPos-1; yybegin(INATTR_SINGLE_SCRIPT); } case 64: break; case 13: { yybegin(YYINITIAL); addToken(Token.MARKUP_TAG_DELIMITER); } case 65: break; case 26: { addToken(Token.ERROR_CHAR); addNullToken(); return firstToken; } case 66: break; case 38: { addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); } case 67: break; case 53: { addToken(Token.FUNCTION); } case 68: 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 69: break; case 31: { start = zzMarkedPos-2; yybegin(DTD); } case 70: break; case 27: { addToken(Token.ERROR_STRING_DOUBLE); addNullToken(); return firstToken; } case 71: break; case 21: { yybegin(INTAG_SCRIPT); addToken(start,zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); } case 72: break; case 56: { addToken(Token.MARKUP_CDATA_DELIMITER); start = zzMarkedPos; yybegin(CDATA); } case 73: break; case 22: { addToken(Token.ERROR_IDENTIFIER); } case 74: break; case 4: { addToken(Token.MARKUP_TAG_DELIMITER); yybegin(INTAG); } case 75: break; case 28: { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addEndToken(INTERNAL_IN_AS_MLC); return firstToken; } case 76: break; case 46: { addToken(Token.MARKUP_CDATA_DELIMITER); } case 77: break; case 45: { int temp=zzStartRead; yybegin(YYINITIAL); addToken(start,zzStartRead-1, Token.MARKUP_CDATA); addToken(temp,zzMarkedPos-1, Token.MARKUP_CDATA_DELIMITER); } case 78: break; case 17: { yybegin(INTAG); addToken(start,zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); } case 79: break; case 37: { addToken(Token.LITERAL_CHAR); } case 80: break; case 32: { start = zzMarkedPos-2; yybegin(PI); } case 81: break; case 15: { start = zzMarkedPos-1; yybegin(INATTR_DOUBLE); } case 82: break; case 42: { yybegin(AS); addToken(start,zzStartRead+1, Token.COMMENT_MULTILINE); } case 83: break; case 7: { addToken(start,zzStartRead-1, Token.MARKUP_COMMENT); return firstToken; } case 84: break; case 9: { addToken(start,zzStartRead-1, Token.MARKUP_DTD); return firstToken; } case 85: break; case 36: { addToken(Token.LITERAL_NUMBER_HEXADECIMAL); } case 86: break; case 8: { addToken(start,zzStartRead-1, Token.MARKUP_PROCESSING_INSTRUCTION); return firstToken; } case 87: break; case 20: { start = zzMarkedPos-1; yybegin(INATTR_DOUBLE_SCRIPT); } case 88: break; case 41: { start = zzMarkedPos-2; yybegin(AS_MLC); } case 89: break; case 16: { addToken(Token.MARKUP_TAG_DELIMITER); /* Not valid but we'll still accept it */ } case 90: break; case 5: { addToken(Token.WHITESPACE); } case 91: 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--; } 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 * * 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * 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.
  • *
  • You should NOT call yylex() on the generated scanner * directly; rather, you should use getTokenList as you would * with any other TokenMaker instance.
  • *
* * @author Robert Futrell * @version 0.5 * */ %% %public %class SASTokenMaker %extends AbstractJFlexTokenMaker %unicode %ignorecase %type org.fife.ui.rsyntaxtextarea.Token %{ /** * 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. */ 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. */ 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. */ @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 text to place at the beginning and end of a * line to "comment" it in a this programming language. * * @return The start and end strings to add to a line to "comment" * it out. */ @Override public String[] getLineCommentStartAndEnd() { return new String[] { "*", null }; } /** * 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. */ 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. * * @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) { resetTokenList(); this.offsetShift = -text.offset + startOffset; // 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; } s = text; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); return new TokenImpl(); } } /** * Refills the input buffer. * * @return true if EOF was reached, otherwise * false. * @exception IOException if any I/O-Error occurs. */ private boolean zzRefill() throws java.io.IOException { return zzCurrentPos>=s.offset+s.count; } /** * 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 */ public final void yyreset(java.io.Reader reader) throws java.io.IOException { // '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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = zzPushbackPos = s.offset; zzLexicalState = YYINITIAL; zzReader = reader; zzAtBOL = true; zzAtEOF = false; } %} LineTerminator = ([\n]) Letter = ([A-Za-z_]) Digit = ([0-9]) Whitespace = ([ \t]+) Semicolon = ([;]) Identifier = (({Letter}|{Digit})+) MacroVariable = (&{Identifier}) Operators1 = ("+"|"-"|"*"|"/"|"^"|"|") Operators2 = (([\^\~]?=)|(">"[=]?)|("<"[=]?)) Operators3 = ("eq"|"ne"|"gt"|"lt"|"ge"|"le"|"in") Operator = ({Operators1}|{Operators2}|{Operators3}) Separator = ([\(\)]) StringBoundary = (\") CharBoundary = (\') LineCommentBegin = ("*") MLCBegin = ("/*") MLCEnd = ("*/") %state STRING %state CHAR %state MLC %% { /* Keywords */ "_all_" | "_character_" | "_data_" | "_infile_" | "_last_" | "_null_" | "_numeric_" | "_page_" | "_temporary_" | "abend" | "abort" | "all" | "alter" | "and" | "array" | "as" | "ascending" | "attrib" | "axis" | "bell" | "blank" | "border" | "bounds" | "by" | "call" | "cancel" | "cards" | "cards4" | "choro" | "class" | "classes" | "clear" | "close" | "compute" | "contrast" | "coord" | "coordinates" | "cov" | "create" | "data" | "datalines" | "datalines4" | "delete" | "descending" | "describe" | "discrete" | "disk" | "display" | "dm" | "do" | "drop" | "dummy" | "else" | "end" | "endrsubmit" | "endsas" | "error" | "except" | "expandtabs" | "factors" | "file" | "filename" | "flowover" | "footnote" | "frame" | "freq" | "from" | "go" | "goption" | "goptions" | "goto" | "grid" | "group" | "groupby" | "groupformat" | "having" | "haxis" | "hbar" | "heading" | "high" | "html" | "id" | "if" | "infile" | "informat" | "inner" | "input" | "insert" | "intersect" | "keep" | "keylabel" | "label" | "lable" | "legend" | "length" | "libname" | "lineqs" | "link" | "list" | "listing" | "log" | "lostcard" | "low" | "mark" | "matings" | "mean" | "merge" | "missing" | "missover" | "mod" | "model" | "modify" | "n" | "nocell" | "nocharacters" | "nodupkey" | "noexpandtabs" | "noframe" | "noheading" | "noinput" | "nolegend" | "nopad" | "noprint" | "nosharebuffers" | "not" | "note" | "notitle" | "notitles" | "notsorted" | "ods" | "old" | "option" | "or" | "order" | "orderby" | "other" | "otherwise" | "outer" | "output" | "over" | "overlay" | "overprint" | "pad" | "pageby" | "pagesize" | "parmcards" | "parmcards4" | "parms" | "pattern" | "pct" | "pctn" | "pctsum" | "picture" | "pie" | "pie3d" | "plotter" | "predict" | "prefix" | "printer" | "proc" | "ps" | "put" | "quit" | "random" | "range" | "remove" | "rename" | "response" | "replace" | "reset" | "retain" | "return" | "rsubmit" | "run" | "s2" | "select" | "set" | "sharebuffers" | "signoff" | "signon" | "sim" | "skip" | "source2" | "startsas" | "std" | "stop" | "stopover" | "strata" | "sum" | "sumby" | "supvar" | "symbol" | "table" | "tables" | "tape" | "terminal" | "test" | "then" | "time" | "title" | "to" | "transform" | "treatments" | "truncover" | "unbuf" | "unbuffered" | "union" | "until" | "update" | "validate" | "value" | "var" | "variables" | "vaxis" | "vbar" | "weight" | "when" | "where" | "while" | "with" | "window" | "x" { addToken(Token.RESERVED_WORD); } /* Base SAS procs. */ "append" | "calendar" | "catalog" | "chart" | "cimport" | "compare" | "contents" | "copy" | "cpm" | "cport" | "datasets" | "display" | "explode" | "export" | "fontreg" | "format" | "forms" | "fslist" | "import" | "means" | "migrate" | "options" | "optload" | "optsave" | "plot" | "pmenu" | "print" | "printto" | "proto" | "prtdef" | "prtexp" | "pwencode" | "rank" | "registry" | "report" | "sort" | "sql" | "standard" | "summary" | "tabulate" | "template" | "timeplot" | "transpose" { addToken(Token.DATA_TYPE); } /* SAS/STAT procs. */ "corr" | "freq" | "univariate" { addToken(Token.DATA_TYPE); } /* Macros. */ "%abort" | "%bquote" | "%by" | "%cms" | "%copy" | "%display" | "%do" | "%else" | "%end" | "%eval" | "%global" | "%go" | "%goto" | "%if" | "%inc" | "%include" | "%index" | "%input" | "%keydef" | "%length" | "%let" | "%local" | "%macro" | "%mend" | "%nrbquote" | "%nrquote" | "%nrstr" | "%put" | "%qscan" | "%qsubstr" | "%qsysfunc" | "%quote" | "%qupcase" | "%scan" | "%str" | "%substr" | "%superq" | "%syscall" | "%sysevalf" | "%sysexec" | "%sysfunc" | "%sysget" | "%sysprod" | "%sysrput" | "%then" | "%to" | "%tso" | "%unquote" | "%until" | "%upcase" | "%while" | "%window" { addToken(Token.FUNCTION); } } { {LineTerminator} { addNullToken(); return firstToken; } /* Comments. */ /* Do comments before operators as "*" can signify a line comment as */ /* well as an operator. */ ^[ \t]*{LineCommentBegin} { // 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; } // 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); } } {MLCBegin} { start = zzMarkedPos-2; yybegin(MLC); } /* Do operators before identifiers since some of them are words. */ {Operator} { addToken(Token.OPERATOR); } {Separator} { addToken(Token.SEPARATOR); } {Identifier} { addToken(Token.IDENTIFIER); } {MacroVariable} { addToken(Token.VARIABLE); } {Semicolon} { addToken(Token.IDENTIFIER); } {Whitespace} { addToken(Token.WHITESPACE); } {StringBoundary} { start = zzMarkedPos-1; yybegin(STRING); } {CharBoundary} { start = zzMarkedPos-1; yybegin(CHAR); } <> { addNullToken(); return firstToken; } /* Catch any other (unhandled) characters and flag them as OK; */ /* This will include "." from statements like "from lib.dataset". */ . { addToken(Token.IDENTIFIER); } } { [^\n\"]+ {} {LineTerminator} { addToken(start,zzStartRead-1, Token.LITERAL_STRING_DOUBLE_QUOTE); return firstToken; } /* {StringBoundary}{StringBoundary} {} */ {StringBoundary} { yybegin(YYINITIAL); addToken(start,zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); } <> { addToken(start,zzStartRead-1, Token.LITERAL_STRING_DOUBLE_QUOTE); return firstToken; } } { [^\n\']+ {} {LineTerminator} { yybegin(YYINITIAL); addToken(start,zzStartRead-1, Token.LITERAL_CHAR); return firstToken; } /* {CharBoundary}{CharBoundary} {} */ {CharBoundary} { yybegin(YYINITIAL); addToken(start,zzStartRead, Token.LITERAL_CHAR); } <> { addToken(start,zzStartRead-1, Token.LITERAL_CHAR); return firstToken; } } { [^\n\*]+ {} {LineTerminator} { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); return firstToken; } {MLCEnd} { yybegin(YYINITIAL); addToken(start,zzStartRead+1, Token.COMMENT_MULTILINE); } \* {} <> { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); return firstToken; } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/SASTokenMaker.java0000644000175000001440000016622712202002502027140 0ustar benusers/* The following code was generated by JFlex 1.4.1 on 1/20/09 10:04 AM */ /* * 02/25/2005 * * SASTokenMaker.java - Scanner for SAS files. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.*; /** * This class generates tokens representing a text stream as SAS.

* * 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * 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.
  • *
  • You should NOT call yylex() on the generated scanner * directly; rather, you should use getTokenList as you would * with any other TokenMaker instance.
  • *
* * @author Robert Futrell * @version 0.5 * */ public class SASTokenMaker extends AbstractJFlexTokenMaker { /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ public static final int STRING = 2; public static final int YYINITIAL = 0; public static final int MLC = 6; 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 */ private static final int ZZ_LEXSTATE[] = { 0, 1, 2, 2, 3, 3, 4, 4 }; /** * Translates characters to character classes */ private static final String ZZ_CMAP_PACKED = "\11\0\1\3\1\1\25\0\1\3\1\0\1\23\2\0\1\53\1\4"+ "\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"; /** * Translates characters to character classes */ private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED); /** * Translates DFA states to action switch labels. */ private static final int [] ZZ_ACTION = zzUnpackAction(); private static final String ZZ_ACTION_PACKED_0 = "\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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } return j; } /** * 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\54\0\130\0\204\0\260\0\334\0\334\0\u0108"+ "\0\u0134\0\u0160\0\334\0\u018c\0\u01b8\0\u01b8\0\u01e4\0\u0210"+ "\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\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"+ "\0\u0b00\0\u0b2c\0\u0b58\0\u0b84\0\u0bb0\0\u0bdc\0\u0c08\0\u0c34"+ "\0\u0c60\0\u0c8c\0\u0cb8\0\u0ce4\0\u0d10\0\u0d3c\0\u0d68\0\u0d94"+ "\0\u0dc0\0\u0dec\0\u0e18\0\u0e44\0\u0e70\0\u0e9c\0\u0ec8\0\u0ef4"+ "\0\u0f20\0\u0f4c\0\u0f78\0\u0fa4\0\u0fd0\0\u0ffc\0\u1028\0\u1054"+ "\0\u1080\0\u10ac\0\u10d8\0\u1104\0\u1130\0\u115c\0\u1188\0\u11b4"+ "\0\u11e0\0\u120c\0\u1238\0\u1264\0\u1290\0\u12bc\0\u12e8\0\u1314"+ "\0\u1340\0\u136c\0\u1398\0\u13c4\0\u13f0\0\u141c\0\u1448\0\u1474"+ "\0\u14a0\0\u14cc\0\u14f8\0\u1524\0\u1550\0\u157c\0\u15a8\0\u15d4"+ "\0\u1600\0\u162c\0\u1658\0\u1684\0\u16b0\0\u16dc\0\u1708\0\u1734"+ "\0\u1760\0\u178c\0\u17b8\0\u17e4\0\u1810\0\u183c\0\u1868\0\u1894"+ "\0\u18c0\0\u18ec\0\u1918\0\u1944\0\u1970\0\u199c\0\u19c8\0\u19f4"+ "\0\u1a20\0\u1a4c\0\u1a78\0\u1aa4\0\334\0\u1ad0\0\u1afc\0\u1b28"+ "\0\u1b54\0\u1b80\0\u1bac\0\u1bd8\0\u1c04\0\u1c30\0\u1c5c\0\u1c88"+ "\0\u1cb4\0\u1ce0\0\u1d0c\0\u1d38\0\u1d64\0\u1d90\0\u1dbc\0\u1de8"+ "\0\u1e14\0\u1e40\0\u1e6c\0\u1e98\0\u1ec4\0\u1ef0\0\u1f1c\0\u1f48"+ "\0\u1f74\0\u1fa0\0\u1fcc\0\u1ff8\0\u2024\0\u2050\0\u207c\0\u20a8"+ "\0\u20d4\0\u2100\0\u212c\0\u2158\0\u2184\0\u21b0\0\u21dc\0\u2208"+ "\0\u2234\0\u2260\0\u228c\0\u22b8\0\u22e4\0\u2310\0\u233c\0\u2368"+ "\0\u2394\0\u23c0\0\u23ec\0\u2418\0\u2444\0\u2470\0\u249c\0\u24c8"+ "\0\u24f4\0\u2520\0\u0108\0\u254c\0\u2578\0\u25a4\0\u25d0\0\u25fc"+ "\0\u2628\0\u2654\0\u2680\0\u26ac\0\u26d8\0\u2704\0\u2730\0\u275c"+ "\0\u2788\0\u27b4\0\u27e0\0\u280c\0\u2838\0\u2864\0\u2890\0\u28bc"+ "\0\u28e8\0\u2914\0\u2940\0\u296c\0\u2998\0\u29c4\0\u29f0\0\u2a1c"+ "\0\u2a48\0\u2a74\0\u2aa0\0\u2acc\0\u2af8\0\u2b24\0\u2b50\0\u2b7c"+ "\0\u2ba8\0\u2bd4\0\u2c00\0\u2c2c\0\u2c58\0\u2c84\0\u2cb0\0\u2cdc"+ "\0\u2d08\0\u2d34\0\u2d60\0\u2d8c\0\u2db8\0\u2de4\0\u2e10\0\u2e3c"+ "\0\u2e68\0\u2e94\0\u2ec0\0\u2eec\0\u2f18\0\u2f44\0\u2f70\0\u2f9c"+ "\0\u2fc8\0\u2ff4\0\u3020\0\u304c\0\u3078\0\u30a4\0\u30d0\0\u30fc"+ "\0\u3128\0\u3154\0\u3180\0\u31ac\0\u31d8\0\u3204\0\u3230\0\u325c"+ "\0\u3288\0\u32b4\0\u32e0\0\u330c\0\u3338\0\u3364\0\u3390\0\u33bc"+ "\0\u33e8\0\u3414\0\u3440\0\u346c\0\u3498\0\u34c4\0\u34f0\0\334"+ "\0\u351c\0\u3548\0\u3574\0\u35a0\0\u35cc\0\u35f8\0\u3624\0\u3650"+ "\0\u367c\0\u36a8\0\u36d4\0\u3700\0\u372c\0\u3758\0\u3784\0\u37b0"+ "\0\u37dc\0\u3808\0\u3834\0\u3860\0\u388c\0\u38b8\0\u38e4\0\u3910"+ "\0\u393c\0\u3968\0\u3994\0\u39c0\0\u39ec\0\u3a18\0\u3a44\0\u3a70"+ "\0\u3a9c\0\u3ac8\0\u3af4\0\u3b20\0\u3b4c\0\u3b78\0\u3ba4\0\u3bd0"+ "\0\u3bfc\0\u3c28\0\u3c54\0\u3c80\0\u26ac\0\u3cac\0\u3cd8\0\u3d04"+ "\0\u3d30\0\u3d5c\0\u3d88\0\u3db4\0\u3de0\0\u3e0c\0\u3e38\0\u3e64"+ "\0\u3e90\0\u3ebc\0\u3ee8\0\u3f14\0\u3f40\0\u3f6c\0\u3f98\0\u3fc4"+ "\0\u3ff0\0\u401c\0\u4048\0\u4074\0\u40a0\0\u40cc\0\u40f8\0\u4124"+ "\0\u4150\0\u417c\0\u41a8\0\u41d4\0\u4200\0\u422c\0\u4258\0\u4284"+ "\0\u42b0\0\u42dc\0\u4308\0\u1ff8\0\u4334\0\u4360\0\u438c\0\u43b8"+ "\0\u43e4\0\u4410\0\u443c\0\u4468\0\u4494\0\u4308\0\u44c0\0\u44ec"+ "\0\u4518\0\u4544\0\u4570\0\u459c\0\u45c8\0\u45f4\0\u4620\0\u464c"+ "\0\u4678\0\u46a4\0\u46d0\0\u46fc\0\u4728\0\u4754\0\u4780\0\u47ac"+ "\0\u47d8\0\u4804\0\u4830\0\u485c\0\u4888\0\u48b4\0\u48e0\0\u490c"+ "\0\u4938\0\u4964\0\u4990\0\u49bc\0\u49e8\0\u4a14\0\u4a40\0\u4a6c"+ "\0\u4a98\0\u4ac4\0\u4af0\0\u4b1c\0\u4b48\0\u4b74\0\u4ba0\0\u4bcc"+ "\0\u4bf8\0\u4c24\0\u4c50\0\u4c7c\0\u4ca8\0\u4cd4\0\u4d00\0\u4d2c"+ "\0\u4d58\0\u4d84\0\u4db0\0\u4ddc\0\u4e08\0\u4e34\0\u4e60\0\u4e8c"+ "\0\u4eb8\0\u4ee4\0\u4f10\0\u4f3c\0\u4f68\0\u4f94\0\u4fc0\0\u4fec"+ "\0\u5018\0\u5044\0\u5070\0\u509c\0\u50c8\0\u50f4\0\u5120\0\u514c"+ "\0\u15d4\0\u5178\0\u51a4\0\u51d0\0\u51fc\0\u5228\0\u5254\0\u5280"+ "\0\u52ac\0\u52d8\0\u5304\0\u5330\0\u535c\0\u5388\0\u53b4\0\u53e0"+ "\0\u540c\0\u5438\0\u5464\0\u5490\0\u54bc\0\u54e8\0\u5514\0\u5540"+ "\0\u556c\0\u5598\0\u55c4\0\u55f0\0\u561c\0\u5648\0\u5674\0\u56a0"+ "\0\u56cc\0\u56f8\0\u5724\0\u5750\0\u577c\0\u57a8\0\u57d4\0\u5800"+ "\0\u582c\0\u5858\0\u5884\0\u58b0\0\u58dc\0\u5908\0\u5934\0\u5960"+ "\0\u598c\0\u59b8\0\u59e4\0\u5a10\0\u5a3c\0\u5a68\0\u5a94\0\u5ac0"+ "\0\u5aec\0\u5b18\0\u5b44\0\u5b70\0\u5b9c\0\u5bc8\0\u5bf4\0\u5c20"+ "\0\u5c4c\0\u5c78\0\u5ca4\0\u5cd0\0\u5cfc\0\u5d28\0\u5d54\0\u5d80"+ "\0\u5dac\0\u5dd8\0\u5e04\0\u5e30\0\u5e5c\0\u5e88\0\u5eb4\0\u5ee0"+ "\0\u5f0c\0\u5f38\0\u5f64\0\u5f90\0\u5fbc\0\u5fe8\0\u6014\0\u6040"+ "\0\u606c\0\u6098\0\u60c4\0\u60f0\0\u611c\0\u6148\0\u6174\0\u61a0"+ "\0\u61cc\0\u61f8\0\u6224\0\u6250\0\u627c\0\u62a8\0\u62d4\0\u6300"+ "\0\u632c\0\u6358\0\u6384\0\u63b0\0\u63dc\0\u6408\0\u6434\0\u6460"+ "\0\u648c\0\u64b8\0\u64e4\0\u6510\0\u653c\0\u6568\0\u6594\0\u65c0"+ "\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 */ int l = packed.length(); while (i < l) { int high = packed.charAt(i++) << 16; result[j++] = high | packed.charAt(i++); } 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"+ "\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"+ "\3\0\1\10\1\u0161\11\10\1\350\12\10\3\0\1\10"+ "\10\0\7\10\3\0\16\10\1\u0162\7\10\3\0\1\10"+ "\10\0\1\46\5\10\1\u0163\3\0\7\10\1\u0164\16\10"+ "\3\0\1\10\10\0\1\u0165\6\10\3\0\26\10\3\0"+ "\1\10\10\0\2\10\1\u0166\4\10\3\0\26\10\3\0"+ "\1\10\10\0\1\224\6\10\3\0\3\10\1\u0167\22\10"+ "\3\0\1\10\10\0\1\143\6\10\3\0\26\10\3\0"+ "\1\10\10\0\7\10\3\0\10\10\1\u0168\15\10\3\0"+ "\1\10\10\0\7\10\3\0\4\10\1\366\21\10\3\0"+ "\1\10\10\0\7\10\3\0\3\10\1\173\22\10\3\0"+ "\1\10\10\0\7\10\3\0\1\10\1\124\2\10\1\u0169"+ "\21\10\3\0\1\10\10\0\7\10\3\0\10\10\1\u016a"+ "\15\10\3\0\1\10\10\0\7\10\3\0\13\10\1\46"+ "\12\10\3\0\1\10\10\0\4\10\1\u016b\2\10\3\0"+ "\26\10\3\0\1\10\10\0\7\10\3\0\11\10\1\u016c"+ "\14\10\3\0\1\10\10\0\7\10\3\0\12\10\1\u016d"+ "\13\10\3\0\1\10\10\0\5\10\1\257\1\10\3\0"+ "\26\10\3\0\1\10\10\0\1\u016e\6\10\3\0\26\10"+ "\3\0\1\10\10\0\5\10\1\u016f\1\10\3\0\10\10"+ "\1\u016d\15\10\3\0\1\10\10\0\7\10\3\0\1\10"+ "\1\u0170\24\10\3\0\1\10\10\0\2\10\1\u0171\4\10"+ "\3\0\26\10\3\0\1\10\10\0\2\10\1\u0172\4\10"+ "\3\0\26\10\3\0\1\10\10\0\3\10\1\u0173\3\10"+ "\3\0\26\10\3\0\1\10\10\0\1\341\6\10\3\0"+ "\26\10\3\0\1\10\10\0\1\u0174\6\10\3\0\17\10"+ "\1\46\6\10\3\0\1\10\10\0\4\10\1\u0175\2\10"+ "\3\0\26\10\3\0\1\10\10\0\2\10\1\366\4\10"+ "\3\0\26\10\3\0\1\10\10\0\1\362\4\10\1\257"+ "\1\10\3\0\26\10\3\0\1\10\10\0\4\10\1\u0176"+ "\2\10\3\0\26\10\3\0\1\10\10\0\1\365\6\10"+ "\3\0\26\10\3\0\1\10\10\0\1\u0177\6\10\3\0"+ "\26\10\3\0\1\10\10\0\6\10\1\302\3\0\13\10"+ "\1\u0178\12\10\3\0\1\10\10\0\1\342\6\10\3\0"+ "\26\10\3\0\1\10\10\0\7\10\3\0\10\10\1\213"+ "\15\10\3\0\1\10\10\0\7\10\3\0\13\10\1\350"+ "\12\10\3\0\1\10\10\0\5\10\1\331\1\10\3\0"+ "\11\10\1\u0179\14\10\3\0\1\10\10\0\7\10\3\0"+ "\11\10\1\u017a\14\10\3\0\1\10\10\0\7\10\3\0"+ "\7\10\1\u017b\16\10\3\0\1\10\10\0\7\10\3\0"+ "\6\10\1\u017c\17\10\3\0\1\10\10\0\5\10\1\u017d"+ "\1\10\3\0\26\10\3\0\1\10\10\0\7\10\3\0"+ "\1\10\1\u017e\24\10\3\0\1\10\10\0\4\10\1\u017f"+ "\2\10\3\0\26\10\3\0\1\10\10\0\3\10\1\u0180"+ "\3\10\3\0\26\10\3\0\1\10\10\0\7\10\3\0"+ "\4\10\1\u0181\21\10\3\0\1\10\10\0\7\10\3\0"+ "\1\10\1\u0182\24\10\3\0\1\10\10\0\1\u0183\6\10"+ "\3\0\26\10\3\0\1\10\10\0\1\u0184\6\10\3\0"+ "\26\10\3\0\1\10\10\0\2\10\1\124\4\10\3\0"+ "\26\10\3\0\1\10\10\0\7\10\3\0\4\10\1\213"+ "\21\10\3\0\1\10\10\0\7\10\3\0\7\10\1\u0185"+ "\16\10\3\0\1\10\10\0\7\10\3\0\2\10\1\u0186"+ "\23\10\3\0\1\10\10\0\7\10\3\0\1\10\1\u0187"+ "\24\10\3\0\1\10\10\0\1\u0188\4\10\1\46\1\10"+ "\3\0\26\10\3\0\1\10\10\0\7\10\3\0\5\10"+ "\1\u0189\20\10\3\0\1\10\10\0\7\10\3\0\4\10"+ "\1\u0116\21\10\3\0\1\10\10\0\7\10\3\0\4\10"+ "\1\276\21\10\3\0\1\10\10\0\7\10\3\0\1\10"+ "\1\u018a\24\10\3\0\1\10\10\0\4\10\1\u018b\2\10"+ "\3\0\26\10\3\0\1\10\10\0\7\10\3\0\4\10"+ "\1\353\21\10\3\0\1\10\10\0\7\10\3\0\12\10"+ "\1\u018c\13\10\3\0\1\10\10\0\7\10\3\0\14\10"+ "\1\353\11\10\3\0\1\10\10\0\7\10\3\0\4\10"+ "\1\u018d\21\10\3\0\1\10\10\0\7\10\3\0\5\10"+ "\1\364\20\10\3\0\1\10\10\0\5\10\1\46\1\10"+ "\3\0\26\10\3\0\1\10\10\0\7\10\3\0\3\10"+ "\1\46\22\10\3\0\1\10\10\0\6\10\1\u018e\3\0"+ "\26\10\3\0\1\10\10\0\7\10\3\0\4\10\1\46"+ "\21\10\3\0\1\10\10\0\7\10\3\0\1\10\1\u0108"+ "\24\10\3\0\1\10\10\0\6\10\1\u018f\3\0\26\10"+ "\3\0\1\10\10\0\7\10\3\0\1\10\1\u0190\6\10"+ "\1\u0191\15\10\3\0\1\10\10\0\1\213\6\10\3\0"+ "\12\10\1\u0192\13\10\3\0\1\10\10\0\7\10\3\0"+ "\13\10\1\u0193\12\10\3\0\1\10\10\0\5\10\1\u0194"+ "\1\10\3\0\13\10\1\350\12\10\3\0\1\10\10\0"+ "\3\10\1\257\3\10\3\0\5\10\1\u0195\11\10\1\353"+ "\6\10\3\0\1\10\10\0\7\10\3\0\15\10\1\u0196"+ "\10\10\3\0\1\10\10\0\1\u018a\6\10\3\0\26\10"+ "\3\0\1\10\10\0\7\10\3\0\2\10\1\u0197\23\10"+ "\3\0\1\10\10\0\7\10\3\0\2\10\1\u0198\7\10"+ "\1\u0199\4\10\1\46\6\10\3\0\1\10\10\0\7\10"+ "\3\0\1\10\1\u019a\24\10\3\0\1\10\10\0\7\10"+ "\3\0\12\10\1\46\13\10\3\0\1\10\10\0\7\10"+ "\3\0\11\10\1\u0182\14\10\3\0\1\10\10\0\7\10"+ "\3\0\22\10\1\u019b\3\10\3\0\1\10\10\0\1\u019c"+ "\6\10\3\0\26\10\3\0\1\10\10\0\4\10\1\u019d"+ "\2\10\3\0\26\10\3\0\1\10\10\0\1\10\1\46"+ "\5\10\3\0\26\10\3\0\1\10\10\0\7\10\3\0"+ "\11\10\1\257\14\10\3\0\1\10\10\0\7\10\3\0"+ "\11\10\1\46\14\10\3\0\1\10\10\0\6\10\1\u019e"+ "\3\0\26\10\3\0\1\10\10\0\4\10\1\u019f\2\10"+ "\3\0\26\10\3\0\1\10\10\0\7\10\3\0\11\10"+ "\1\u01a0\14\10\3\0\1\10\10\0\4\10\1\u01a1\2\10"+ "\3\0\26\10\3\0\1\10\10\0\1\u01a2\6\10\3\0"+ "\26\10\3\0\1\10\10\0\2\10\1\u01a3\4\10\3\0"+ "\4\10\1\u01a4\21\10\3\0\1\10\10\0\7\10\3\0"+ "\1\10\1\u01a5\24\10\3\0\1\10\10\0\7\10\3\0"+ "\12\10\1\u01a6\13\10\3\0\1\10\10\0\2\10\1\u01a7"+ "\4\10\3\0\26\10\3\0\1\10\10\0\7\10\3\0"+ "\4\10\1\u01a8\21\10\3\0\1\10\10\0\7\10\3\0"+ "\11\10\1\u01a9\3\10\1\u0182\10\10\3\0\1\10\10\0"+ "\7\10\3\0\21\10\1\147\4\10\3\0\1\10\10\0"+ "\4\10\1\353\2\10\3\0\26\10\3\0\1\10\10\0"+ "\7\10\3\0\4\10\1\u01aa\21\10\3\0\1\10\10\0"+ "\7\10\3\0\15\10\1\u01ab\10\10\3\0\1\10\10\0"+ "\6\10\1\362\3\0\26\10\3\0\1\10\10\0\7\10"+ "\3\0\13\10\1\153\5\10\1\u01ac\4\10\3\0\1\10"+ "\10\0\7\10\3\0\10\10\1\u01ad\15\10\3\0\1\10"+ "\10\0\2\10\1\u01ae\4\10\3\0\26\10\3\0\1\10"+ "\10\0\3\10\1\257\3\10\3\0\26\10\3\0\1\10"+ "\10\0\7\10\3\0\4\10\1\u01af\21\10\3\0\1\10"+ "\10\0\7\10\3\0\7\10\1\u01b0\16\10\3\0\1\10"+ "\10\0\6\10\1\u01b1\3\0\26\10\3\0\1\10\10\0"+ "\7\10\3\0\17\10\1\46\6\10\3\0\1\10\10\0"+ "\1\362\5\10\1\u01b2\3\0\26\10\3\0\1\10\10\0"+ "\4\10\1\u01b3\2\10\3\0\26\10\3\0\1\10\10\0"+ "\7\10\3\0\24\10\1\124\1\10\3\0\1\10\10\0"+ "\4\10\1\u01b4\2\10\3\0\26\10\3\0\1\10\10\0"+ "\1\u01b5\6\10\3\0\26\10\3\0\1\10\10\0\4\10"+ "\1\u01b6\2\10\3\0\26\10\3\0\1\10\10\0\7\10"+ "\3\0\11\10\1\u01b7\14\10\3\0\1\10\10\0\2\10"+ "\1\46\4\10\3\0\7\10\1\u01b8\16\10\3\0\1\10"+ "\10\0\7\10\3\0\5\10\1\u01b9\1\u01ba\17\10\3\0"+ "\1\10\10\0\1\u01bb\6\10\3\0\5\10\1\u01bc\20\10"+ "\3\0\1\10\10\0\2\10\1\u01bd\4\10\3\0\26\10"+ "\3\0\1\10\10\0\4\10\1\u01be\2\10\3\0\2\10"+ "\1\46\23\10\3\0\1\10\10\0\2\10\1\u01bf\4\10"+ "\3\0\26\10\3\0\1\10\10\0\2\10\1\u01c0\4\10"+ "\3\0\26\10\3\0\1\10\10\0\1\u01c1\6\10\3\0"+ "\26\10\3\0\1\10\10\0\1\u01c2\6\10\3\0\26\10"+ "\3\0\1\10\10\0\1\365\6\10\3\0\12\10\1\323"+ "\13\10\3\0\1\10\10\0\5\10\1\u01c3\1\u01c4\3\0"+ "\7\10\1\u01c5\16\10\3\0\1\10\10\0\7\10\3\0"+ "\4\10\1\u01c6\21\10\3\0\1\10\10\0\2\10\1\u0121"+ "\4\10\3\0\26\10\3\0\1\10\10\0\7\10\3\0"+ "\5\10\1\317\20\10\3\0\1\10\10\0\2\10\1\u01c7"+ "\4\10\3\0\26\10\3\0\1\10\10\0\5\10\1\u01c8"+ "\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"+ "\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"+ "\1\u01e6\4\10\3\0\26\10\3\0\1\10\10\0\7\10"+ "\3\0\12\10\1\u01e7\13\10\3\0\1\10\10\0\4\10"+ "\1\u01e8\2\10\3\0\26\10\3\0\1\10\10\0\7\10"+ "\3\0\13\10\1\u01e9\12\10\3\0\1\10\10\0\3\10"+ "\1\311\3\10\3\0\26\10\3\0\1\10\10\0\7\10"+ "\3\0\12\10\1\323\13\10\3\0\1\10\10\0\7\10"+ "\3\0\1\10\1\u01ea\24\10\3\0\1\10\10\0\7\10"+ "\3\0\12\10\1\u01eb\13\10\3\0\1\10\10\0\6\10"+ "\1\u01ec\3\0\26\10\3\0\1\10\10\0\7\10\3\0"+ "\12\10\1\u01ed\13\10\3\0\1\10\10\0\6\10\1\u01ee"+ "\3\0\26\10\3\0\1\10\10\0\6\10\1\u01ef\3\0"+ "\26\10\3\0\1\10\10\0\5\10\1\u01af\1\10\3\0"+ "\26\10\3\0\1\10\10\0\7\10\3\0\12\10\1\u01f0"+ "\13\10\3\0\1\10\10\0\1\u01f1\6\10\3\0\26\10"+ "\3\0\1\10\10\0\4\10\1\u01f2\2\10\3\0\26\10"+ "\3\0\1\10\10\0\7\10\3\0\7\10\1\u01f3\16\10"+ "\3\0\1\10\10\0\7\10\3\0\2\10\1\u019b\23\10"+ "\3\0\1\10\10\0\4\10\1\363\2\10\3\0\26\10"+ "\3\0\1\10\10\0\1\10\1\220\5\10\3\0\26\10"+ "\3\0\1\10\10\0\7\10\3\0\2\10\1\u01f4\23\10"+ "\3\0\1\10\10\0\7\10\3\0\4\10\1\u01f5\21\10"+ "\3\0\1\10\10\0\7\10\3\0\4\10\1\u01f6\21\10"+ "\3\0\1\10\10\0\1\u01f7\6\10\3\0\26\10\3\0"+ "\1\10\10\0\7\10\3\0\12\10\1\u01f8\13\10\3\0"+ "\1\10\10\0\4\10\1\u017d\2\10\3\0\26\10\3\0"+ "\1\10\10\0\6\10\1\u01f9\3\0\26\10\3\0\1\10"+ "\10\0\7\10\3\0\1\46\25\10\3\0\1\10\10\0"+ "\7\10\3\0\4\10\1\u01fa\21\10\3\0\1\10\10\0"+ "\7\10\3\0\1\10\1\u017d\24\10\3\0\1\10\10\0"+ "\1\u017d\6\10\3\0\26\10\3\0\1\10\10\0\6\10"+ "\1\u01fb\3\0\26\10\3\0\1\10\10\0\7\10\3\0"+ "\14\10\1\46\11\10\3\0\1\10\10\0\2\10\1\361"+ "\4\10\3\0\26\10\3\0\1\10\10\0\2\10\1\u01fc"+ "\4\10\3\0\26\10\3\0\1\10\10\0\7\10\3\0"+ "\7\10\1\u01fd\16\10\3\0\1\10\10\0\1\362\6\10"+ "\3\0\26\10\3\0\1\10\10\0\5\10\1\u01fe\1\10"+ "\3\0\26\10\3\0\1\10\10\0\2\10\1\u01ff\4\10"+ "\3\0\26\10\3\0\1\10\10\0\7\10\3\0\7\10"+ "\1\u0200\16\10\3\0\1\10\10\0\4\10\1\257\2\10"+ "\3\0\26\10\3\0\1\10\10\0\1\u0201\6\10\3\0"+ "\4\10\1\u0202\21\10\3\0\1\10\10\0\7\10\3\0"+ "\1\10\1\u0203\6\10\1\u018a\15\10\3\0\1\10\10\0"+ "\7\10\3\0\5\10\1\u0204\20\10\3\0\1\10\10\0"+ "\2\10\1\u0205\4\10\3\0\26\10\3\0\1\10\10\0"+ "\7\10\3\0\7\10\1\u0206\16\10\3\0\1\10\10\0"+ "\6\10\1\153\3\0\26\10\3\0\1\10\10\0\7\10"+ "\3\0\4\10\1\153\21\10\3\0\1\10\10\0\7\10"+ "\3\0\13\10\1\u0207\12\10\3\0\1\10\10\0\7\10"+ "\3\0\21\10\1\257\4\10\3\0\1\10\10\0\7\10"+ "\3\0\1\10\1\u0208\24\10\3\0\1\10\10\0\7\10"+ "\3\0\13\10\1\u0109\12\10\3\0\1\10\10\0\7\10"+ "\3\0\11\10\1\75\14\10\3\0\1\10\10\0\1\u0183"+ "\6\10\3\0\4\10\1\u0209\21\10\3\0\1\10\10\0"+ "\7\10\3\0\4\10\1\376\21\10\3\0\1\10\10\0"+ "\5\10\1\336\1\10\3\0\26\10\3\0\1\10\10\0"+ "\5\10\1\u020a\1\10\3\0\7\10\1\u020b\16\10\3\0"+ "\1\10\10\0\7\10\3\0\13\10\1\u020c\12\10\3\0"+ "\1\10\10\0\7\10\3\0\13\10\1\u020d\12\10\3\0"+ "\1\10\10\0\7\10\3\0\7\10\1\u0116\16\10\3\0"+ "\1\10\10\0\7\10\3\0\4\10\1\u020e\21\10\3\0"+ "\1\10\10\0\7\10\3\0\1\10\1\u0116\5\10\1\353"+ "\16\10\3\0\1\10\10\0\2\10\1\u020f\4\10\3\0"+ "\26\10\3\0\1\10\10\0\7\10\3\0\2\10\1\213"+ "\23\10\3\0\1\10\10\0\7\10\3\0\5\10\1\u0210"+ "\20\10\3\0\1\10\10\0\4\10\1\u0211\2\10\3\0"+ "\26\10\3\0\1\10\10\0\4\10\1\u0212\2\10\3\0"+ "\26\10\3\0\1\10\10\0\7\10\3\0\13\10\1\u0213"+ "\12\10\3\0\1\10\10\0\1\u0214\6\10\3\0\26\10"+ "\3\0\1\10\10\0\7\10\3\0\1\10\1\u0215\24\10"+ "\3\0\1\10\10\0\7\10\3\0\2\10\1\u0216\23\10"+ "\3\0\1\10\10\0\7\10\3\0\13\10\1\362\12\10"+ "\3\0\1\10\10\0\7\10\3\0\1\10\1\u0217\24\10"+ "\3\0\1\10\10\0\7\10\3\0\6\10\1\u0218\17\10"+ "\3\0\1\10\10\0\7\10\3\0\7\10\1\353\16\10"+ "\3\0\1\10\10\0\7\10\3\0\1\10\1\u0219\24\10"+ "\3\0\1\10\10\0\6\10\1\u018e\3\0\13\10\1\u020c"+ "\12\10\3\0\1\10\10\0\2\10\1\u021a\4\10\3\0"+ "\26\10\3\0\1\10\10\0\7\10\3\0\6\10\1\u0182"+ "\17\10\3\0\1\10\10\0\4\10\1\317\2\10\3\0"+ "\26\10\3\0\1\10\10\0\7\10\3\0\10\10\1\u021b"+ "\15\10\3\0\1\10\10\0\7\10\3\0\7\10\1\u021c"+ "\5\10\1\u0182\10\10\3\0\1\10\10\0\1\u0191\6\10"+ "\3\0\26\10\3\0\1\10\10\0\7\10\3\0\2\10"+ "\1\u021d\4\10\1\46\16\10\3\0\1\10\10\0\7\10"+ "\3\0\10\10\1\u0109\15\10\3\0\1\10\10\0\6\10"+ "\1\u01a2\3\0\26\10\3\0\1\10\10\0\6\10\1\u021e"+ "\3\0\26\10\3\0\1\10\10\0\7\10\3\0\16\10"+ "\1\u021f\7\10\3\0\1\10\10\0\1\u0220\6\10\3\0"+ "\26\10\3\0\1\10\10\0\4\10\1\u0221\2\10\3\0"+ "\26\10\3\0\1\10\10\0\7\10\3\0\13\10\1\353"+ "\12\10\3\0\1\10\10\0\7\10\3\0\10\10\1\353"+ "\15\10\3\0\1\10\10\0\7\10\3\0\2\10\1\u0160"+ "\23\10\3\0\1\10\10\0\7\10\3\0\4\10\1\u0222"+ "\21\10\3\0\1\10\10\0\7\10\3\0\4\10\1\u0223"+ "\21\10\3\0\1\10\10\0\7\10\3\0\13\10\1\u0224"+ "\12\10\3\0\1\10\10\0\7\10\3\0\13\10\1\u011c"+ "\12\10\3\0\1\10\10\0\7\10\3\0\1\10\1\u0225"+ "\24\10\3\0\1\10\10\0\5\10\1\336\1\10\3\0"+ "\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\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"+ "\1\10\10\0\7\10\3\0\4\10\1\u023b\21\10\3\0"+ "\1\10\10\0\7\10\3\0\17\10\1\u023c\6\10\3\0"+ "\1\10\10\0\2\10\1\213\4\10\3\0\26\10\3\0"+ "\1\10\10\0\7\10\3\0\6\10\1\u023d\6\10\1\u0182"+ "\10\10\3\0\1\10\10\0\7\10\3\0\13\10\1\u023e"+ "\12\10\3\0\1\10\10\0\2\10\1\u023f\4\10\3\0"+ "\26\10\3\0\1\10\10\0\5\10\1\u0240\1\10\3\0"+ "\26\10\3\0\1\10\10\0\7\10\3\0\11\10\1\u0241"+ "\14\10\3\0\1\10\10\0\7\10\3\0\6\10\1\u0242"+ "\3\10\1\u0243\13\10\3\0\1\10\10\0\7\10\3\0"+ "\1\10\1\u0244\24\10\3\0\1\10\10\0\7\10\3\0"+ "\7\10\1\u010e\16\10\3\0\1\10\10\0\7\10\3\0"+ "\11\10\1\u0245\14\10\3\0\1\10\10\0\7\10\3\0"+ "\4\10\1\u0246\21\10\3\0\1\10\10\0\7\10\3\0"+ "\13\10\1\u0247\12\10\3\0\1\10\10\0\5\10\1\u0180"+ "\1\10\3\0\26\10\3\0\1\10\10\0\7\10\3\0"+ "\1\10\1\u0248\24\10\3\0\1\10\10\0\7\10\3\0"+ "\15\10\1\46\10\10\3\0\1\10\10\0\7\10\3\0"+ "\5\10\1\353\20\10\3\0\1\10\10\0\1\220\6\10"+ "\3\0\26\10\3\0\1\10\10\0\7\10\3\0\13\10"+ "\1\u0249\12\10\3\0\1\10\10\0\7\10\3\0\5\10"+ "\1\u024a\20\10\3\0\1\10\10\0\7\10\3\0\20\10"+ "\1\46\5\10\3\0\1\10\10\0\2\10\1\u024b\4\10"+ "\3\0\26\10\3\0\1\10\10\0\7\10\3\0\1\10"+ "\1\u024c\24\10\3\0\1\10\10\0\7\10\3\0\4\10"+ "\1\u0238\21\10\3\0\1\10\10\0\6\10\1\u024d\3\0"+ "\26\10\3\0\1\10\10\0\3\10\1\46\3\10\3\0"+ "\26\10\3\0\1\10\10\0\4\10\1\u0215\2\10\3\0"+ "\26\10\3\0\1\10\10\0\2\10\1\72\4\10\3\0"+ "\26\10\3\0\1\10\10\0\7\10\3\0\2\10\1\257"+ "\23\10\3\0\1\10\10\0\6\10\1\u024e\3\0\26\10"+ "\3\0\1\10\10\0\6\10\1\u024f\3\0\26\10\3\0"+ "\1\10\10\0\1\u024b\6\10\3\0\26\10\3\0\1\10"+ "\10\0\7\10\3\0\21\10\1\317\4\10\3\0\1\10"+ "\10\0\7\10\3\0\4\10\1\220\21\10\3\0\1\10"+ "\10\0\1\u0249\6\10\3\0\26\10\3\0\1\10\10\0"+ "\7\10\3\0\13\10\1\u018a\12\10\3\0\1\10\10\0"+ "\7\10\3\0\1\10\1\u0250\24\10\3\0\1\10\10\0"+ "\7\10\3\0\7\10\1\u015e\16\10\3\0\1\10\10\0"+ "\7\10\3\0\1\10\1\46\24\10\3\0\1\10\10\0"+ "\2\10\1\46\4\10\3\0\6\10\1\u0251\17\10\3\0"+ "\1\10\10\0\7\10\3\0\15\10\1\u0252\10\10\3\0"+ "\1\10\10\0\7\10\3\0\4\10\1\357\21\10\3\0"+ "\1\10\10\0\1\u0253\6\10\3\0\26\10\3\0\1\10"+ "\10\0\7\10\3\0\4\10\1\u0254\21\10\3\0\1\10"+ "\10\0\7\10\3\0\6\10\1\u0255\17\10\3\0\1\10"+ "\10\0\4\10\1\u0238\2\10\3\0\26\10\3\0\1\10"+ "\10\0\3\10\1\220\3\10\3\0\26\10\3\0\1\10"+ "\10\0\7\10\3\0\4\10\1\257\21\10\3\0\1\10"+ "\10\0\6\10\1\u0256\3\0\26\10\3\0\1\10\10\0"+ "\7\10\3\0\1\10\1\u0257\24\10\3\0\1\10\10\0"+ "\7\10\3\0\16\10\1\46\7\10\3\0\1\10\10\0"+ "\7\10\3\0\12\10\1\353\13\10\3\0\1\10\10\0"+ "\7\10\3\0\6\10\1\353\17\10\3\0\1\10\10\0"+ "\1\365\3\10\1\u01be\2\10\3\0\26\10\3\0\1\10"+ "\10\0\7\10\3\0\22\10\1\u0258\3\10\3\0\1\10"+ "\10\0\7\10\3\0\15\10\1\u0182\10\10\3\0\1\10"+ "\10\0\7\10\3\0\1\10\1\u01fc\24\10\3\0\1\10"+ "\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"; 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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); value--; do result[j++] = value; while (--count > 0); } return j; } /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; private static final int ZZ_PUSHBACK_2BIG = 2; /* error messages for the codes above */ private static final String ZZ_ERROR_MSG[] = { "Unkown internal scanner error", "Error: could not match input", "Error: pushback value was too large" }; /** * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute(); private static final String ZZ_ATTRIBUTE_PACKED_0 = "\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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } return j; } /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ private int zzState; /** the current lexical state */ private int zzLexicalState = YYINITIAL; /** this buffer contains the current text to be matched and is the source of the yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ private int zzMarkedPos; /** the current text position in the buffer */ private int zzCurrentPos; /** startRead marks the beginning of the yytext() string in the buffer */ private int zzStartRead; /** endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** * zzAtBOL == true <=> the scanner is currently at the beginning of a line */ private boolean zzAtBOL = true; /** zzAtEOF == true <=> the scanner is at the EOF */ private boolean zzAtEOF; /* user code: */ /** * 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. */ 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. */ 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. */ @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 text to place at the beginning and end of a * line to "comment" it in a this programming language. * * @return The start and end strings to add to a line to "comment" * it out. */ @Override public String[] getLineCommentStartAndEnd() { return new String[] { "*", null }; } /** * 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. */ @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. * * @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) { resetTokenList(); this.offsetShift = -text.offset + startOffset; // 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; } s = text; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); return new TokenImpl(); } } /** * Refills the input buffer. * * @return true if EOF was reached, otherwise * false. * @exception IOException if any I/O-Error occurs. */ private boolean zzRefill() throws java.io.IOException { return zzCurrentPos>=s.offset+s.count; } /** * 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 */ public final void yyreset(java.io.Reader reader) throws java.io.IOException { // '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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = s.offset; zzLexicalState = YYINITIAL; zzReader = reader; zzAtBOL = true; 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. */ public SASTokenMaker(java.io.Reader in) { this.zzReader = in; } /** * Creates a new scanner. * There is also java.io.Reader version of this constructor. * * @param in the java.io.Inputstream to read input from. */ public SASTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } /** * Unpacks the compressed character translation table. * * @param packed the packed character translation table * @return the unpacked character translation table */ private static char [] zzUnpackCMap(String packed) { char [] map = new char[0x10000]; int i = 0; /* index in packed string */ int j = 0; /* index in unpacked array */ while (i < 180) { int count = packed.charAt(i++); char value = packed.charAt(i++); do map[j++] = value; while (--count > 0); } return map; } /** * Closes the input stream. */ public final void yyclose() throws java.io.IOException { zzAtEOF = true; /* indicate end of file */ zzEndRead = zzStartRead; /* invalidate buffer */ if (zzReader != null) zzReader.close(); } /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } /** * Enters a 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 yylength()-1. * * @return the character at position pos */ public final char yycharat(int pos) { return zzBuffer[zzStartRead+pos]; } /** * Returns the length of the matched text region. */ public final int yylength() { return zzMarkedPos-zzStartRead; } /** * Reports an error that occured while scanning. * * In a wellformed scanner (no or only correct usage of * yypushback(int) and a match-all fallback rule) this method * will only be called with things that "Can't Possibly Happen". * If this method is called, something is seriously wrong * (e.g. a JFlex bug producing a faulty scanner etc.). * * Usual syntax/scanner level error handling should be done * in error fallback rules. * * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; try { message = ZZ_ERROR_MSG[errorCode]; } catch (ArrayIndexOutOfBoundsException e) { message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR]; } throw new Error(message); } /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * * @param number the number of characters to be read again. * This number must not be greater than yylength()! */ public void yypushback(int number) { if ( number > yylength() ) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } /** * Resumes scanning until the next regular expression is matched, * the end of input is encountered or an I/O-Error occurs. * * @return the next token * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; int zzAction; // cached fields: int zzCurrentPosL; int zzMarkedPosL; int zzEndReadL = zzEndRead; char [] zzBufferL = zzBuffer; char [] zzCMapL = ZZ_CMAP; int [] zzTransL = ZZ_TRANS; int [] zzRowMapL = ZZ_ROWMAP; int [] zzAttrL = ZZ_ATTRIBUTE; while (true) { zzMarkedPosL = zzMarkedPos; 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: zzAtBOL = false; } } zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; if (zzAtBOL) zzState = ZZ_LEXSTATE[zzLexicalState+1]; else zzState = ZZ_LEXSTATE[zzLexicalState]; zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; else if (zzAtEOF) { zzInput = YYEOF; break zzForAction; } else { // store back cached positions zzCurrentPos = zzCurrentPosL; zzMarkedPos = zzMarkedPosL; boolean eof = zzRefill(); // get translated positions and possibly new buffer zzCurrentPosL = zzCurrentPos; zzMarkedPosL = zzMarkedPos; zzBufferL = zzBuffer; zzEndReadL = zzEndRead; if (eof) { zzInput = YYEOF; break zzForAction; } else { zzInput = zzBufferL[zzCurrentPosL++]; } } int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ]; if (zzNext == -1) break zzForAction; zzState = zzNext; int zzAttributes = zzAttrL[zzState]; if ( (zzAttributes & 1) == 1 ) { zzAction = zzState; zzMarkedPosL = zzCurrentPosL; if ( (zzAttributes & 8) == 8 ) break zzForAction; } } } // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { case 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; } // 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 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); } } } } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/VisualBasicTokenMaker.flex0000644000175000001440000002765212202240132030735 0ustar benusers/* * 03/24/2013 * * VisualBasicTokenMaker.java - Scanner for Visual Basic * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.*; /** * Scanner for Visual Basic. * * 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * 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.
  • *
  • You should NOT call yylex() on the generated scanner * 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 %unicode %ignorecase %type org.fife.ui.rsyntaxtextarea.Token %{ /** * Constructor. This must be here because JFlex does not generate a * no-parameter constructor. */ public VisualBasicTokenMaker() { } /** * Adds the token specified to the current linked list of tokens. * * @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. */ 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. * @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. */ @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 the text to place at the beginning and end of a * line to "comment" it in a this programming language. * * @return The start and end strings to add to a line to "comment" * it out. */ @Override public String[] getLineCommentStartAndEnd() { 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. * * @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) { resetTokenList(); this.offsetShift = -text.offset + startOffset; // Start off in the proper state. int state = YYINITIAL; s = text; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); return new TokenImpl(); } } /** * Refills the input buffer. * * @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. * * 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 */ 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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = zzPushbackPos = s.offset; zzLexicalState = YYINITIAL; zzReader = reader; zzAtBOL = true; zzAtEOF = false; } %} Letter = [A-Za-z] LetterOrUnderscore = ({Letter}|"_") NonzeroDigit = [1-9] Digit = ("0"|{NonzeroDigit}) HexDigit = ({Digit}|[A-Fa-f]) NonSeparator = ([^\t\f\r\n\ \(\)\{\}\[\]\;\,\.\=\>\<\!\~\?\:\+\-\*\/\&\|\^\%\"\']|"#"|"\\") IdentifierStart = ({LetterOrUnderscore}|"$") IdentifierPart = ({IdentifierStart}|{Digit}) LineTerminator = (\n) WhiteSpace = ([ \t\f]) UnclosedStringLiteral = ([\"][^\"]*) StringLiteral = ({UnclosedStringLiteral}[\"]) LineCommentBegin = "'" NumTypeSuffix = (([DRI\&SF]|"UI"|"UL"|"US")?) IntegerLiteral = ({Digit}+{NumTypeSuffix}) HexLiteral = ("&h"{HexDigit}+{NumTypeSuffix}) FloatHelper = ([eE][+-]?{Digit}+{NumTypeSuffix}) FloatLiteral1 = ({Digit}+"."({NumTypeSuffix}|{FloatHelper}|{Digit}+({NumTypeSuffix}|{FloatHelper}))) FloatLiteral2 = ("."{Digit}+({NumTypeSuffix}|{FloatHelper})) FloatLiteral3 = ({Digit}+({NumTypeSuffix}|{FloatHelper})) FloatLiteral = ({FloatLiteral1}|{FloatLiteral2}|{FloatLiteral3}) ErrorNumberFormat = (({IntegerLiteral}|{HexLiteral}|{FloatLiteral}){NonSeparator}+) BooleanLiteral = ("true"|"false") Separator = ([\(\)]) Separator2 = ([\;,.]) Operator = ("&"|"&="|"*"|"*="|"+"|"+="|"="|"-"|"-="|"<<"|"<<="|">>"|">>="|"/"|"/="|"\\"|"\\="|"^"|"^=") Identifier = ({IdentifierStart}{IdentifierPart}*) ErrorIdentifier = ({NonSeparator}+) URLGenDelim = ([:\/\?#\[\]@]) URLSubDelim = ([\!\$&'\(\)\*\+,;=]) URLUnreserved = ({LetterOrUnderscore}|{Digit}|[\-\.\~]) URLCharacter = ({URLGenDelim}|{URLSubDelim}|{URLUnreserved}|[%]) URLCharacters = ({URLCharacter}*) URLEndCharacter = ([\/\$]|{Letter}|{Digit}) URL = (((https?|f(tp|ile))"://"|"www.")({URLCharacters}{URLEndCharacter})?) %state EOL_COMMENT %% { /* Keywords */ "AddHandler" | "AddressOf" | "Alias" | "And" | "AndAlso" | "As" | "ByRef" | "ByVal" | "Call" | "Case" | "Catch" | "CBool" | "CByte" | "CChar" | "CDate" | "CDbl" | "CDec" | "CInt" | "Class" | "CLng" | "CObj" | "Const" | "Continue" | "CSByte" | "CShort" | "CSng" | "CStr" | "CType" | "CUInt" | "CULng" | "CUShort" | "Declare" | "Default" | "Delegate" | "Dim" | "DirectCast" | "Do" | "Each" | "Else" | "ElseIf" | "End" | "EndIf" | "Enum" | "Erase" | "Error" | "Event" | "Exit" | "Finally" | "For" | "Friend" | "Function" | "Get" | "GetType" | "GetXMLNamespace" | "Global" | "GoSub" | "GoTo" | "Handles" | "If" | "If" | "Implements" | "Imports" | "In" | "Inherits" | "Interface" | "Is" | "IsNot" | "Let" | "Lib" | "Like" | "Loop" | "Me" | "Mod" | "Module" | "Module Statement" | "MustInherit" | "MustOverride" | "MyBase" | "MyClass" | "Namespace" | "Narrowing" | "New" | "New" | "Next" | "Not" | "Nothing" | "NotInheritable" | "NotOverridable" | "Of" | "On" | "Operator" | "Option" | "Optional" | "Or" | "OrElse" | "Out" | "Overloads" | "Overridable" | "Overrides" | "ParamArray" | "Partial" | "Private" | "Property" | "Protected" | "Public" | "RaiseEvent" | "ReadOnly" | "ReDim" | "REM" | "RemoveHandler" | "Resume" | "Select" | "Set" | "Shadows" | "Shared" | "Static" | "Step" | "Stop" | "Structure" | "Sub" | "SyncLock" | "Then" | "Throw" | "To" | "Try" | "TryCast" | "TypeOf" | "Using" | "Variant" | "Wend" | "When" | "While" | "Widening" | "With" | "WithEvents" | "WriteOnly" | "Xor" { addToken(Token.RESERVED_WORD); } "Return" { addToken(Token.RESERVED_WORD_2); } /* Data types. */ "Boolean" | "Byte" | "Char" | "Date" | "Decimal" | "Double" | "Integer" | "Long" | "Object" | "SByte" | "Short" | "Single" | "String" | "UInteger" | "ULong" | "UShort" { addToken(Token.DATA_TYPE); } {BooleanLiteral} { addToken(Token.LITERAL_BOOLEAN); } {LineTerminator} { addNullToken(); return firstToken; } {Identifier} { addToken(Token.IDENTIFIER); } {WhiteSpace}+ { addToken(Token.WHITESPACE); } {StringLiteral} { addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); } {UnclosedStringLiteral} { addToken(Token.ERROR_STRING_DOUBLE); addNullToken(); return firstToken; } {LineCommentBegin} { start = zzMarkedPos-1; yybegin(EOL_COMMENT); } {Separator} { addToken(Token.SEPARATOR); } {Separator2} { addToken(Token.IDENTIFIER); } {Operator} { addToken(Token.OPERATOR); } {IntegerLiteral} { addToken(Token.LITERAL_NUMBER_DECIMAL_INT); } {HexLiteral} { addToken(Token.LITERAL_NUMBER_HEXADECIMAL); } {FloatLiteral} { addToken(Token.LITERAL_NUMBER_FLOAT); } {ErrorNumberFormat} { addToken(Token.ERROR_NUMBER_FORMAT); } {ErrorIdentifier} { addToken(Token.ERROR_IDENTIFIER); } /* Ended with a line not in a string or comment. */ <> { addNullToken(); return firstToken; } /* Catch any other (unhandled) characters. */ . { addToken(Token.IDENTIFIER); } } { [^hwf\n]+ {} {URL} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_EOL); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_EOL); start = zzMarkedPos; } [hwf] {} \n { addToken(start,zzStartRead-1, Token.COMMENT_EOL); addNullToken(); return firstToken; } <> { addToken(start,zzStartRead-1, Token.COMMENT_EOL); addNullToken(); return firstToken; } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/VisualBasicTokenMaker.java0000644000175000001440000017256412202002502030720 0ustar benusers/* The following code was generated by JFlex 1.4.1 on 3/24/13 12:59 AM */ /* * 03/24/2013 * * VisualBasicTokenMaker.java - Scanner for Visual Basic * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.*; /** * Scanner for Visual Basic. * * 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * 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.
  • *
  • You should NOT call yylex() on the generated scanner * 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 */ public static final int EOL_COMMENT = 1; public static final int YYINITIAL = 0; /** * Translates characters to character classes */ private static final String ZZ_CMAP_PACKED = "\11\0\1\11\1\10\1\0\1\11\1\5\22\0\1\64\1\37\1\12"+ "\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"; /** * Translates characters to character classes */ private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED); /** * Translates DFA states to action switch labels. */ private static final int [] ZZ_ACTION = zzUnpackAction(); private static final String ZZ_ACTION_PACKED_0 = "\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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } return j; } /** * 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\67\0\156\0\245\0\334\0\u0113\0\u014a\0\u0181"+ "\0\u014a\0\u01b8\0\u01ef\0\u014a\0\u0226\0\u025d\0\u0294\0\u02cb"+ "\0\u0302\0\u0339\0\u0370\0\u03a7\0\u03de\0\u0415\0\u044c\0\u0483"+ "\0\u04ba\0\u04f1\0\u014a\0\u014a\0\u0528\0\u055f\0\u0596\0\u05cd"+ "\0\u0604\0\u063b\0\u0672\0\u06a9\0\u06e0\0\u0717\0\u074e\0\u0785"+ "\0\u014a\0\u07bc\0\u07f3\0\u082a\0\u0861\0\u0898\0\u08cf\0\u0906"+ "\0\u0906\0\u093d\0\u0974\0\u09ab\0\u09e2\0\u0a19\0\u0a50\0\u0a87"+ "\0\u0abe\0\u0af5\0\u0b2c\0\u0b63\0\u0b9a\0\u0bd1\0\u0c08\0\u014a"+ "\0\u0c3f\0\u0c76\0\u0cad\0\u0ce4\0\u0d1b\0\u0d52\0\u0d89\0\u0dc0"+ "\0\u0df7\0\u0e2e\0\u0e65\0\245\0\u0e9c\0\u0ed3\0\u0f0a\0\u0f41"+ "\0\u0f78\0\u0faf\0\u0fe6\0\u101d\0\u1054\0\u108b\0\u10c2\0\u10f9"+ "\0\u1130\0\u1167\0\u119e\0\u11d5\0\u120c\0\u1243\0\u127a\0\u12b1"+ "\0\u12e8\0\u131f\0\u1356\0\u138d\0\u13c4\0\u13fb\0\u1432\0\u1469"+ "\0\u14a0\0\u14d7\0\u150e\0\u1545\0\u157c\0\u15b3\0\u15ea\0\u1621"+ "\0\u1658\0\u168f\0\u16c6\0\u16fd\0\u1734\0\u176b\0\u17a2\0\u17d9"+ "\0\u1810\0\u1847\0\u187e\0\u18b5\0\u18ec\0\u1923\0\u195a\0\u1991"+ "\0\u19c8\0\u19ff\0\u1a36\0\u1a6d\0\u1aa4\0\u1adb\0\u1b12\0\u1b49"+ "\0\u1b80\0\u1bb7\0\u1bee\0\u0906\0\u1c25\0\u1c5c\0\u1c93\0\u1cca"+ "\0\u1d01\0\u1d38\0\u1d6f\0\u1da6\0\u1ddd\0\u1e14\0\u1e4b\0\u1e82"+ "\0\u1eb9\0\u1ef0\0\u1f27\0\u1f5e\0\u1f95\0\u1fcc\0\u2003\0\u203a"+ "\0\u2071\0\u20a8\0\u20df\0\u2116\0\u214d\0\u2184\0\u21bb\0\u21f2"+ "\0\u2229\0\u2260\0\u2297\0\u22ce\0\u2305\0\u233c\0\u2373\0\u23aa"+ "\0\u23e1\0\u2418\0\u244f\0\u2486\0\u24bd\0\u24f4\0\u252b\0\u2562"+ "\0\u2599\0\u25d0\0\u2607\0\u263e\0\u2675\0\u26ac\0\u26e3\0\u271a"+ "\0\u2751\0\u2788\0\u27bf\0\u27f6\0\u282d\0\u2864\0\u289b\0\u28d2"+ "\0\u2909\0\u2940\0\u2977\0\u29ae\0\u29e5\0\u2a1c\0\u2a53\0\u2a8a"+ "\0\u2ac1\0\u2af8\0\u2b2f\0\u2b66\0\u2b9d\0\u2bd4\0\u2c0b\0\u2c42"+ "\0\u2c79\0\u2cb0\0\u2ce7\0\u2d1e\0\u2d55\0\u2d8c\0\u2dc3\0\u2dfa"+ "\0\u2e31\0\u2e68\0\u2e9f\0\u2ed6\0\u2f0d\0\u2f44\0\u2f7b\0\u2fb2"+ "\0\u2fe9\0\u3020\0\u3057\0\u308e\0\u30c5\0\u30fc\0\u3133\0\u316a"+ "\0\u31a1\0\u31d8\0\u320f\0\245\0\u3246\0\u327d\0\u32b4\0\u32eb"+ "\0\u3322\0\u3359\0\u3390\0\u33c7\0\u33fe\0\u3435\0\u346c\0\u34a3"+ "\0\u0906\0\u34da\0\u3511\0\u3548\0\u357f\0\u35b6\0\u35ed\0\u3624"+ "\0\u365b\0\u3692\0\u36c9\0\u3700\0\u3737\0\u376e\0\u37a5\0\u37dc"+ "\0\245\0\u3813\0\u384a\0\u3881\0\u38b8\0\u38ef\0\u3926\0\u395d"+ "\0\u3994\0\u39cb\0\u3a02\0\u3a39\0\u3a70\0\u3aa7\0\u3ade\0\u3b15"+ "\0\u3b4c\0\u3b83\0\u3bba\0\u3bf1\0\u3c28\0\u3c5f\0\u3c96\0\u3ccd"+ "\0\u3d04\0\u3d3b\0\u3d72\0\u3da9\0\u3de0\0\u3e17\0\u3e4e\0\u3e85"+ "\0\u3ebc\0\u3ef3\0\u3f2a\0\u3f61\0\u3f98\0\u3fcf\0\u4006\0\u403d"+ "\0\u4074\0\u40ab\0\u40e2\0\u4119\0\u4150\0\u4187\0\u41be\0\u41f5"+ "\0\u422c\0\u4263\0\u429a\0\u42d1\0\u4308\0\u433f\0\u4376\0\u43ad"+ "\0\u43e4\0\u441b\0\u4452\0\u4489\0\u44c0\0\u44f7\0\u452e\0\u4565"+ "\0\u459c\0\u45d3\0\u460a\0\u4641\0\u4678\0\u46af\0\u46e6\0\u471d"+ "\0\u4754\0\u478b\0\u47c2\0\u47f9\0\u4830\0\u4867\0\u489e\0\u48d5"+ "\0\u490c\0\u4943\0\u3f98\0\u497a\0\245\0\u49b1\0\u49e8\0\u2788"+ "\0\u4a1f\0\u4a56\0\u4a8d\0\u4ac4\0\u4afb\0\u4b32\0\u4b69\0\u4ba0"+ "\0\u4bd7\0\u4c0e\0\u4c45\0\u4c7c\0\u4cb3\0\u4cea\0\u2dfa\0\u4d21"+ "\0\u4d58\0\u4d8f\0\u4dc6\0\u4dfd\0\u4e34\0\u4e6b\0\u4ea2\0\u4ed9"+ "\0\u4f10\0\u4f47\0\u4f7e\0\u4fb5\0\u4fec\0\u5023\0\u505a\0\u5091"+ "\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 */ int l = packed.length(); while (i < l) { int high = packed.charAt(i++) << 16; result[j++] = high | packed.charAt(i++); } 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"+ "\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"+ "\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\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"+ "\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\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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); value--; do result[j++] = value; while (--count > 0); } return j; } /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; private static final int ZZ_PUSHBACK_2BIG = 2; /* error messages for the codes above */ private static final String ZZ_ERROR_MSG[] = { "Unkown internal scanner error", "Error: could not match input", "Error: pushback value was too large" }; /** * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute(); private static final String ZZ_ATTRIBUTE_PACKED_0 = "\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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } return j; } /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ private int zzState; /** the current lexical state */ private int zzLexicalState = YYINITIAL; /** this buffer contains the current text to be matched and is the source of the yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ private int zzMarkedPos; /** the current text position in the buffer */ private int zzCurrentPos; /** startRead marks the beginning of the yytext() string in the buffer */ private int zzStartRead; /** endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** 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. */ public VisualBasicTokenMaker() { } /** * Adds the token specified to the current linked list of tokens. * * @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. */ 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. * @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. */ @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 the text to place at the beginning and end of a * line to "comment" it in a this programming language. * * @return The start and end strings to add to a line to "comment" * it out. */ @Override public String[] getLineCommentStartAndEnd() { 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. * * @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) { resetTokenList(); this.offsetShift = -text.offset + startOffset; // Start off in the proper state. int state = YYINITIAL; s = text; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); return new TokenImpl(); } } /** * Refills the input buffer. * * @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. * * 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 */ 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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = s.offset; zzLexicalState = YYINITIAL; 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. */ public VisualBasicTokenMaker(java.io.Reader in) { this.zzReader = in; } /** * Creates a new scanner. * There is also java.io.Reader version of this constructor. * * @param in the java.io.Inputstream to read input from. */ public VisualBasicTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } /** * Unpacks the compressed character translation table. * * @param packed the packed character translation table * @return the unpacked character translation table */ private static char [] zzUnpackCMap(String packed) { char [] map = new char[0x10000]; int i = 0; /* index in packed string */ int j = 0; /* index in unpacked array */ while (i < 184) { int count = packed.charAt(i++); char value = packed.charAt(i++); do map[j++] = value; while (--count > 0); } return map; } /** * Closes the input stream. */ public final void yyclose() throws java.io.IOException { zzAtEOF = true; /* indicate end of file */ zzEndRead = zzStartRead; /* invalidate buffer */ if (zzReader != null) zzReader.close(); } /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } /** * Enters a 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 yylength()-1. * * @return the character at position pos */ public final char yycharat(int pos) { return zzBuffer[zzStartRead+pos]; } /** * Returns the length of the matched text region. */ public final int yylength() { return zzMarkedPos-zzStartRead; } /** * Reports an error that occured while scanning. * * In a wellformed scanner (no or only correct usage of * yypushback(int) and a match-all fallback rule) this method * will only be called with things that "Can't Possibly Happen". * If this method is called, something is seriously wrong * (e.g. a JFlex bug producing a faulty scanner etc.). * * Usual syntax/scanner level error handling should be done * in error fallback rules. * * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; try { message = ZZ_ERROR_MSG[errorCode]; } catch (ArrayIndexOutOfBoundsException e) { message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR]; } throw new Error(message); } /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * * @param number the number of characters to be read again. * This number must not be greater than yylength()! */ public void yypushback(int number) { if ( number > yylength() ) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } /** * Resumes scanning until the next regular expression is matched, * the end of input is encountered or an I/O-Error occurs. * * @return the next token * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; int zzAction; // cached fields: int zzCurrentPosL; int zzMarkedPosL; int zzEndReadL = zzEndRead; char [] zzBufferL = zzBuffer; char [] zzCMapL = ZZ_CMAP; int [] zzTransL = ZZ_TRANS; int [] zzRowMapL = ZZ_ROWMAP; int [] zzAttrL = ZZ_ATTRIBUTE; while (true) { zzMarkedPosL = zzMarkedPos; zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; else if (zzAtEOF) { zzInput = YYEOF; break zzForAction; } else { // store back cached positions zzCurrentPos = zzCurrentPosL; zzMarkedPos = zzMarkedPosL; boolean eof = zzRefill(); // get translated positions and possibly new buffer zzCurrentPosL = zzCurrentPos; zzMarkedPosL = zzMarkedPos; zzBufferL = zzBuffer; zzEndReadL = zzEndRead; if (eof) { zzInput = YYEOF; break zzForAction; } else { zzInput = zzBufferL[zzCurrentPosL++]; } } int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ]; if (zzNext == -1) break zzForAction; zzState = zzNext; int zzAttributes = zzAttrL[zzState]; if ( (zzAttributes & 1) == 1 ) { zzAction = zzState; zzMarkedPosL = zzCurrentPosL; if ( (zzAttributes & 8) == 8 ) break zzForAction; } } } // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { case 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); } } } } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/PropertiesFileTokenMaker.flex0000644000175000001440000001652212202237656031477 0ustar benusers/* * 03/21/2005 * * PropertiesFileTokenMaker.java - Scanner for properties files. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.*; /** * This class splits up text into tokens representing a Java properties file.

* * 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * If you wish to regenerate this file yourself, keep in mind the following: *

    *
  • 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. *
  • You should NOT call yylex() on the generated scanner * directly; rather, you should use getTokenList as you would * with any other TokenMaker instance. *
* * @author Robert Futrell * @version 0.4 * */ %% %public %class PropertiesFileTokenMaker %extends AbstractJFlexTokenMaker %unicode %type org.fife.ui.rsyntaxtextarea.Token %{ /** * 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. */ 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. */ 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. */ @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 text to place at the beginning and end of a * line to "comment" it in a this programming language. * * @return The start and end strings to add to a line to "comment" * it out. */ @Override public String[] getLineCommentStartAndEnd() { 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. * * @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) { resetTokenList(); this.offsetShift = -text.offset + startOffset; // 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; } s = text; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); return new TokenImpl(); } } /** * Refills the input buffer. * * @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. * * 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 */ 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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = zzPushbackPos = s.offset; zzLexicalState = YYINITIAL; zzReader = reader; zzAtBOL = true; zzAtEOF = false; } %} Equals = ([=\:]) Name = ([^=\: \t\n#!]*) Whitespace = ([ \t]+) Comment = ([#!].*) SingleQuote = (') %state VALUE %% { {Name} { addToken(Token.RESERVED_WORD); } {Equals} { start = zzMarkedPos; addToken(Token.OPERATOR); yybegin(VALUE); } {Whitespace} { addToken(Token.WHITESPACE); } {Comment} { addToken(Token.COMMENT_EOL); } <> { addNullToken(); return firstToken; } } { {SingleQuote}[^']*{SingleQuote}? { addToken(start, zzMarkedPos-1, Token.LITERAL_STRING_DOUBLE_QUOTE); start = zzMarkedPos; } [^'\{\\]+ {} "{"[^\}]*"}"? { int temp=zzStartRead; addToken(start, zzStartRead-1, Token.LITERAL_STRING_DOUBLE_QUOTE); addToken(temp, zzMarkedPos-1, Token.VARIABLE); start = zzMarkedPos; } [\\]. {} [\\] { addToken(start, zzEndRead, Token.LITERAL_STRING_DOUBLE_QUOTE); return firstToken; } <> { addToken(start,zzStartRead-1, Token.LITERAL_STRING_DOUBLE_QUOTE); addNullToken(); return firstToken; } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/PropertiesFileTokenMaker.java0000644000175000001440000004620712202002502031441 0ustar benusers/* The following code was generated by JFlex 1.4.1 on 1/28/11 4:16 PM */ /* * 03/21/2005 * * PropertiesFileTokenMaker.java - Scanner for properties files. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.*; /** * This class splits up text into tokens representing a Java properties file.

* * 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * If you wish to regenerate this file yourself, keep in mind the following: *

    *
  • 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. *
  • You should NOT call yylex() on the generated scanner * directly; rather, you should use getTokenList as you would * with any other TokenMaker instance. *
* * @author Robert Futrell * @version 0.4 * */ public class PropertiesFileTokenMaker extends AbstractJFlexTokenMaker { /** This character denotes the end of file */ public static final int YYEOF = -1; /** initial size of the lookahead buffer */ private static final int ZZ_BUFFERSIZE = 16384; /** lexical states */ public static final int YYINITIAL = 0; public static final int VALUE = 1; /** * Translates characters to character classes */ private static final String ZZ_CMAP_PACKED = "\11\0\1\3\1\2\25\0\1\3\1\4\1\0\1\4\3\0\1\5"+ "\22\0\1\1\2\0\1\1\36\0\1\6\36\0\1\7\1\0\1\10"+ "\uff82\0"; /** * Translates characters to character classes */ private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED); /** * Translates DFA states to action switch labels. */ private static final int [] ZZ_ACTION = zzUnpackAction(); private static final String ZZ_ACTION_PACKED_0 = "\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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } return j; } /** * 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 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 */ int l = packed.length(); while (i < l) { int high = packed.charAt(i++) << 16; result[j++] = high | packed.charAt(i++); } 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 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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); value--; do result[j++] = value; while (--count > 0); } return j; } /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; private static final int ZZ_PUSHBACK_2BIG = 2; /* error messages for the codes above */ private static final String ZZ_ERROR_MSG[] = { "Unkown internal scanner error", "Error: could not match input", "Error: pushback value was too large" }; /** * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute(); private static final String ZZ_ATTRIBUTE_PACKED_0 = "\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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } return j; } /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ private int zzState; /** the current lexical state */ private int zzLexicalState = YYINITIAL; /** this buffer contains the current text to be matched and is the source of the yytext() string */ private char zzBuffer[] = new char[ZZ_BUFFERSIZE]; /** the textposition at the last accepting state */ private int zzMarkedPos; /** the current text position in the buffer */ private int zzCurrentPos; /** startRead marks the beginning of the yytext() string in the buffer */ private int zzStartRead; /** endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** 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. */ public PropertiesFileTokenMaker() { super(); } /** * Adds the token specified to the current linked list of tokens. * * @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. */ 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. */ @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 text to place at the beginning and end of a * line to "comment" it in a this programming language. * * @return The start and end strings to add to a line to "comment" * it out. */ @Override public String[] getLineCommentStartAndEnd() { 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. * * @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) { resetTokenList(); this.offsetShift = -text.offset + startOffset; // 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; } s = text; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); return new TokenImpl(); } } /** * Refills the input buffer. * * @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. * * 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 */ 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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = s.offset; zzLexicalState = YYINITIAL; 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. */ public PropertiesFileTokenMaker(java.io.Reader in) { this.zzReader = in; } /** * Creates a new scanner. * There is also java.io.Reader version of this constructor. * * @param in the java.io.Inputstream to read input from. */ public PropertiesFileTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } /** * Unpacks the compressed character translation table. * * @param packed the packed character translation table * @return the unpacked character translation table */ private static char [] zzUnpackCMap(String packed) { char [] map = new char[0x10000]; int i = 0; /* index in packed string */ int j = 0; /* index in unpacked array */ while (i < 42) { int count = packed.charAt(i++); char value = packed.charAt(i++); do map[j++] = value; while (--count > 0); } return map; } /** * Closes the input stream. */ public final void yyclose() throws java.io.IOException { zzAtEOF = true; /* indicate end of file */ zzEndRead = zzStartRead; /* invalidate buffer */ if (zzReader != null) zzReader.close(); } /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } /** * Enters a 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 yylength()-1. * * @return the character at position pos */ public final char yycharat(int pos) { return zzBuffer[zzStartRead+pos]; } /** * Returns the length of the matched text region. */ public final int yylength() { return zzMarkedPos-zzStartRead; } /** * Reports an error that occured while scanning. * * In a wellformed scanner (no or only correct usage of * yypushback(int) and a match-all fallback rule) this method * will only be called with things that "Can't Possibly Happen". * If this method is called, something is seriously wrong * (e.g. a JFlex bug producing a faulty scanner etc.). * * Usual syntax/scanner level error handling should be done * in error fallback rules. * * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; try { message = ZZ_ERROR_MSG[errorCode]; } catch (ArrayIndexOutOfBoundsException e) { message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR]; } throw new Error(message); } /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * * @param number the number of characters to be read again. * This number must not be greater than yylength()! */ public void yypushback(int number) { if ( number > yylength() ) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } /** * Resumes scanning until the next regular expression is matched, * the end of input is encountered or an I/O-Error occurs. * * @return the next token * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; int zzAction; // cached fields: int zzCurrentPosL; int zzMarkedPosL; int zzEndReadL = zzEndRead; char [] zzBufferL = zzBuffer; char [] zzCMapL = ZZ_CMAP; int [] zzTransL = ZZ_TRANS; int [] zzRowMapL = ZZ_ROWMAP; int [] zzAttrL = ZZ_ATTRIBUTE; while (true) { zzMarkedPosL = zzMarkedPos; zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; else if (zzAtEOF) { zzInput = YYEOF; break zzForAction; } else { // store back cached positions zzCurrentPos = zzCurrentPosL; zzMarkedPos = zzMarkedPosL; boolean eof = zzRefill(); // get translated positions and possibly new buffer zzCurrentPosL = zzCurrentPos; zzMarkedPosL = zzMarkedPos; zzBufferL = zzBuffer; zzEndReadL = zzEndRead; if (eof) { zzInput = YYEOF; break zzForAction; } else { zzInput = zzBufferL[zzCurrentPosL++]; } } int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ]; if (zzNext == -1) break zzForAction; zzState = zzNext; int zzAttributes = zzAttrL[zzState]; if ( (zzAttributes & 1) == 1 ) { zzAction = zzState; zzMarkedPosL = zzCurrentPosL; if ( (zzAttributes & 8) == 8 ) break zzForAction; } } } // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { case 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); } } } } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/NSISTokenMaker.flex0000644000175000001440000004523012202240132027274 0ustar benusers/* * 07/14/2014 * * NSISTokenMaker.java - Scanner for NSIS installer scripts. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.*; /** * Scanner for NSIS installer scripts.

* * 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * 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.
  • *
  • You should NOT call yylex() on the generated scanner * directly; rather, you should use getTokenList as you would * with any other TokenMaker instance.
  • *
* * @author Robert Futrell * @version 1.0 * */ %% %public %class NSISTokenMaker %extends AbstractJFlexCTokenMaker %unicode %ignorecase %type org.fife.ui.rsyntaxtextarea.Token %{ /** * Constructor. This must be here because JFlex does not generate a * no-parameter constructor. */ public NSISTokenMaker() { } /** * Adds the token specified to the current linked list of tokens. * * @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. */ 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. * @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. */ @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 the text to place at the beginning and end of a * line to "comment" it in a this programming language. * * @return The start and end strings to add to a line to "comment" * it out. */ @Override public String[] getLineCommentStartAndEnd() { 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. * * @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) { resetTokenList(); this.offsetShift = -text.offset + startOffset; // 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; } start = text.offset; s = text; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); return new TokenImpl(); } } /** * Refills the input buffer. * * @return true if EOF was reached, otherwise * false. * @exception IOException if any I/O-Error occurs. */ private boolean zzRefill() throws java.io.IOException { return zzCurrentPos>=s.offset+s.count; } /** * 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 */ public final void yyreset(java.io.Reader reader) throws java.io.IOException { // '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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = zzPushbackPos = s.offset; zzLexicalState = YYINITIAL; zzReader = reader; zzAtBOL = true; zzAtEOF = false; } %} Letter = ([A-Za-z]) LetterOrUnderscore = ({Letter}|"_") NonzeroDigit = ([1-9]) Digit = ("0"|{NonzeroDigit}) HexDigit = ({Digit}|[A-Fa-f]) OctalDigit = ([0-7]) EscapedSourceCharacter = ("u"{HexDigit}{HexDigit}{HexDigit}{HexDigit}) NonSeparator = ([^\t\f\r\n\ \(\)\{\}\[\]\;\,\.\=\>\<\!\~\?\:\+\-\*\/\&\|\^\%\"\']|"#"|"\\") IdentifierStart = ({LetterOrUnderscore}|[$/]) IdentifierPart = ({IdentifierStart}|{Digit}|("\\"{EscapedSourceCharacter})) LineTerminator = (\n) WhiteSpace = ([ \t\f]) MLCBegin = ("/*") MLCEnd = ("*/") LineCommentBegin = ([;#]) IntegerLiteral = (({NonzeroDigit}{Digit}*)|"0") HexLiteral = ("0"(([xX]{HexDigit}+)|({OctalDigit}*))) ErrorNumberFormat = (({IntegerLiteral}|{HexLiteral}){NonSeparator}+) BooleanLiteral = ("true"|"false") Separator = ([\(\)\{\}\[\]]) Separator2 = ([\;,.]) NonAssignmentOperator = ("+"|"-"|"<="|"^"|"++"|"<"|"*"|">="|"%"|"--"|">"|"/"|"!="|"?"|">>"|"!"|"&"|"=="|":"|">>"|"~"|"|"|"&&"|">>>") AssignmentOperator = ("="|"-="|"*="|"/="|"|="|"&="|"^="|"+="|"%="|"<<="|">>="|">>>=") Operator = ({NonAssignmentOperator}|{AssignmentOperator}) Identifier = ({IdentifierStart}{IdentifierPart}*) VariableStart = ("$") Variable = ({VariableStart}({Identifier}|"{"{Identifier}"}")) URLGenDelim = ([:\/\?#\[\]@]) URLSubDelim = ([\!\$&'\(\)\*\+,;=]) URLUnreserved = ({LetterOrUnderscore}|{Digit}|[\-\.\~]) URLCharacter = ({URLGenDelim}|{URLSubDelim}|{URLUnreserved}|[%]) URLCharacters = ({URLCharacter}*) URLEndCharacter = ([\/\$]|{Letter}|{Digit}) URL = (((https?|f(tp|ile))"://"|"www.")({URLCharacters}{URLEndCharacter})?) %state STRING %state CHAR_LITERAL %state BACKTICKS %state MLC %state EOL_COMMENT %% { /* Keywords */ "function" | "functionend" | "section" | "sectionend" | "subsection" | "subsectionend" { addToken(Token.RESERVED_WORD); } /* Instructions */ "addbrandingimage" | "addsize" | "allowrootdirinstall" | "allowskipfiles" | "autoclosewindow" | "bggradient" | "brandingtext" | "bringtofront" | "callinstdll" | "caption" | "changeui" | "checkbitmap" | "completedtext" | "componenttext" | "copyfiles" | "crccheck" | "createdirectory" | "createfont" | "createshortcut" | "delete" | "deleteinisec" | "deleteinistr" | "deleteregkey" | "deleteregvalue" | "detailprint" | "detailsbuttontext" | "dirshow" | "dirtext" | "enumregkey" | "enumregvalue" | "exch" | "exec" | "execshell" | "execwait" | "expandenvstrings" | "file" | "fileclose" | "fileerrortext" | "fileopen" | "fileread" | "filereadbyte" | "fileseek" | "filewrite" | "filewritebyte" | "findclose" | "findfirst" | "findnext" | "findwindow" | "flushini" | "getcurinsttype" | "getcurrentaddress" | "getdlgitem" | "getdllversion" | "getdllversionlocal" | "getfiletime" | "getfiletimelocal" | "getfullpathname" | "getfunctionaddress" | "getlabeladdress" | "gettempfilename" | "getwindowtext" | "hidewindow" | "icon" | "initpluginsdir" | "installbuttontext" | "installcolors" | "installdir" | "installdirregkey" | "instprogressflags" | "insttype" | "insttypegettext" | "insttypesettext" | "intfmt" | "intop" | "langstring" | "langstringup" | "licensebkcolor" | "licensedata" | "licenseforceselection" | "licensetext" | "loadlanguagefile" | "loadlanguagefile" | "logset" | "logtext" | "miscbuttontext" | "name" | "nop" | "outfile" | "page" | "plugindir" | "pop" | "push" | "readenvstr" | "readinistr" | "readregdword" | "readregstr" | "regdll" | "rename" | "requestexecutionlevel" | "reservefile" | "rmdir" | "searchpath" | "sectiongetflags" | "sectiongetinsttypes" | "sectiongetsize" | "sectiongettext" | "sectionin" | "sectionsetflags" | "sectionsetinsttypes" | "sectionsetsize" | "sectionsettext" | "sendmessage" | "setautoclose" | "setbkcolor" | "setbrandingimage" | "setcompress" | "setcompressor" | "setcurinsttype" | "setdatablockoptimize" | "setdatesave" | "setdetailsprint" | "setdetailsview" | "setfileattributes" | "setfont" | "setoutpath" | "setoverwrite" | "setpluginunload" | "setrebootflag" | "setshellvarcontext" | "setstaticbkcolor" | "setwindowlong" | "showinstdetails" | "showuninstdetails" | "showwindow" | "silentinstall" | "silentuninstall" | "sleep" | "spacetexts" | "strcpy" | "strlen" | "subcaption" | "uninstallbuttontext" | "uninstallcaption" | "uninstallicon" | "uninstallsubcaption" | "uninstalltext" | "uninstpage" | "unregdll" | "var" | "viaddversionkey" | "videscription" | "vicompanyname" | "vicomments" | "vilegalcopyrights" | "vilegaltrademarks" | "viproductname" | "viproductversion" | "windowicon" | "writeinistr" | "writeregbin" | "writeregdword" | "writeregexpandstr" | "writeregstr" | "writeuninstaller" | "xpstyle" | /* Flow control instructions */ "abort" | "call" | "clearerrors" | "goto" | "ifabort" | "iferrors" | "iffileexists" | "ifrebootflag" | "intcmp" | "intcmpu" | "iswindow" | "messagebox" | "reboot" | "return" | "quit" | "seterrors" | "strcmp" | "strcmps" { addToken(Token.FUNCTION); } /* Compiler utility commands */ "!addincludedir" | "!addplugindir" | "!define" | "!include" | "!cd" | "!echo" | "!error" | "!insertmacro" | "!packhdr" | "!system" | "!warning" | "!undef" | "!verbose" | /* Conditional compilation */ "!ifdef" | "!ifndef" | "!if" | "!else" | "!endif" | "!macro" | "!macroend" { addToken(Token.RESERVED_WORD); } /* Global variables */ "$0" | "$1" | "$2" | "$3" | "$4" | "$5" | "$6" | "$7" | "$8" | "$9" | "$INSTDIR" | "$OUTDIR" | "$CMDLINE" | "$LANGUAGE" | /* Local variables */ ("$R0"{Digit}) | /* Constants */ "ARCHIVE" | "CENTER" | "CONTROL" | "CUR" | "EXT" | ("F"{NonzeroDigit}) | ("F1"{Digit}) | ("F2"[0-4]) | "FILE_ATTRIBUTE_ARCHIVE" | "MB_ABORTRETRYIGNORE" | "RIGHT" | "RO" | "SET" | "SHIFT" | "SW_SHOWMAXIMIZED" | "SW_SHOWMINIMIZED" | "SW_SHOWNORMAL" | "a" | "admin" | "all" | "alwaysoff" | "auto" | "both" | "bottom" | "bzip2" | "checkbox" | "colored" | "components" | "current" | "custom" | "directory" | "force" | "hide" | "highest" | "ifnewer" | "instfiles" | "license" | "listonly" | "manual" | "nevershow" | "none" | "off" | "on" | "r" | "radiobuttons" | "show" | "silent" | "silentlog" | "smooth" | "textonly" | "top" | "try" | "uninstConfirm" | "user" | "w" | "zlib" | "$$" | "$DESKTOP" | "$EXEDIR" | "$HWNDPARENT" | "$PLUGINSDIR" | "$PROGRAMFILES" | "$QUICKLAUNCH" | "$SMPROGRAMS" | "$SMSTARTUP" | "$STARTMENU" | "$SYSDIR" | "$TEMP" | "$WINDIR" | "$\n" | "$\r" | "${NSISDIR}" | "ALT" | "END" | "FILE_ATTRIBUTE_HIDDEN" | "FILE_ATTRIBUTE_NORMAL" | "FILE_ATTRIBUTE_OFFLINE" | "FILE_ATTRIBUTE_READONLY" | "FILE_ATTRIBUTE_SYSTEM" | "FILE_ATTRIBUTE_TEMPORARY" | "HIDDEN" | "HKCC" | "HKCR" | "HKCU" | "HKDD" | "HKLM" | "HKPD" | "HKU" | "SHCTX" | "IDABORT" | "IDCANCEL" | "IDIGNORE" | "IDNO" | "IDOK" | "IDRETRY" | "IDYES" | "LEFT" | "MB_DEFBUTTON1" | "MB_DEFBUTTON2" | "MB_DEFBUTTON3" | "MB_DEFBUTTON4" | "MB_ICONEXCLAMATION" | "MB_ICONINFORMATION" | "MB_ICONQUESTION" | "MB_ICONSTOP" | "MB_OK" | "MB_OKCANCEL" | "MB_RETRYCANCEL" | "MB_RIGHT" | "MB_SETFOREGROUND" | "MB_TOPMOST" | "MB_YESNO" | "MB_YESNOCANCEL" | "NORMAL" | "OFFLINE" | "READONLY" | "SYSTEM" | "TEMPORARY" { addToken(Token.VARIABLE); } {LineTerminator} { addNullToken(); return firstToken; } {BooleanLiteral} { addToken(Token.LITERAL_BOOLEAN); } {Identifier} { addToken(Token.IDENTIFIER); } {Variable} { addToken(Token.VARIABLE); } {WhiteSpace}+ { addToken(Token.WHITESPACE); } /* String/Character literals. */ \" { start = zzMarkedPos-1; yybegin(STRING); } \' { start = zzMarkedPos-1; yybegin(CHAR_LITERAL); } \` { start = zzMarkedPos-1; yybegin(BACKTICKS); } /* Comment literals. */ "/**/" { addToken(Token.COMMENT_MULTILINE); } {MLCBegin} { start = zzMarkedPos-2; yybegin(MLC); } {LineCommentBegin} { start = zzMarkedPos-1; yybegin(EOL_COMMENT); } /* Separators. */ {Separator} { addToken(Token.SEPARATOR); } {Separator2} { addToken(Token.IDENTIFIER); } /* Operators. */ {Operator} { addToken(Token.OPERATOR); } /* Numbers */ {IntegerLiteral} { addToken(Token.LITERAL_NUMBER_DECIMAL_INT); } {HexLiteral} { addToken(Token.LITERAL_NUMBER_HEXADECIMAL); } {ErrorNumberFormat} { addToken(Token.ERROR_NUMBER_FORMAT); } /* Ended with a line not in a string or comment. */ <> { addNullToken(); return firstToken; } /* Catch any other (unhandled) characters and flag them as identifiers. */ . { addToken(Token.IDENTIFIER); } } { [^\n\\\$\"]+ {} \\. { /* Skip all escaped chars. */ } \\ { /* Line ending in '\' => continue to next line. */ addToken(start,zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); return firstToken; } {Variable} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.LITERAL_STRING_DOUBLE_QUOTE); addToken(temp,zzMarkedPos-1, Token.VARIABLE); start = zzMarkedPos; } {VariableStart} {} \" { yybegin(YYINITIAL); addToken(start,zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); } \n | <> { addToken(start,zzStartRead-1, Token.ERROR_STRING_DOUBLE); return firstToken; } } { [^\n\\\$\']+ {} \\. { /* Skip all escaped chars. */ } \\ { /* Line ending in '\' => continue to next line. */ addToken(start,zzStartRead, Token.LITERAL_CHAR); return firstToken; } {Variable} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.LITERAL_STRING_DOUBLE_QUOTE); addToken(temp,zzMarkedPos-1, Token.VARIABLE); start = zzMarkedPos; } {VariableStart} {} \' { yybegin(YYINITIAL); addToken(start,zzStartRead, Token.LITERAL_CHAR); } \n | <> { addToken(start,zzStartRead-1, Token.ERROR_CHAR); return firstToken; } } { [^\n\\\$\`]+ {} \\. { /* Skip all escaped chars. */ } \\ { /* Line ending in '\' => continue to next line. */ addToken(start,zzStartRead, Token.LITERAL_BACKQUOTE); return firstToken; } {Variable} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.LITERAL_BACKQUOTE); addToken(temp,zzMarkedPos-1, Token.VARIABLE); start = zzMarkedPos; } {VariableStart} {} \` { yybegin(YYINITIAL); addToken(start,zzStartRead, Token.LITERAL_BACKQUOTE); } \n | <> { addToken(start,zzStartRead-1, Token.LITERAL_BACKQUOTE); return firstToken; } } { [^hwf\n\*]+ {} {URL} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_MULTILINE); start = zzMarkedPos; } [hwf] {} \n { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); return firstToken; } {MLCEnd} { yybegin(YYINITIAL); addToken(start,zzStartRead+1, Token.COMMENT_MULTILINE); } \* {} <> { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); return firstToken; } } { [^hwf\n]+ {} {URL} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_EOL); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_EOL); start = zzMarkedPos; } [hwf] {} \n | <> { addToken(start,zzStartRead-1, Token.COMMENT_EOL); addNullToken(); return firstToken; } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/NSISTokenMaker.java0000644000175000001440000041542112202002502027257 0ustar benusers/* The following code was generated by JFlex 1.4.1 on 10/7/12 12:43 AM */ /* * 07/14/2014 * * NSISTokenMaker.java - Scanner for NSIS installer scripts. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.*; /** * Scanner for NSIS installer scripts.

* * 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * 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.
  • *
  • You should NOT call yylex() on the generated scanner * directly; rather, you should use getTokenList as you would * with any other TokenMaker instance.
  • *
* * @author Robert Futrell * @version 1.0 * */ public class NSISTokenMaker extends AbstractJFlexCTokenMaker { /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ public static final int EOL_COMMENT = 5; public static final int STRING = 1; public static final int CHAR_LITERAL = 2; public static final int YYINITIAL = 0; public static final int MLC = 4; public static final int BACKTICKS = 3; /** * Translates characters to character classes */ private static final String ZZ_CMAP_PACKED = "\11\0\1\16\1\15\1\0\1\16\1\75\22\0\1\16\1\42\1\10"+ "\1\11\1\13\1\41\1\44\1\51\2\31\1\17\1\33\1\52\1\34"+ "\1\32\1\14\1\4\1\72\1\73\1\74\1\74\1\6\1\6\1\6"+ "\1\3\1\3\1\45\1\20\1\35\1\36\1\40\1\43\1\50\1\26"+ "\1\5\1\60\1\62\1\24\1\25\1\63\1\53\1\55\1\1\1\66"+ "\1\27\1\64\1\57\1\61\1\54\1\71\1\23\1\30\1\22\1\7"+ "\1\70\1\56\1\21\1\67\1\65\1\31\1\12\1\31\1\37\1\2"+ "\1\76\1\26\1\5\1\60\1\62\1\24\1\77\1\63\1\100\1\55"+ "\1\1\1\66\1\27\1\64\1\57\1\61\1\54\1\71\1\23\1\30"+ "\1\22\1\7\1\70\1\101\1\21\1\67\1\65\1\46\1\37\1\47"+ "\1\43\uff81\0"; /** * Translates characters to character classes */ private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED); /** * Translates DFA states to action switch labels. */ private static final int [] ZZ_ACTION = zzUnpackAction(); private static final String ZZ_ACTION_PACKED_0 = "\6\0\2\1\2\2\2\1\1\3\1\4\2\1\1\5"+ "\1\6\1\7\2\1\1\10\2\1\1\10\2\1\1\11"+ "\7\7\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\1\0\1\7"+ "\13\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[1322]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } private static int zzUnpackAction(String packed, int offset, int [] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } 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\102\0\204\0\306\0\u0108\0\u014a\0\u018c\0\u01ce"+ "\0\u0210\0\u0252\0\u0294\0\u02d6\0\u018c\0\u018c\0\u0318\0\u035a"+ "\0\u018c\0\u039c\0\u03de\0\u0420\0\u0462\0\u04a4\0\u04e6\0\u0528"+ "\0\u056a\0\u05ac\0\u05ee\0\u018c\0\u0630\0\u0672\0\u06b4\0\u06f6"+ "\0\u0738\0\u018c\0\u077a\0\u018c\0\u07bc\0\u07fe\0\u0840\0\u0882"+ "\0\u08c4\0\u0906\0\u0948\0\u098a\0\u09cc\0\u0a0e\0\u0a50\0\u0a92"+ "\0\u0ad4\0\u018c\0\u0b16\0\u018c\0\u0b58\0\u0b9a\0\u018c\0\u0bdc"+ "\0\u0b58\0\u018c\0\u018c\0\u0c1e\0\u0b58\0\u0c60\0\u018c\0\u018c"+ "\0\u0ca2\0\u018c\0\u0ce4\0\u0d26\0\u0d68\0\u0daa\0\u0dec\0\u0e2e"+ "\0\u0e70\0\u0eb2\0\u018c\0\u0ef4\0\u0f36\0\u0f78\0\u0fba\0\u0ffc"+ "\0\u103e\0\u1080\0\u10c2\0\u1104\0\u1146\0\u1188\0\u11ca\0\u120c"+ "\0\u124e\0\u1290\0\u12d2\0\u01ce\0\u018c\0\u1314\0\u1356\0\u1398"+ "\0\u13da\0\u141c\0\u145e\0\u14a0\0\u14e2\0\u1524\0\u1566\0\u15a8"+ "\0\u15ea\0\u162c\0\u166e\0\u16b0\0\u16f2\0\u1734\0\u1776\0\u17b8"+ "\0\u17fa\0\u183c\0\u187e\0\u18c0\0\u1902\0\u1944\0\u1986\0\u19c8"+ "\0\u1a0a\0\u1a4c\0\u1a8e\0\u1ad0\0\u1b12\0\u1b54\0\u1b96\0\u1bd8"+ "\0\u1c1a\0\u1c5c\0\u1c9e\0\u1ce0\0\u1d22\0\u1d64\0\u1da6\0\u1de8"+ "\0\u1e2a\0\u1e6c\0\u1eae\0\u1ef0\0\u1f32\0\u1f74\0\u1fb6\0\u1ff8"+ "\0\u03de\0\u203a\0\u207c\0\u20be\0\u2100\0\u2142\0\u2184\0\u21c6"+ "\0\u2208\0\u224a\0\u228c\0\u22ce\0\u2310\0\u2352\0\u2394\0\u23d6"+ "\0\u2418\0\u245a\0\u249c\0\u24de\0\u2520\0\u2562\0\u25a4\0\u25e6"+ "\0\u2628\0\u266a\0\u26ac\0\u26ee\0\u2730\0\u2772\0\u27b4\0\u27f6"+ "\0\u2838\0\u287a\0\u28bc\0\u28fe\0\u2940\0\u2982\0\u29c4\0\u2a06"+ "\0\u2a48\0\u2a8a\0\u2acc\0\u2b0e\0\u2b50\0\u2b92\0\u2bd4\0\u2c16"+ "\0\u2c58\0\u2c9a\0\u018c\0\u2cdc\0\u2d1e\0\u2d60\0\u2da2\0\u018c"+ "\0\u2de4\0\u2e26\0\u2e68\0\u2eaa\0\u2eec\0\u2f2e\0\u2f70\0\u2fb2"+ "\0\u2ff4\0\u3036\0\u3078\0\u30ba\0\u30fc\0\u313e\0\u3180\0\u31c2"+ "\0\u3204\0\u1146\0\u3246\0\u3288\0\u32ca\0\u330c\0\u334e\0\u3390"+ "\0\u33d2\0\u3414\0\u3456\0\u1ad0\0\u3498\0\u34da\0\u351c\0\u355e"+ "\0\u35a0\0\u35e2\0\u3624\0\u3666\0\u36a8\0\u36ea\0\u372c\0\u376e"+ "\0\u37b0\0\u37f2\0\u3834\0\u3876\0\u38b8\0\u38fa\0\u393c\0\u397e"+ "\0\u39c0\0\u3a02\0\u3a44\0\u3a86\0\u3ac8\0\u3b0a\0\u3b4c\0\u3b8e"+ "\0\u3bd0\0\u3c12\0\u3c54\0\u3c96\0\u3cd8\0\u3d1a\0\u3d5c\0\u3d9e"+ "\0\u3de0\0\u3e22\0\u3e64\0\u3ea6\0\u3ee8\0\u3f2a\0\u3f6c\0\u3fae"+ "\0\u3ff0\0\u4032\0\u4074\0\u40b6\0\u40f8\0\u413a\0\u417c\0\u41be"+ "\0\u4200\0\u4242\0\u4284\0\u42c6\0\u4308\0\u434a\0\u438c\0\u43ce"+ "\0\u4410\0\u4452\0\u4494\0\u44d6\0\u4518\0\u455a\0\u459c\0\u45de"+ "\0\u4620\0\u4662\0\u46a4\0\u46e6\0\u4728\0\u476a\0\u47ac\0\u47ee"+ "\0\u4830\0\u018c\0\u4872\0\u48b4\0\u48f6\0\u4938\0\u497a\0\u49bc"+ "\0\u49fe\0\u4a40\0\u4a82\0\u4ac4\0\u01ce\0\u4b06\0\u4b48\0\u4b8a"+ "\0\u4bcc\0\u4c0e\0\u4c50\0\u4c92\0\u4cd4\0\u4d16\0\u4d58\0\u4d9a"+ "\0\u4ddc\0\u4e1e\0\u4e60\0\u4ea2\0\u4ee4\0\u4f26\0\u4f68\0\u4faa"+ "\0\u4fec\0\u502e\0\u5070\0\u50b2\0\u50f4\0\u5136\0\u5178\0\u51ba"+ "\0\u51fc\0\u523e\0\u5280\0\u52c2\0\u5304\0\u5346\0\u5388\0\u53ca"+ "\0\u540c\0\u544e\0\u5490\0\u54d2\0\u5514\0\u5556\0\u5598\0\u55da"+ "\0\u561c\0\u565e\0\u56a0\0\u56e2\0\u5724\0\u5766\0\u57a8\0\u57ea"+ "\0\u582c\0\u586e\0\u58b0\0\u58f2\0\u5934\0\u5976\0\u59b8\0\u59fa"+ "\0\u5a3c\0\u5a7e\0\u5ac0\0\u5b02\0\u5b44\0\u5b86\0\u5bc8\0\u5c0a"+ "\0\u5c4c\0\u5c8e\0\u5cd0\0\u5d12\0\u5d54\0\u5d96\0\u5dd8\0\u5e1a"+ "\0\u5e5c\0\u5e9e\0\u5ee0\0\u5f22\0\u5f64\0\u5fa6\0\u5fe8\0\u602a"+ "\0\u606c\0\u60ae\0\u60f0\0\u6132\0\u6174\0\u61b6\0\u61f8\0\u623a"+ "\0\u5490\0\u627c\0\u62be\0\u018c\0\u6300\0\u01ce\0\u6342\0\u6384"+ "\0\u63c6\0\u6408\0\u644a\0\u648c\0\u64ce\0\u6510\0\u6552\0\u6594"+ "\0\u65d6\0\u6618\0\u665a\0\u669c\0\u66de\0\u6720\0\u6762\0\u67a4"+ "\0\u67e6\0\u6828\0\u686a\0\u68ac\0\u68ee\0\u6930\0\u6972\0\u69b4"+ "\0\u69f6\0\u6a38\0\u6a7a\0\u6abc\0\u6afe\0\u6b40\0\u6b82\0\u6bc4"+ "\0\u6c06\0\u6c48\0\u6c8a\0\u6ccc\0\u6d0e\0\u6d50\0\u6d92\0\u6dd4"+ "\0\u6e16\0\u6e58\0\u6e9a\0\u6edc\0\u6f1e\0\u6f60\0\u6fa2\0\u6fe4"+ "\0\u7026\0\u7068\0\u70aa\0\u70ec\0\u712e\0\u7170\0\u71b2\0\u71f4"+ "\0\u7236\0\u7278\0\u72ba\0\u72fc\0\u733e\0\u7380\0\u73c2\0\u2520"+ "\0\u7404\0\u7446\0\u7488\0\u74ca\0\u750c\0\u754e\0\u7590\0\u75d2"+ "\0\u7614\0\u7656\0\u7698\0\u76da\0\u771c\0\u775e\0\u77a0\0\u77e2"+ "\0\u7824\0\u7866\0\u78a8\0\u78ea\0\u792c\0\u796e\0\u79b0\0\u79f2"+ "\0\u7a34\0\u7a76\0\u7ab8\0\u7afa\0\u7b3c\0\u7b7e\0\u7bc0\0\u7c02"+ "\0\u7c44\0\u7c86\0\u7cc8\0\u7d0a\0\u7d4c\0\u7d8e\0\u7dd0\0\u7e12"+ "\0\u7e54\0\u7e96\0\u7ed8\0\u7f1a\0\u7f5c\0\u7f9e\0\u7fe0\0\u8022"+ "\0\u8064\0\u80a6\0\u80e8\0\u812a\0\u816c\0\u81ae\0\u81f0\0\u8232"+ "\0\u8274\0\u82b6\0\u82f8\0\u833a\0\u837c\0\u83be\0\u018c\0\u8400"+ "\0\u8442\0\u018c\0\u8484\0\u84c6\0\u8508\0\u854a\0\u858c\0\u85ce"+ "\0\u8610\0\u8652\0\u8694\0\u86d6\0\u8718\0\u875a\0\u879c\0\u87de"+ "\0\u8820\0\u8862\0\u88a4\0\u88e6\0\u8928\0\u896a\0\u89ac\0\u89ee"+ "\0\u8a30\0\u8a72\0\u8ab4\0\u8af6\0\u8b38\0\u8b7a\0\u8bbc\0\u8bfe"+ "\0\u8c40\0\u8c82\0\u8cc4\0\u8d06\0\u8d48\0\u8d8a\0\u8dcc\0\u8e0e"+ "\0\u8e50\0\u8e92\0\u8ed4\0\u8f16\0\u8f58\0\u8f9a\0\u8fdc\0\u901e"+ "\0\u9060\0\u90a2\0\u90e4\0\u9126\0\u9168\0\u91aa\0\u91ec\0\u922e"+ "\0\u9270\0\u92b2\0\u92f4\0\u9336\0\u9378\0\u93ba\0\u93fc\0\u943e"+ "\0\u9480\0\u94c2\0\u9504\0\u9546\0\u9588\0\u95ca\0\u960c\0\u964e"+ "\0\u9690\0\u96d2\0\u9714\0\u9756\0\u9798\0\u97da\0\u981c\0\u985e"+ "\0\u98a0\0\u98e2\0\u9924\0\u9966\0\u99a8\0\u99ea\0\u9a2c\0\u9a6e"+ "\0\u9ab0\0\u9af2\0\u9b34\0\u9b76\0\u9bb8\0\u9bfa\0\u9c3c\0\u9c7e"+ "\0\u9cc0\0\u9d02\0\u9d44\0\u9d86\0\u9dc8\0\u9e0a\0\u9e4c\0\u9e8e"+ "\0\u9ed0\0\u9f12\0\u9f54\0\u9f96\0\u9fd8\0\ua01a\0\ua05c\0\ua09e"+ "\0\ua0e0\0\ua122\0\ua164\0\ua1a6\0\ua1e8\0\ua22a\0\ua26c\0\ua2ae"+ "\0\ua2f0\0\ua332\0\ua374\0\ua3b6\0\ua3f8\0\ua43a\0\ua47c\0\ua4be"+ "\0\ua500\0\ua542\0\ua584\0\ua5c6\0\ua608\0\ua64a\0\ua68c\0\ua6ce"+ "\0\ua710\0\ua752\0\ua794\0\ua7d6\0\ua818\0\ua85a\0\ua89c\0\ua8de"+ "\0\ua920\0\ua962\0\ua9a4\0\ua9e6\0\uaa28\0\uaa6a\0\uaaac\0\uaaee"+ "\0\uab30\0\uab72\0\uabb4\0\uabf6\0\uac38\0\uac7a\0\uacbc\0\uacfe"+ "\0\uad40\0\uad82\0\uadc4\0\uae06\0\uae48\0\uae8a\0\u854a\0\uaecc"+ "\0\uaf0e\0\u86d6\0\uaf50\0\uaf92\0\uafd4\0\ub016\0\ub058\0\ub09a"+ "\0\ub0dc\0\ub11e\0\ub160\0\ub1a2\0\ub1e4\0\ub226\0\ub268\0\ub2aa"+ "\0\ub2ec\0\ub32e\0\ub370\0\ub3b2\0\ub3f4\0\ub436\0\ub478\0\ub4ba"+ "\0\ub4fc\0\ub53e\0\ub580\0\ub5c2\0\ub604\0\ub646\0\ub688\0\ub6ca"+ "\0\ub70c\0\ub74e\0\ub790\0\ub7d2\0\ub814\0\ub856\0\ub898\0\ub8da"+ "\0\ub91c\0\ub95e\0\ub9a0\0\ub9e2\0\uba24\0\uba66\0\ubaa8\0\ubaea"+ "\0\ubb2c\0\ubb6e\0\ubbb0\0\ubbf2\0\ubc34\0\ubc76\0\ubcb8\0\ubcfa"+ "\0\ubd3c\0\ubd7e\0\ubdc0\0\ube02\0\ube44\0\ube86\0\ubec8\0\ubf0a"+ "\0\ubf4c\0\ubf8e\0\ubfd0\0\uc012\0\uc054\0\uc096\0\uc0d8\0\uc11a"+ "\0\uc15c\0\uc19e\0\uc1e0\0\uc222\0\uc264\0\uc2a6\0\uc2e8\0\uc32a"+ "\0\uc36c\0\uc3ae\0\uc3f0\0\uc432\0\uc474\0\uc4b6\0\uc4f8\0\uc53a"+ "\0\uc57c\0\uc5be\0\uc600\0\uc642\0\uc684\0\uc6c6\0\uc708\0\uc74a"+ "\0\uc78c\0\uc7ce\0\uc810\0\uc852\0\uc894\0\uc8d6\0\uc918\0\uc95a"+ "\0\uc99c\0\uc9de\0\uca20\0\uca62\0\ucaa4\0\ucae6\0\ucb28\0\ucb6a"+ "\0\ucbac\0\ucbee\0\ucc30\0\ucc72\0\uccb4\0\uccf6\0\ucd38\0\ucd7a"+ "\0\ucdbc\0\ucdfe\0\uce40\0\uce82\0\ucec4\0\ucf06\0\ucf48\0\ucf8a"+ "\0\ucfcc\0\ud00e\0\ud050\0\ud092\0\ud0d4\0\ud116\0\ud158\0\ud19a"+ "\0\ud1dc\0\ud21e\0\ud260\0\ud2a2\0\ud2e4\0\ud326\0\u50b2\0\ud368"+ "\0\ud3aa\0\ud3ec\0\ud42e\0\ud470\0\ud4b2\0\ud4f4\0\ud536\0\ud578"+ "\0\ud5ba\0\ud5fc\0\ud63e\0\ud680\0\ud6c2\0\ud704\0\ud746\0\ud788"+ "\0\ud7ca\0\ud80c\0\ud84e\0\ud890\0\ud8d2\0\ud914\0\ud956\0\ud998"+ "\0\ud9da\0\uda1c\0\uda5e\0\udaa0\0\udae2\0\udb24\0\udb66\0\udba8"+ "\0\udbea\0\udc2c\0\udc6e\0\udcb0\0\udcf2\0\udd34\0\udd76\0\uddb8"+ "\0\uddfa\0\ude3c\0\ude7e\0\udec0\0\udf02\0\udf44\0\udf86\0\udfc8"+ "\0\ue00a\0\ue04c\0\ue08e\0\ue0d0\0\ubaa8\0\ue112\0\ue154\0\ue196"+ "\0\ue1d8\0\ue21a\0\ue25c\0\ue29e\0\ue2e0\0\ue322\0\ue364\0\ue3a6"+ "\0\ue3e8\0\ue42a\0\ue46c\0\ue4ae\0\ue4f0\0\ue532\0\ue574\0\ue5b6"+ "\0\ue5f8\0\ue63a\0\ue67c\0\ue6be\0\ue700\0\ue742\0\ue784\0\ue7c6"+ "\0\ue808\0\ue84a\0\ue88c\0\ue8ce\0\ue910\0\ue952\0\ue994\0\ue9d6"+ "\0\uea18\0\uea5a\0\uea9c\0\ueade\0\ueb20\0\ueb62\0\ueba4\0\uebe6"+ "\0\uec28\0\uec6a\0\uecac\0\uecee\0\ued30\0\ued72\0\uedb4\0\uedf6"+ "\0\uee38\0\uee7a\0\ueebc\0\ueefe\0\uef40\0\uef82\0\uefc4\0\uf006"+ "\0\uf048\0\uf08a\0\uf0cc\0\uf10e\0\uf150\0\uf192\0\uf1d4\0\uf216"+ "\0\uf258\0\uf29a\0\uf2dc\0\uf31e\0\uf360\0\uf3a2\0\uf3e4\0\uf426"+ "\0\uf468\0\uf4aa\0\uf4ec\0\uf52e\0\uf570\0\uf5b2\0\uf5f4\0\uf636"+ "\0\uf678\0\uf6ba\0\uf6fc\0\uf73e\0\uf780\0\uf7c2\0\uf804\0\uf846"+ "\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\1\u0254\0\uaaee"+ "\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"+ "\1\u08c6\1\u0908\1\u094a\1\u098c\1\u09ce\1\u0a10\1\u0a52\1\u0a94"+ "\1\u0ad6\1\u0b18\1\u0b5a\1\u0b9c\1\u0bde\1\u0c20\1\u0c62\1\u0ca4"+ "\1\u0ce6\1\u0d28\1\u0d6a\1\u0dac\1\u0dee\1\u0e30\1\u0e72\1\u0eb4"+ "\1\u0ef6\1\u0f38\1\u0f7a\1\u0fbc\1\u0ffe\1\u1040\1\u1082\1\u10c4"+ "\1\u1106\1\u1148\1\u118a\1\u11cc\1\u120e\1\u1250\1\u1292\1\u12d4"+ "\1\u1316\1\u1358\1\u139a\1\u13dc\1\u141e\1\u1460\1\u14a2\1\u14e4"+ "\1\u1526\1\u1568\1\u15aa\1\u15ec\1\u162e\1\u1670\1\u16b2\1\u16f4"+ "\1\u1736\1\u1778\1\u17ba\1\u17fc\1\u183e\1\u1880\1\u18c2\1\u1904"+ "\1\u1946\1\u1988\1\u19ca\1\u1a0c\1\u1a4e\1\u1a90\1\u1ad2\1\u1b14"+ "\1\u1b56\1\u1b98\1\u1bda\1\u1c1c\1\u1c5e\1\u1ca0\1\u1ce2\1\u1d24"+ "\1\u1d66\1\u1da8\1\u1dea\1\u1e2c\1\u1e6e\1\u1eb0\1\u1ef2\1\u1f34"+ "\1\u1f76\1\u1fb8\0\u01ce\1\u1ffa\1\u203c\1\u207e\1\u20c0\1\u2102"+ "\1\u2144\1\u2186\1\u21c8\1\u220a\1\u224c\1\u228e\1\u22d0\1\u2312"+ "\1\u2354\1\u2396\1\u23d8\1\u241a\1\u245c\1\u249e\1\u24e0\1\u2522"+ "\1\u2564\1\u25a6\1\u25e8\1\u262a\1\u266c\1\u26ae\1\u26f0\1\u2732"+ "\1\u2774\1\u27b6\1\u27f8\1\u283a\1\u287c\1\u28be\1\u2900\1\u2942"+ "\1\u2984\1\u29c6\1\u2a08\1\u2a4a\1\u2a8c\1\u2ace\1\u2b10\1\u2b52"+ "\1\u2b94\1\u2bd6\0\uf570\1\u2c18\1\u2c5a\1\u2c9c\1\u2cde\1\u2d20"+ "\1\u2d62\1\u2da4\1\u2de6\1\u2e28\1\u2e6a\1\u2eac\1\u2eee\1\u2f30"+ "\1\u2f72\1\u2fb4\1\u2ff6\1\u3038\1\u307a\1\u30bc\1\u30fe\1\u3140"+ "\1\u3182\1\u31c4\1\u3206\1\u3248\1\u328a\1\u32cc\1\u330e\1\u3350"+ "\1\u3392\1\u33d4\1\u3416\1\u3458\1\u349a\1\u34dc\1\u351e\1\u3560"+ "\1\u35a2\1\u35e4\1\u3626\1\u3668\1\u36aa\1\u36ec\1\u372e\1\u3770"+ "\1\u37b2\1\u37f4\1\u3836\1\u3878\1\u38ba\1\u38fc\1\u393e\1\u3980"+ "\1\u39c2\1\u3a04\1\u3a46\1\u3a88\1\u3aca\1\u3b0c\1\u3b4e\1\u3b90"+ "\1\u3bd2\1\u3c14\1\u3c56\1\u3c98\1\u3cda\1\u3d1c\1\u3d5e\1\u3da0"+ "\1\u3de2\1\u3e24\1\u3e66\1\u3ea8\1\u3eea\1\u3f2c\1\u3f6e\1\u3fb0"+ "\1\u3ff2\1\u4034\1\u4076\1\u40b8\1\u40fa\1\u413c\1\u417e\1\u41c0"+ "\1\u4202\1\u4244\1\u4286\1\u42c8\1\u430a\1\u434c\1\u438e\1\u43d0"+ "\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\1\u4a84"; private static int [] zzUnpackRowMap() { int [] result = new int[1322]; int offset = 0; offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result); return result; } private static int zzUnpackRowMap(String packed, int offset, int [] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ int l = packed.length(); while (i < l) { int high = packed.charAt(i++) << 16; result[j++] = high | packed.charAt(i++); } 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"+ "\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"+ "\1\125\7\123\17\0\1\123\2\0\17\123\3\124\1\0"+ "\4\123\1\0\7\10\2\0\1\122\2\10\4\0\2\10"+ "\1\126\5\10\22\0\6\10\1\127\1\10\1\130\1\10"+ "\1\131\7\10\2\0\3\10\1\0\7\10\2\0\1\122"+ "\2\10\4\0\7\10\1\132\22\0\4\10\1\133\15\10"+ "\2\0\3\10\1\0\2\10\2\134\1\10\1\134\1\10"+ "\2\0\1\122\1\134\1\10\1\135\3\0\1\10\1\136"+ "\1\137\1\140\2\10\1\141\1\142\15\0\1\143\4\0"+ "\1\144\1\145\1\146\1\147\1\10\1\150\1\151\1\152"+ "\6\10\1\153\3\134\1\135\1\0\1\10\1\144\1\147"+ "\1\0\7\10\2\0\1\122\2\10\2\0\1\154\1\0"+ "\10\10\5\0\1\42\14\0\22\10\2\0\3\10\16\0"+ "\1\22\121\0\1\42\44\0\7\10\2\0\1\122\2\10"+ "\4\0\10\10\22\0\1\10\1\155\20\10\2\0\3\10"+ "\1\0\7\10\2\0\1\122\2\10\4\0\2\10\1\156"+ "\1\157\4\10\22\0\6\10\1\160\13\10\2\0\3\10"+ "\1\0\7\10\2\0\1\122\2\10\4\0\3\10\1\161"+ "\1\10\1\162\2\10\22\0\2\10\1\163\3\10\1\134"+ "\2\10\1\164\10\10\2\0\3\10\1\0\7\10\2\0"+ "\1\122\2\10\4\0\1\165\7\10\22\0\4\10\1\166"+ "\15\10\2\0\3\10\1\0\2\10\1\134\2\10\1\134"+ "\1\167\2\0\1\122\2\10\4\0\5\10\1\170\1\171"+ "\1\10\22\0\2\10\1\172\3\10\1\173\10\10\1\174"+ "\1\175\1\134\2\0\3\10\1\0\4\10\1\176\1\10"+ "\1\177\2\0\1\122\2\10\4\0\2\10\1\200\3\10"+ "\1\201\1\10\22\0\7\10\1\202\12\10\2\0\3\10"+ "\1\0\7\10\2\0\1\122\2\10\4\0\3\10\1\203"+ "\1\10\1\204\2\10\22\0\2\10\1\205\3\10\1\206"+ "\13\10\2\0\3\10\1\0\6\10\1\207\2\0\1\122"+ "\2\10\4\0\1\10\1\210\1\10\1\211\2\10\1\212"+ "\1\10\22\0\1\213\1\214\1\215\1\216\5\10\1\217"+ "\2\10\1\220\5\10\2\0\1\10\1\213\1\216\33\0"+ "\1\42\2\0\1\42\77\0\1\42\1\0\1\42\100\0"+ "\1\221\1\42\101\0\1\42\1\0\1\222\50\0\1\223"+ "\14\0\1\224\1\0\1\225\1\0\1\226\5\0\1\42"+ "\15\0\1\227\1\230\1\231\1\0\1\232\1\0\1\233"+ "\1\0\1\234\3\0\1\235\10\0\1\231\36\0\1\42"+ "\5\0\1\42\36\0\7\10\2\0\1\122\2\10\4\0"+ "\10\10\22\0\2\10\1\236\10\10\1\237\6\10\2\0"+ "\3\10\1\0\6\10\1\240\2\0\1\122\2\10\4\0"+ "\5\10\1\241\1\242\1\10\22\0\6\10\1\243\13\10"+ "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0"+ "\4\10\1\244\2\10\1\245\22\0\4\10\1\246\1\247"+ "\1\10\1\250\12\10\2\0\1\244\2\10\1\0\7\10"+ "\2\0\1\122\2\10\4\0\2\10\1\251\5\10\22\0"+ "\2\10\1\252\17\10\2\0\3\10\1\0\7\10\2\0"+ "\1\122\2\10\4\0\3\10\1\253\1\10\1\254\2\10"+ "\22\0\6\10\1\255\13\10\2\0\3\10\1\0\6\10"+ "\1\256\2\0\1\122\2\10\4\0\2\10\1\257\1\260"+ "\1\10\1\261\1\262\1\10\22\0\1\263\5\10\1\264"+ "\13\10\2\0\1\10\1\263\1\10\1\0\6\10\1\265"+ "\2\0\1\122\2\10\4\0\4\10\1\266\3\10\22\0"+ "\4\10\1\134\15\10\2\0\1\266\2\10\1\0\7\10"+ "\2\0\1\122\2\10\4\0\3\10\1\267\4\10\22\0"+ "\2\10\1\270\17\10\2\0\3\10\1\0\7\10\2\0"+ "\1\122\2\10\4\0\3\10\1\271\4\10\22\0\6\10"+ "\1\272\13\10\2\0\3\10\1\0\4\10\1\273\2\10"+ "\2\0\1\122\2\10\4\0\3\10\1\274\1\10\1\275"+ "\2\10\22\0\2\10\1\276\17\10\2\0\3\10\1\0"+ "\7\10\2\0\1\122\2\10\4\0\6\10\1\277\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\300\2\10\22\0\2\10\1\301"+ "\17\10\2\0\3\10\1\0\6\10\1\302\2\0\1\122"+ "\2\10\4\0\10\10\22\0\22\10\2\0\3\10\10\63"+ "\1\0\1\63\2\0\1\63\1\0\64\63\15\303\1\0"+ "\64\303\1\0\2\304\2\0\1\304\1\0\1\304\3\0"+ "\2\304\4\0\10\304\15\0\1\305\4\0\17\304\5\0"+ "\3\304\12\70\2\0\1\70\1\0\33\70\1\0\30\70"+ "\12\74\2\0\1\74\1\0\60\74\1\0\3\74\1\0"+ "\2\306\2\0\1\306\1\0\1\306\3\0\2\306\4\0"+ "\10\306\15\0\1\307\4\0\17\306\5\0\3\306\15\101"+ "\1\0\1\101\1\0\57\101\17\0\1\310\65\0\15\101"+ "\1\0\1\101\1\0\2\101\1\311\32\101\1\312\21\101"+ "\3\0\15\101\1\0\1\101\1\0\2\101\1\313\54\101"+ "\3\0\15\101\1\0\1\101\1\0\36\101\1\314\20\101"+ "\2\0\1\315\22\0\1\316\32\0\1\317\46\0\1\320"+ "\135\0\1\315\22\0\1\315\15\112\1\0\61\112\3\0"+ "\15\112\1\0\4\112\1\321\32\112\1\322\21\112\3\0"+ "\15\112\1\0\4\112\1\323\54\112\3\0\15\112\1\0"+ "\40\112\1\324\20\112\2\0\1\325\22\0\1\326\32\0"+ "\1\327\46\0\1\330\135\0\1\325\22\0\1\325\7\0"+ "\1\331\72\0\10\123\1\0\3\123\5\0\10\123\17\0"+ "\1\123\2\0\22\123\1\0\10\123\1\124\1\123\1\124"+ "\1\123\1\0\3\123\5\0\10\123\17\0\1\123\2\0"+ "\17\123\3\124\1\0\7\123\4\332\1\123\1\0\3\123"+ "\5\0\3\123\3\332\2\123\17\0\1\123\2\0\5\123"+ "\1\332\1\123\1\332\7\123\3\332\1\0\1\123\1\332"+ "\2\123\1\0\7\10\2\0\1\122\2\10\4\0\5\10"+ "\1\333\2\10\22\0\2\10\1\334\17\10\2\0\3\10"+ "\1\0\7\10\2\0\1\122\2\10\4\0\1\10\1\335"+ "\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\336\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\337\17\10\2\0\3\10\1\0"+ "\7\10\2\0\1\122\2\10\4\0\3\10\1\340\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\341\5\10\22\0\2\10\1\342"+ "\17\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10"+ "\4\0\3\10\1\343\4\10\22\0\22\10\2\0\3\10"+ "\1\0\3\10\1\344\3\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\345\7\10\22\0\22\10\2\0"+ "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\5\10"+ "\1\346\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\347\6\10\22\0"+ "\11\10\1\350\2\10\1\351\5\10\2\0\3\10\1\0"+ "\2\352\2\0\1\352\1\0\1\352\3\0\2\352\4\0"+ "\10\352\22\0\17\352\5\0\3\352\1\0\7\10\2\0"+ "\1\122\2\10\4\0\10\10\22\0\3\10\1\353\16\10"+ "\2\0\2\10\1\353\1\0\7\10\2\0\1\122\2\10"+ "\4\0\2\10\1\354\3\10\1\355\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\356\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\357\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\360\10\10\2\0"+ "\3\10\1\0\6\10\1\361\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\362\4\10\22\0\22\10"+ "\2\0\3\10\1\0\6\10\1\363\2\0\1\122\2\10"+ "\4\0\10\10\22\0\22\10\2\0\3\10\17\0\1\364"+ "\63\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\6\10\1\366\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"+ "\1\367\7\10\22\0\11\10\1\370\10\10\2\0\3\10"+ "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0"+ "\1\10\1\134\20\10\2\0\3\10\1\0\4\10\1\371"+ "\2\10\2\0\1\122\2\10\4\0\1\10\1\372\3\10"+ "\1\373\1\10\1\374\22\0\4\10\1\375\3\10\1\376"+ "\5\10\1\377\3\10\2\0\3\10\1\0\7\10\2\0"+ "\1\122\2\10\4\0\10\10\22\0\7\10\1\u0100\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\u0101\11\10\2\0\3\10\1\0"+ "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\7\10"+ "\1\u0102\12\10\2\0\3\10\1\0\7\10\2\0\1\122"+ "\2\10\4\0\1\10\1\134\1\10\1\u0103\4\10\22\0"+ "\1\10\1\u0104\3\10\1\u0105\14\10\2\0\3\10\1\0"+ "\6\10\1\u0106\2\0\1\122\2\10\4\0\10\10\22\0"+ "\7\10\1\134\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\u0107\15\10"+ "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0"+ "\6\10\1\u0108\1\10\22\0\22\10\2\0\3\10\1\0"+ "\6\10\1\u0109\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\u010a\1\10\22\0\4\10\1\u010b\15\10"+ "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0"+ "\2\10\1\u010c\5\10\22\0\22\10\2\0\3\10\1\0"+ "\2\10\2\134\1\10\1\134\1\10\2\0\1\122\2\10"+ "\4\0\10\10\22\0\17\10\3\134\2\0\3\10\1\0"+ "\3\10\1\134\3\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\6\10\1\u010d\13\10"+ "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0"+ "\1\10\1\u010e\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\u010f\14\10\2\0\3\10\1\0\7\10\2\0\1\122"+ "\2\10\4\0\1\10\1\134\4\10\1\u0110\1\10\22\0"+ "\3\10\1\u0111\16\10\2\0\2\10\1\u0111\1\0\7\10"+ "\2\0\1\122\2\10\4\0\10\10\22\0\7\10\1\u0112"+ "\1\10\1\u0113\10\10\2\0\3\10\1\0\7\10\2\0"+ "\1\122\2\10\4\0\4\10\1\u0114\3\10\22\0\22\10"+ "\2\0\1\u0114\2\10\1\0\7\10\2\0\1\122\2\10"+ "\4\0\10\10\22\0\4\10\1\u0115\15\10\2\0\3\10"+ "\1\0\7\10\2\0\1\122\2\10\4\0\7\10\1\367"+ "\22\0\5\10\1\u0116\14\10\2\0\3\10\1\0\7\10"+ "\2\0\1\122\2\10\4\0\5\10\1\u0117\2\10\22\0"+ "\10\10\1\u0118\11\10\2\0\3\10\1\0\4\10\1\u0119"+ "\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\u011a\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\u011b\3\10"+ "\1\u011c\2\10\22\0\4\10\1\u011d\1\u011e\14\10\2\0"+ "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\3\10"+ "\1\u011f\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\203"+ "\2\10\1\u0120\1\u0121\13\10\2\0\3\10\1\0\7\10"+ "\2\0\1\122\2\10\4\0\5\10\1\u0122\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\u0123\1\10\22\0\22\10\2\0\3\10"+ "\1\0\1\10\1\u0124\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\u0125\13\10"+ "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0"+ "\7\10\1\u0126\22\0\22\10\2\0\3\10\36\0\1\42"+ "\1\0\1\23\120\0\1\u0127\45\0\1\u0128\3\0\1\u0129"+ "\27\0\1\u012a\1\u012b\103\0\1\u012c\106\0\1\u012d\40\0"+ "\1\u012e\100\0\1\u012f\31\0\1\u0130\17\0\1\u012f\30\0"+ "\1\u0131\135\0\1\u0132\43\0\1\u0133\103\0\1\u0134\77\0"+ "\1\u0135\56\0\7\10\2\0\1\122\2\10\4\0\10\10"+ "\22\0\7\10\1\u0136\1\u0137\11\10\2\0\3\10\1\0"+ "\6\10\1\134\2\0\1\122\2\10\4\0\6\10\1\u0138"+ "\1\10\22\0\1\10\1\u0139\3\10\1\u013a\1\10\1\u0139"+ "\12\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10"+ "\4\0\7\10\1\u0105\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\u013b\11\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\u013d\20\10\2\0\3\10\1\0\7\10\2\0"+ "\1\122\2\10\4\0\2\10\1\u013e\1\u013f\1\u0140\1\u0141"+ "\2\10\22\0\4\10\1\u0142\15\10\2\0\1\u0140\2\10"+ "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0"+ "\3\10\1\u0143\16\10\2\0\2\10\1\u0143\1\0\7\10"+ "\2\0\1\122\2\10\4\0\1\10\1\u0144\5\10\1\u0145"+ "\22\0\2\10\1\u0146\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\u0147"+ "\13\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10"+ "\4\0\2\10\1\u0148\2\10\1\u0149\2\10\22\0\2\10"+ "\1\u014a\1\10\1\u014b\1\u014c\1\u014d\5\10\1\u014e\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\u014f\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\u0150\15\10\2\0\3\10\1\0\7\10\2\0\1\122"+ "\2\10\4\0\10\10\22\0\15\10\1\u0151\4\10\2\0"+ "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10"+ "\22\0\11\10\1\u013b\10\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"+ "\1\10\1\u013d\2\10\1\u0153\15\10\2\0\3\10\1\0"+ "\7\10\2\0\1\122\2\10\4\0\2\10\1\u0154\4\10"+ "\1\u0155\22\0\22\10\2\0\3\10\1\0\7\10\2\0"+ "\1\122\2\10\4\0\3\10\1\u0156\4\10\22\0\5\10"+ "\1\u0157\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\u0158\15\10\2\0"+ "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\6\10"+ "\1\u0159\1\10\22\0\1\10\1\u015a\20\10\2\0\3\10"+ "\1\0\7\10\2\0\1\122\2\10\4\0\3\10\1\u015b"+ "\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\u015c\1\10\1\u015d\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\u015e\1\10\22\0\1\10\1\u015f"+ "\2\10\1\u0160\4\10\1\u0161\10\10\2\0\3\10\1\0"+ "\7\10\2\0\1\122\2\10\4\0\1\10\1\u0162\6\10"+ "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122"+ "\2\10\4\0\4\10\1\u0163\3\10\22\0\22\10\2\0"+ "\1\u0163\2\10\1\0\7\10\2\0\1\122\2\10\4\0"+ "\1\10\1\u0164\4\10\1\u0165\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\u0166\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\u0167\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\u0168\6\10\22\0\22\10\2\0\3\10"+ "\1\0\1\10\1\u0169\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\7\10\1\u016a\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\u016b\15\10\2\0\3\10\1\0\7\10"+ "\2\0\1\122\2\10\4\0\7\10\1\u016c\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\u016d\17\10\2\0\3\10\1\0"+ "\7\10\2\0\1\122\2\10\4\0\2\10\1\u013d\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\u016e\1\u016f\1\10\22\0\1\10"+ "\1\u0170\3\10\1\u0171\1\10\1\u0172\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\u0173\17\10\2\0\3\10\1\0\7\304\2\0"+ "\1\u0174\2\304\4\0\10\304\22\0\22\304\2\0\3\304"+ "\1\0\2\u0175\2\0\1\u0175\1\0\1\u0175\3\0\2\u0175"+ "\4\0\10\u0175\22\0\17\u0175\5\0\3\u0175\1\0\7\306"+ "\2\0\1\u0176\2\306\4\0\10\306\22\0\22\306\2\0"+ "\3\306\1\0\2\u0177\2\0\1\u0177\1\0\1\u0177\3\0"+ "\2\u0177\4\0\10\u0177\22\0\17\u0177\5\0\3\u0177\15\101"+ "\1\0\1\101\1\0\34\101\1\u0178\22\101\3\0\15\101"+ "\1\0\1\101\1\0\7\101\1\u0179\47\101\3\0\15\101"+ "\1\0\1\101\1\0\2\101\1\u017a\54\101\3\0\15\101"+ "\1\0\1\101\1\0\36\101\1\u017b\20\101\2\0\1\u017c"+ "\56\0\1\u017c\22\0\1\u017c\54\0\1\u017d\54\0\1\u017e"+ "\74\0\1\u017f\57\0\15\112\1\0\36\112\1\u0180\22\112"+ "\3\0\15\112\1\0\11\112\1\u0181\47\112\3\0\15\112"+ "\1\0\4\112\1\u0182\54\112\3\0\15\112\1\0\40\112"+ "\1\u0183\20\112\2\0\1\u0184\56\0\1\u0184\22\0\1\u0184"+ "\54\0\1\u0185\54\0\1\u0186\74\0\1\u0187\62\0\4\u0188"+ "\15\0\3\u0188\31\0\1\u0188\1\0\1\u0188\7\0\3\u0188"+ "\2\0\1\u0188\3\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\10\10\22\0\4\10"+ "\1\u018a\15\10\2\0\3\10\1\0\7\10\2\0\1\122"+ "\2\10\4\0\1\10\1\u018b\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\u018c\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\u018d\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\u018e\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\u018f\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\u0190\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\u0191\15\10\2\0\3\10\1\0\7\10\2\0\1\122"+ "\2\10\4\0\5\10\1\u0192\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\u0193\22\0\1\10\1\u0194\20\10\2\0\3\10\1\0"+ "\7\10\2\0\1\122\2\10\4\0\7\10\1\u0190\22\0"+ "\22\10\2\0\3\10\1\0\7\352\2\0\1\u0195\2\352"+ "\4\0\10\352\16\0\1\135\3\0\22\352\2\0\3\352"+ "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0"+ "\4\10\1\u0196\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\u0197\13\10"+ "\2\0\3\10\1\0\6\10\1\u0198\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\361\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\10\10\22\0\7\10"+ "\1\u0199\12\10\2\0\3\10\1\0\7\10\2\0\1\122"+ "\2\10\4\0\1\10\1\u0190\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\u019a\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\u019b\17\10"+ "\2\0\3\10\14\0\1\u019c\66\0\7\10\2\0\1\122"+ "\2\10\4\0\1\10\1\u019d\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\u019e\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\u019f\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\u01a0\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\u01a1\13\10\2\0\3\10\1\0\6\10\1\u01a2"+ "\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\u01a3\12\10\2\0\3\10\1\0\7\10"+ "\2\0\1\122\2\10\4\0\3\10\1\u01a4\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\254\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\u01a5\12\10\2\0\3\10\1\0\6\10\1\u01a6"+ "\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\u01a7\17\10\2\0\3\10\1\0\7\10"+ "\2\0\1\122\2\10\4\0\10\10\22\0\1\u0114\21\10"+ "\2\0\1\10\1\u0114\1\10\1\0\7\10\2\0\1\122"+ "\2\10\4\0\10\10\22\0\2\10\1\300\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\u01a8\14\10\2\0\3\10\1\0\7\10"+ "\2\0\1\122\2\10\4\0\5\10\1\u01a9\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\u013d\21\10\2\0\1\10\1\u013d"+ "\1\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10"+ "\22\0\11\10\1\u01aa\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\u01ab"+ "\14\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10"+ "\4\0\7\10\1\366\22\0\22\10\2\0\3\10\1\0"+ "\7\10\2\0\1\122\2\10\4\0\7\10\1\u01ac\22\0"+ "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10"+ "\4\0\3\10\1\u01ad\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\u01ae\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\u0153\14\10"+ "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0"+ "\2\10\1\u0173\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\u01af\13\10\2\0\3\10\1\0\7\10\2\0\1\122"+ "\2\10\4\0\10\10\22\0\1\u01b0\21\10\2\0\1\10"+ "\1\u01b0\1\10\1\0\7\10\2\0\1\122\2\10\4\0"+ "\10\10\22\0\6\10\1\u01b1\13\10\2\0\3\10\1\0"+ "\7\10\2\0\1\122\2\10\4\0\5\10\1\u01b2\2\10"+ "\22\0\22\10\2\0\3\10\1\0\4\10\1\u01b3\2\10"+ "\2\0\1\122\2\10\4\0\7\10\1\u01b4\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\u01b5\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\u01b6\11\10\2\0"+ "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\3\10"+ "\1\u01b7\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\u01b8"+ "\12\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10"+ "\4\0\1\10\1\u01b9\5\10\1\u01ba\22\0\22\10\2\0"+ "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\7\10"+ "\1\u01bb\22\0\5\10\1\u01bc\14\10\2\0\3\10\1\0"+ "\7\10\2\0\1\122\2\10\4\0\6\10\1\u01bd\1\10"+ "\22\0\5\10\1\u01be\14\10\2\0\3\10\1\0\4\10"+ "\1\u01bf\2\10\2\0\1\122\2\10\4\0\2\10\1\u013e"+ "\1\u013f\1\u01c0\1\u01c1\1\10\1\u01c2\22\0\1\10\1\u01c3"+ "\1\10\1\u01c4\1\10\1\u01c5\1\u01c6\1\u01c7\12\10\2\0"+ "\1\u01c0\1\10\1\u01c4\1\0\7\10\2\0\1\122\2\10"+ "\4\0\2\10\1\u01c8\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\u01c9\12\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"+ "\3\10\1\243\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\u01cb\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\u01cc\16\10\2\0"+ "\2\10\1\u01cc\1\0\7\10\2\0\1\122\2\10\4\0"+ "\10\10\22\0\5\10\1\u01cd\14\10\2\0\3\10\1\0"+ "\7\10\2\0\1\122\2\10\4\0\3\10\1\u01ce\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\u01cf\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\u01d0\13\10\2\0\3\10\1\0\7\10\2\0"+ "\1\122\2\10\4\0\1\10\1\u01d1\6\10\22\0\22\10"+ "\2\0\3\10\62\0\1\u01d2\42\0\1\u01d3\106\0\1\u01d4"+ "\133\0\1\u01d5\72\0\1\u01d6\24\0\1\u01d6\63\0\1\u01d7"+ "\47\0\1\u01d8\131\0\1\u01d9\100\0\1\u0127\2\0\1\u01d2"+ "\47\0\1\u01da\27\0\1\u01db\44\0\1\u01dc\103\0\1\u01dd"+ "\51\0\1\u01dd\62\0\1\u01de\44\0\1\u01df\57\0\7\10"+ "\2\0\1\122\2\10\4\0\3\10\1\u01e0\4\10\22\0"+ "\7\10\1\u01e1\12\10\2\0\3\10\1\0\7\10\2\0"+ "\1\122\2\10\4\0\10\10\22\0\1\u01e2\21\10\2\0"+ "\1\10\1\u01e2\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\u013d\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\u01e3\11\10\2\0\3\10\1\0"+ "\7\10\2\0\1\122\2\10\4\0\3\10\1\u01e4\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\u01e5\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\u01e6\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\u01e7\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\u01e8\17\10\2\0\3\10\1\0\7\10\2\0"+ "\1\122\2\10\4\0\4\10\1\u01e9\3\10\22\0\5\10"+ "\1\u01ea\1\243\13\10\2\0\1\u01e9\2\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\1\10\1\u01ec\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\u013d\15\10\2\0\3\10\1\0\7\10\2\0"+ "\1\122\2\10\4\0\3\10\1\u01ed\4\10\22\0\22\10"+ "\2\0\3\10\1\0\4\10\1\u01ee\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\u01ef\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\u01f0\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\u01f1\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\u01f2"+ "\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\u01f3\12\10"+ "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0"+ "\3\10\1\u01f4\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\u01f5\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\u01f6\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\u018b\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\u01f7\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\u01f8\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\u01f9\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\u01fa\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\u01fb\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\u01fc\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\u01fd"+ "\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\u01fe\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\u01ff\5\10\2\0\3\10\1\0\7\10\2\0"+ "\1\122\2\10\4\0\1\10\1\u0200\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\u0201\20\10\2\0\3\10\1\0"+ "\7\10\2\0\1\122\2\10\4\0\4\10\1\u0202\3\10"+ "\22\0\22\10\2\0\1\u0202\2\10\1\0\7\10\2\0"+ "\1\122\2\10\4\0\6\10\1\u0203\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\u0204\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\u0205\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\u01b9\1\10\1\u0206\3\10\1\u0207"+ "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122"+ "\2\10\4\0\1\10\1\u0208\2\10\1\u0209\1\10\1\u020a"+ "\1\10\22\0\3\10\1\u020b\1\10\1\u020c\1\10\1\u020d"+ "\12\10\2\0\1\u0209\1\10\1\u020b\1\0\7\10\2\0"+ "\1\122\2\10\4\0\10\10\22\0\6\10\1\u013d\13\10"+ "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0"+ "\1\10\1\u020e\1\u020f\2\10\1\u0210\1\10\1\u0211\22\0"+ "\2\10\1\u0212\3\10\1\u0213\1\u0214\4\10\1\u0215\5\10"+ "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0"+ "\7\10\1\u0216\22\0\22\10\2\0\3\10\1\0\6\10"+ "\1\u01f5\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\u0217\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\u0218\12\10\2\0"+ "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\3\10"+ "\1\u0219\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\u021a\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\u021b\13\10\2\0\3\10"+ "\1\0\7\10\2\0\1\122\2\10\4\0\3\10\1\u021c"+ "\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\u013d\6\10\22\0\22\10"+ "\2\0\3\10\7\0\1\u021d\73\0\7\u0175\2\0\1\u021e"+ "\2\u0175\4\0\10\u0175\16\0\1\u021f\3\0\22\u0175\2\0"+ "\3\u0175\7\0\1\u0220\73\0\7\u0177\2\0\1\u0221\2\u0177"+ "\4\0\10\u0177\16\0\1\u0222\3\0\22\u0177\2\0\3\u0177"+ "\15\101\1\0\1\101\1\0\25\101\1\u0223\31\101\3\0"+ "\15\101\1\0\1\101\1\0\4\101\1\u0178\52\101\3\0"+ "\15\101\1\0\1\101\1\0\34\101\1\u0224\22\101\3\0"+ "\15\101\1\0\1\101\1\0\12\101\1\u0225\44\101\35\0"+ "\1\u0226\114\0\1\u0227\60\0\1\u017d\131\0\1\u0228\25\0"+ "\15\112\1\0\27\112\1\u0229\31\112\3\0\15\112\1\0"+ "\6\112\1\u0180\52\112\3\0\15\112\1\0\36\112\1\u022a"+ "\22\112\3\0\15\112\1\0\14\112\1\u022b\44\112\35\0"+ "\1\u022c\114\0\1\u022d\60\0\1\u0185\131\0\1\u022e\30\0"+ "\4\u022f\15\0\3\u022f\31\0\1\u022f\1\0\1\u022f\7\0"+ "\3\u022f\2\0\1\u022f\3\0\7\10\2\0\1\122\2\10"+ "\4\0\10\10\22\0\7\10\1\u0230\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\u0231\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\u0138\13\10"+ "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0"+ "\5\10\1\u0232\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\376\11\10\2\0"+ "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\7\10"+ "\1\u0233\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\u0234\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\u0235\11\10\2\0\3\10\1\0"+ "\7\10\2\0\1\122\2\10\4\0\2\10\1\u0236\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\u0237\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\u0238\5\10\22\0\22\10\2\0\3\10\7\0\1\u0239"+ "\73\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0"+ "\7\10\1\u023a\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\u023b\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\u023c\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\u023d\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\u023e\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\u023f\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\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\u0241\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\u0173\13\10\2\0\3\10\1\0\7\10\2\0"+ "\1\122\2\10\4\0\2\10\1\u0147\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\u0242\1\u0243\4\10\22\0\2\10\1\u0244\3\10"+ "\1\u0240\13\10\2\0\3\10\1\0\7\10\2\0\1\122"+ "\2\10\4\0\2\10\1\u0245\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\u0246\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\u0247\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\u0248\13\10\2\0\3\10"+ "\1\0\7\10\2\0\1\122\2\10\4\0\7\10\1\u0249"+ "\22\0\3\10\1\u024a\16\10\2\0\2\10\1\u024a\1\0"+ "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\4\10"+ "\1\u024b\15\10\2\0\3\10\1\0\7\10\2\0\1\122"+ "\2\10\4\0\2\10\1\u024c\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\u024d\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\u024e\21\10"+ "\2\0\1\10\1\u024e\1\10\1\0\1\10\1\u024f\5\10"+ "\2\0\1\122\2\10\4\0\2\10\1\u0250\1\u0251\3\10"+ "\1\u0252\22\0\3\10\1\u0253\1\10\1\u0254\1\u0255\13\10"+ "\2\0\2\10\1\u0253\1\0\7\10\2\0\1\122\2\10"+ "\4\0\4\10\1\u0256\3\10\22\0\3\10\1\u0143\1\u01b9"+ "\1\u0254\14\10\2\0\1\u0256\1\10\1\u0143\1\0\7\10"+ "\2\0\1\122\2\10\4\0\10\10\22\0\5\10\1\u0257"+ "\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\u0258\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\u0259\16\10\2\0\2\10\1\u0259\1\0\7\10"+ "\2\0\1\122\2\10\4\0\10\10\22\0\14\10\1\u025a"+ "\5\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10"+ "\4\0\2\10\1\u025b\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\u025c\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\u025d\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\u025e"+ "\15\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10"+ "\4\0\6\10\1\u025f\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\u0260"+ "\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\u0173\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\u0107\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\u0261\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\u0147\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\u0262\7\10\1\u0263\10\10\2\0\3\10"+ "\1\0\7\10\2\0\1\122\2\10\4\0\2\10\1\u025b"+ "\5\10\22\0\13\10\1\u0264\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\u0265\3\10\1\u0266\13\10\2\0\3\10\1\0\6\10"+ "\1\u0267\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\u0268\6\10\22\0\1\u0269\21\10\2\0\1\10"+ "\1\u0269\1\10\1\0\7\10\2\0\1\122\2\10\4\0"+ "\6\10\1\u026a\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\u026b\17\10\2\0\3\10\1\0\6\10\1\u026c\2\0"+ "\1\122\2\10\4\0\10\10\22\0\6\10\1\u026d\13\10"+ "\2\0\3\10\1\0\6\10\1\u026e\2\0\1\122\2\10"+ "\4\0\10\10\22\0\15\10\1\u026f\4\10\2\0\3\10"+ "\1\0\7\10\2\0\1\122\2\10\4\0\3\10\1\u0270"+ "\1\10\1\u0271\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\u0272\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\u0273\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\u0274\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\u0275\2\0\1\122\2\10"+ "\4\0\10\10\22\0\2\10\1\u0276\1\u0143\16\10\2\0"+ "\2\10\1\u0143\1\0\7\10\2\0\1\122\2\10\4\0"+ "\3\10\1\u0277\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\u0278\15\10\2\0\3\10\1\0\7\10\2\0\1\122"+ "\2\10\4\0\10\10\22\0\1\u0279\21\10\2\0\1\10"+ "\1\u0279\1\10\1\0\7\10\2\0\1\122\2\10\4\0"+ "\1\10\1\u027a\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\u0138\4\10"+ "\22\0\22\10\2\0\3\10\24\0\1\u027b\136\0\1\u027c"+ "\44\0\1\u0132\132\0\1\u027b\105\0\1\u0132\74\0\1\u027d"+ "\1\u027e\46\0\1\u027f\145\0\1\u0280\37\0\1\u0281\104\0"+ "\1\u0282\131\0\1\u0283\77\0\1\u0284\47\0\1\u0285\63\0"+ "\1\u0286\75\0\7\10\2\0\1\122\2\10\4\0\3\10"+ "\1\u01b5\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\u0287\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\u0288\17\10\2\0\3\10"+ "\1\0\4\10\1\u0289\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\u028a\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\u028b\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\3\10"+ "\1\132\16\10\2\0\2\10\1\132\1\0\7\10\2\0"+ "\1\122\2\10\4\0\10\10\22\0\4\10\1\u028c\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\u0173\10\10\2\0\3\10\1\0"+ "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\11\10"+ "\1\u028d\10\10\2\0\3\10\1\0\7\10\2\0\1\122"+ "\2\10\4\0\1\10\1\u028e\2\10\1\u028f\1\u0290\2\10"+ "\22\0\1\10\1\u0291\20\10\2\0\1\u028f\2\10\1\0"+ "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\1\10"+ "\1\u0292\20\10\2\0\3\10\1\0\7\10\2\0\1\122"+ "\2\10\4\0\1\10\1\u0293\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\u0294\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\u0295"+ "\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\u0296\15\10\2\0\3\10"+ "\1\0\7\10\2\0\1\122\2\10\4\0\7\10\1\134"+ "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122"+ "\2\10\4\0\3\10\1\u0297\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\u0298\13\10\2\0\3\10\1\0\7\10"+ "\2\0\1\122\2\10\4\0\2\10\1\u0299\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\u029a\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\u029b"+ "\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\u029c\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\u029d\21\10\2\0\1\10\1\u029d\1\10"+ "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0"+ "\2\10\1\u029e\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\247\17\10"+ "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0"+ "\2\10\1\u029f\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\13\10"+ "\1\u02a0\6\10\2\0\3\10\1\0\7\10\2\0\1\122"+ "\2\10\4\0\10\10\22\0\10\10\1\u02a1\11\10\2\0"+ "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\2\10"+ "\1\u02a2\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\u02a3\3\10\22\0"+ "\22\10\2\0\1\u02a3\2\10\1\0\7\10\2\0\1\122"+ "\2\10\4\0\2\10\1\u02a4\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\u02a5\1\10\22\0\6\10\1\u02a6\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\u023f\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\u02a7\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\u02a8\17\10\2\0\3\10\1\0"+ "\7\10\2\0\1\122\2\10\4\0\1\10\1\u02a9\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\u02aa\14\10\2\0"+ "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10"+ "\22\0\1\u02ab\21\10\2\0\1\10\1\u02ab\1\10\1\0"+ "\7\10\2\0\1\122\2\10\4\0\3\10\1\u02ac\4\10"+ "\22\0\22\10\2\0\3\10\1\0\6\10\1\u02ad\2\0"+ "\1\122\2\10\4\0\10\10\22\0\2\10\1\u02ae\17\10"+ "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0"+ "\5\10\1\u02af\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\u02b0\17\10\2\0\3\10\1\0\6\10\1\u02b1\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\u02b2"+ "\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\u02b3\13\10"+ "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0"+ "\3\10\1\u02b4\4\10\22\0\2\10\1\163\17\10\2\0"+ "\3\10\1\0\4\10\1\u02b5\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\u02b6\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\u02b7\14\10\2\0\3\10"+ "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0"+ "\13\10\1\u02b8\6\10\2\0\3\10\1\0\7\10\2\0"+ "\1\122\2\10\4\0\3\10\1\u02b9\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\u02ba\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\u02bb\2\10"+ "\22\0\22\10\2\0\3\10\1\0\4\10\1\u02bc\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\u02bd\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\u02be"+ "\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\u02bf\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\u02c0\10\10\2\0\3\10\1\0\7\10\2\0"+ "\1\122\2\10\4\0\7\10\1\u02c1\22\0\22\10\2\0"+ "\3\10\3\0\4\u02c2\15\0\3\u02c2\31\0\1\u02c2\1\0"+ "\1\u02c2\7\0\3\u02c2\2\0\1\u02c2\11\0\1\u02c3\75\0"+ "\4\u02c4\15\0\3\u02c4\31\0\1\u02c4\1\0\1\u02c4\7\0"+ "\3\u02c4\2\0\1\u02c4\11\0\1\u02c5\72\0\14\101\1\u02c6"+ "\1\0\1\101\1\0\57\101\3\0\15\101\1\0\1\101"+ "\1\0\10\101\1\u0178\14\101\1\u0223\31\101\3\0\1\101"+ "\7\u0225\1\101\1\u0225\1\101\2\u0225\1\0\1\101\1\u02c7"+ "\15\u0225\1\101\1\u0225\2\101\5\u0225\2\101\25\u0225\2\101"+ "\3\u0226\1\0\1\u0226\1\u02c7\5\u0226\1\0\1\u02c7\1\0"+ "\2\u0226\2\0\2\u02c7\10\u0226\4\u02c7\1\0\1\u02c7\2\0"+ "\5\u02c7\2\0\3\u02c7\22\u0226\2\0\3\u0226\14\0\1\u02c8"+ "\115\0\1\u017d\14\0\1\u0227\34\0\14\112\1\u02c9\1\0"+ "\61\112\3\0\15\112\1\0\12\112\1\u0180\14\112\1\u0229"+ "\31\112\3\0\1\112\7\u022b\1\112\1\u022b\1\112\2\u022b"+ "\1\0\1\112\16\u022b\1\112\1\u022b\2\112\5\u022b\2\112"+ "\25\u022b\2\112\3\u022c\1\0\1\u022c\1\u02ca\5\u022c\1\0"+ "\1\u02ca\1\0\2\u022c\2\0\2\u02ca\10\u022c\4\u02ca\1\0"+ "\1\u02ca\2\0\5\u02ca\2\0\3\u02ca\22\u022c\2\0\3\u022c"+ "\14\0\1\u02cb\115\0\1\u0185\14\0\1\u022d\37\0\4\u02cc"+ "\15\0\3\u02cc\31\0\1\u02cc\1\0\1\u02cc\7\0\3\u02cc"+ "\2\0\1\u02cc\3\0\7\10\2\0\1\122\2\10\4\0"+ "\10\10\22\0\2\10\1\u02cd\17\10\2\0\3\10\1\0"+ "\7\10\2\0\1\122\2\10\4\0\1\10\1\u02ce\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\u02cf\12\10\2\0"+ "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\1\10"+ "\1\u02d0\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\340"+ "\17\10\2\0\3\10\1\0\6\10\1\u02d1\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\u02d2\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\u02d3\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\u02d4\13\10\2\0\3\10\3\0\4\u02d5"+ "\15\0\3\u02d5\31\0\1\u02d5\1\0\1\u02d5\7\0\3\u02d5"+ "\2\0\1\u02d5\3\0\7\10\2\0\1\122\2\10\4\0"+ "\10\10\22\0\1\10\1\u02d6\20\10\2\0\3\10\1\0"+ "\7\10\2\0\1\122\2\10\4\0\2\10\1\u02d7\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\u02d8\17\10\2\0"+ "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\1\10"+ "\1\u02d9\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\13\10\1\u02da"+ "\6\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10"+ "\4\0\6\10\1\u013b\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\u02db\15\10\2\0\3\10\1\0\7\10\2\0"+ "\1\122\2\10\4\0\2\10\1\u02dc\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\u02dd\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\u02de\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\u02df\15\10\2\0"+ "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10"+ "\22\0\15\10\1\u02e0\4\10\2\0\3\10\1\0\7\10"+ "\2\0\1\122\2\10\4\0\6\10\1\u013d\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\u02e1\22\0\22\10\2\0\3\10\1\0"+ "\4\10\1\u02e2\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\1\u02e3\21\10\2\0\1\10"+ "\1\u02e3\1\10\1\0\7\10\2\0\1\122\2\10\4\0"+ "\5\10\1\302\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\u02e4\12\10\2\0\3\10\1\0\7\10\2\0\1\122"+ "\2\10\4\0\3\10\1\u02e5\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\u02e6\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\u02e7"+ "\17\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10"+ "\4\0\5\10\1\u02e8\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\u02e9"+ "\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\u02ea\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\u02eb\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\u02ec\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\u02ed\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\1\10\1\u01bd\20\10\2\0\3\10\1\0\7\10"+ "\2\0\1\122\2\10\4\0\10\10\22\0\2\10\1\u02ee"+ "\17\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10"+ "\4\0\6\10\1\u02ef\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"+ "\15\10\1\u0153\4\10\2\0\3\10\1\0\7\10\2\0"+ "\1\122\2\10\4\0\2\10\1\u02f0\4\10\1\u02f1\22\0"+ "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10"+ "\4\0\7\10\1\u02f2\22\0\22\10\2\0\3\10\1\0"+ "\7\10\2\0\1\122\2\10\4\0\5\10\1\u02f3\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\12\10\1\u013b\7\10\2\0"+ "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\1\10"+ "\1\u02f4\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\u02f5\22\0\22\10"+ "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0"+ "\5\10\1\u02f6\2\10\22\0\22\10\2\0\3\10\1\0"+ "\7\10\2\0\1\122\2\10\4\0\1\u0173\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\1\10\1\u015a\20\10\2\0\3\10"+ "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0"+ "\14\10\1\u013d\5\10\2\0\3\10\1\0\7\10\2\0"+ "\1\122\2\10\4\0\10\10\22\0\1\10\1\u02f7\20\10"+ "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0"+ "\10\10\22\0\5\10\1\u02f8\14\10\2\0\3\10\1\0"+ "\7\10\2\0\1\122\2\10\4\0\6\10\1\u02f9\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\u0173\15\10\2\0"+ "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\1\10"+ "\1\u02fa\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\u02fb\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\u02fc\4\10\22\0\22\10\2\0\3\10"+ "\1\0\6\10\1\u02fd\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\u02fe\15\10\2\0"+ "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\2\10"+ "\1\u02ff\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\u0300"+ "\10\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10"+ "\4\0\1\10\1\u0301\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\u0302"+ "\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\u0303\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\u0304\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\u0301"+ "\21\10\2\0\1\10\1\u0301\1\10\1\0\7\10\2\0"+ "\1\122\2\10\4\0\3\10\1\u0305\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\u0306\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\u0307\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\u0308\15\10\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\1\10\1\u030a\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\u030b\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\u0132"+ "\51\0\1\u0132\25\0\1\u0132\105\0\1\u030c\131\0\1\u030d"+ "\46\0\1\u030e\130\0\1\u030f\24\0\1\u030f\24\0\1\u0310"+ "\65\0\1\u0311\147\0\1\u0312\103\0\1\u01d4\103\0\1\u0313"+ "\101\0\1\u0129\21\0\7\10\2\0\1\122\2\10\4\0"+ "\7\10\1\u0114\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\u0314\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\u0315\13\10\2\0\3\10\1\0\7\10\2\0"+ "\1\122\2\10\4\0\3\10\1\u0316\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\u02ab\12\10\2\0\3\10\1\0"+ "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\1\10"+ "\1\u0317\20\10\2\0\3\10\1\0\7\10\2\0\1\122"+ "\2\10\4\0\10\10\22\0\14\10\1\u0318\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\u0319\17\10\2\0\3\10\1\0\7\10"+ "\2\0\1\122\2\10\4\0\6\10\1\u031a\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\u031b\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\u031c"+ "\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\u031d\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\u0114\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\u031e\13\10\2\0\3\10\1\0\7\10\2\0\1\122"+ "\2\10\4\0\10\10\22\0\5\10\1\u031f\14\10\2\0"+ "\3\10\1\0\6\10\1\u0320\2\0\1\122\2\10\4\0"+ "\2\10\1\u0321\5\10\22\0\2\10\1\u0244\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\u0322\16\10\2\0\2\10\1\u0322\1\0"+ "\7\10\2\0\1\122\2\10\4\0\7\10\1\u0323\22\0"+ "\22\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10"+ "\4\0\6\10\1\134\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\u0114\15\10\2\0\3\10\1\0\7\10\2\0"+ "\1\122\2\10\4\0\3\10\1\u0324\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\u0325\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\u0326\15\10\2\0\3\10\1\0\7\10\2\0\1\122"+ "\2\10\4\0\3\10\1\u013f\4\10\22\0\22\10\2\0"+ "\3\10\1\0\4\10\1\u0327\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\u0328\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\u0139\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\u0329\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\u029a\13\10"+ "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0"+ "\3\10\1\u032a\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\u032b\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\u0153\15\10\2\0"+ "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\6\10"+ "\1\u032c\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\u032d\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\u032e\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\u032f\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\u0330\10\10"+ "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0"+ "\6\10\1\u0331\1\10\22\0\4\10\1\u0332\15\10\2\0"+ "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\6\10"+ "\1\u0333\1\10\22\0\22\10\2\0\3\10\1\0\4\10"+ "\1\u0334\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\u0335\15\10\2\0\3\10"+ "\1\0\7\10\2\0\1\122\2\10\4\0\2\10\1\u0336"+ "\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\u0337\1\10\22\0\10\10"+ "\1\u0338\11\10\2\0\3\10\1\0\7\10\2\0\1\122"+ "\2\10\4\0\10\10\22\0\1\10\1\u0339\20\10\2\0"+ "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\1\10"+ "\1\u033a\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\u033b"+ "\13\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10"+ "\4\0\1\10\1\u033c\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\u033d\13\10\2\0\3\10\1\0\7\10\2\0"+ "\1\122\2\10\4\0\10\10\22\0\5\10\1\u014c\14\10"+ "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0"+ "\4\10\1\u033e\3\10\22\0\22\10\2\0\1\u033e\2\10"+ "\1\0\7\10\2\0\1\122\2\10\4\0\7\10\1\u033f"+ "\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\u0340\11\10\2\0"+ "\3\10\1\0\6\10\1\u0341\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\15\10\1\u0342\4\10"+ "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0"+ "\5\10\1\u0343\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\u0344\12\10\2\0\3\10\1\0\7\10\2\0\1\122"+ "\2\10\4\0\10\10\22\0\1\10\1\u0345\7\10\1\u0346"+ "\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\u0347\14\10\2\0\3\10"+ "\3\0\4\u0348\15\0\3\u0348\31\0\1\u0348\1\0\1\u0348"+ "\7\0\3\u0348\2\0\1\u0348\5\0\4\u0349\15\0\3\u0349"+ "\31\0\1\u0349\1\0\1\u0349\7\0\3\u0349\2\0\1\u0349"+ "\5\0\4\u034a\15\0\3\u034a\31\0\1\u034a\1\0\1\u034a"+ "\7\0\3\u034a\2\0\1\u034a\5\0\4\u034b\15\0\3\u034b"+ "\31\0\1\u034b\1\0\1\u034b\7\0\3\u034b\2\0\1\u034b"+ "\2\0\14\101\1\u0225\1\0\1\101\1\0\57\101\17\0"+ "\1\u0226\65\0\14\112\1\u022b\1\0\61\112\17\0\1\u022c"+ "\70\0\4\10\15\0\3\10\31\0\1\10\1\0\1\10"+ "\7\0\3\10\2\0\1\10\3\0\7\10\2\0\1\122"+ "\2\10\4\0\10\10\22\0\4\10\1\u034c\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\u034d\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\u034e"+ "\17\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10"+ "\4\0\5\10\1\u034f\2\10\22\0\1\10\1\u0350\3\10"+ "\1\u0351\14\10\2\0\3\10\1\0\7\10\2\0\1\122"+ "\2\10\4\0\5\10\1\u0352\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\u0353\10\10\2\0\3\10\1\0\7\10"+ "\2\0\1\122\2\10\4\0\2\10\1\u0354\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\10\10\1\u0355\11\10\2\0\3\10"+ "\3\0\4\u0356\15\0\3\u0356\31\0\1\u0356\1\0\1\u0356"+ "\7\0\3\u0356\2\0\1\u0356\3\0\7\10\2\0\1\122"+ "\2\10\4\0\5\10\1\u0357\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\u0358\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\351"+ "\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\160\13\10\2\0\3\10"+ "\1\0\7\10\2\0\1\122\2\10\4\0\6\10\1\u0359"+ "\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\u031d\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\u0293\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\u035a\11\10\2\0\3\10\1\0\7\10\2\0\1\122"+ "\2\10\4\0\10\10\22\0\15\10\1\u035b\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\u035b\17\10\2\0\3\10\1\0\7\10"+ "\2\0\1\122\2\10\4\0\3\10\1\u0162\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\u035c\6\10\22\0\22\10\2\0\3\10"+ "\1\0\6\10\1\u035d\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\u01a5\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\u035e\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\u035f"+ "\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\u0360\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\u0361\15\10\2\0\3\10\1\0\7\10\2\0"+ "\1\122\2\10\4\0\1\10\1\u0362\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\u0363\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\u0364\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\u0365\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\u0366\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\u0367"+ "\13\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10"+ "\4\0\2\10\1\u0368\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\u0369\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\u036a\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\u036b\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\u036c\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\u036d\15\10\2\0"+ "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\2\10"+ "\1\u036e\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\u036f\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\u0370\15\10\2\0\3\10"+ "\1\0\7\10\2\0\1\122\2\10\4\0\7\10\1\u013d"+ "\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\u0371\13\10\2\0"+ "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\3\10"+ "\1\u0372\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\u0373"+ "\13\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10"+ "\4\0\1\10\1\u0374\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\u0375"+ "\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\10\10\1\u0376\11\10"+ "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0"+ "\10\10\22\0\7\10\1\u0377\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\u0378\17\10\2\0\3\10\1\0\7\10\2\0\1\122"+ "\2\10\4\0\10\10\22\0\1\10\1\u0379\20\10\2\0"+ "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10"+ "\22\0\1\10\1\u037a\20\10\2\0\3\10\1\0\7\10"+ "\2\0\1\122\2\10\4\0\2\10\1\u037b\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\u037c\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\u037d"+ "\1\10\1\u037e\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\u037f\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\u0380\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\u0276\17\10\2\0\3\10\1\0\7\10\2\0"+ "\1\122\2\10\4\0\7\10\1\u0381\22\0\22\10\2\0"+ "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\3\10"+ "\1\u0382\4\10\22\0\22\10\2\0\3\10\1\0\6\10"+ "\1\u0383\2\0\1\122\2\10\4\0\6\10\1\u0384\1\10"+ "\22\0\2\10\1\u0385\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\u0386"+ "\16\10\2\0\2\10\1\u0386\7\0\1\u0387\152\0\1\u0388"+ "\105\0\1\u0132\77\0\1\u027c\41\0\1\u0389\141\0\1\u01d4"+ "\76\0\1\u038a\46\0\1\u038b\56\0\7\10\2\0\1\122"+ "\2\10\4\0\10\10\22\0\6\10\1\u038c\13\10\2\0"+ "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\2\10"+ "\1\u038d\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\u038e\4\10\22\0"+ "\22\10\2\0\3\10\1\0\6\10\1\u013d\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\u038f\20\10\2\0\3\10\1\0\7\10\2\0\1\122"+ "\2\10\4\0\6\10\1\u014e\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\u0390\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\u0391"+ "\13\10\2\0\3\10\1\0\6\10\1\u0392\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\u0153\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\u029a\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\u0393"+ "\15\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10"+ "\4\0\3\10\1\u0394\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\u0395\17\10\2\0\3\10\1\0\7\10\2\0"+ "\1\122\2\10\4\0\10\10\22\0\1\u0396\21\10\2\0"+ "\1\10\1\u0396\1\10\1\0\7\10\2\0\1\122\2\10"+ "\4\0\4\10\1\u0397\2\10\1\u0398\22\0\7\10\1\u0399"+ "\12\10\2\0\1\u0397\2\10\1\0\7\10\2\0\1\122"+ "\2\10\4\0\10\10\22\0\5\10\1\u0365\14\10\2\0"+ "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\7\10"+ "\1\u039a\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\u039b\3\10"+ "\1\u01cb\13\10\2\0\3\10\1\0\6\10\1\u0361\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\u039c"+ "\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\u039d\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\u039e\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\u0217\22\0"+ "\1\10\1\u039f\20\10\2\0\3\10\1\0\7\10\2\0"+ "\1\122\2\10\4\0\2\10\1\u024c\5\10\22\0\2\10"+ "\1\u03a0\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\u0293\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\u013d\16\10\2\0\2\10\1\u013d\1\0"+ "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\1\10"+ "\1\u03a1\20\10\2\0\3\10\1\0\7\10\2\0\1\122"+ "\2\10\4\0\6\10\1\u03a2\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\u03a3\14\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\3\10\1\u03a5\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\u03a6\12\10\2\0\3\10\1\0\7\10\2\0"+ "\1\122\2\10\4\0\2\10\1\u03a7\5\10\22\0\2\10"+ "\1\u0378\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\u03a8\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\u03a9\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\u03aa"+ "\10\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\2\10\1\u03ac"+ "\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\u03ad\3\10\22\0\22\10"+ "\2\0\1\u03ad\2\10\1\0\7\10\2\0\1\122\2\10"+ "\4\0\10\10\22\0\4\10\1\u03ae\15\10\2\0\3\10"+ "\1\0\4\10\1\u03af\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\u03b0\15\10"+ "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0"+ "\3\10\1\u03b1\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\u03b2\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\u03b3\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\u03b4\1\10\22\0\22\10\2\0\3\10\1\0\6\10"+ "\1\u03b5\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\u03b6\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\u03b7\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\u03b8\5\10\22\0\22\10\2\0"+ "\3\10\3\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\5\0\4\u03bc\15\0"+ "\3\u03bc\31\0\1\u03bc\1\0\1\u03bc\7\0\3\u03bc\2\0"+ "\1\u03bc\3\0\7\10\2\0\1\122\2\10\4\0\10\10"+ "\22\0\10\10\1\u03bd\11\10\2\0\3\10\1\0\7\10"+ "\2\0\1\122\2\10\4\0\4\10\1\u03be\3\10\22\0"+ "\22\10\2\0\1\u03be\2\10\1\0\7\10\2\0\1\122"+ "\2\10\4\0\3\10\1\u0266\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\u03bf\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\241\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\u03c0\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\u0153\11\10\2\0\3\10\1\0\7\10\2\0"+ "\1\122\2\10\4\0\3\10\1\u03c1\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\u03c2\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\u03c3\5\10"+ "\22\0\22\10\2\0\3\10\3\0\4\u03c4\15\0\3\u03c4"+ "\31\0\1\u03c4\1\0\1\u03c4\7\0\3\u03c4\2\0\1\u03c4"+ "\3\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0"+ "\11\10\1\u03c5\10\10\2\0\3\10\1\0\7\10\2\0"+ "\1\122\2\10\4\0\5\10\1\u03c6\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\u03c7\22\0\7\10\1\u03c8\12\10\2\0\3\10"+ "\1\0\7\10\2\0\1\122\2\10\4\0\7\10\1\u03c7"+ "\22\0\22\10\2\0\3\10\1\0\7\10\2\0\1\122"+ "\2\10\4\0\3\10\1\u03c9\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\u03ca\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\u03cb"+ "\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\u03cc\1\10\1\u03cd\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\u03ce\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\u013d\17\10\2\0\3\10\1\0\7\10\2\0\1\122"+ "\2\10\4\0\1\10\1\u03cf\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\u03d0\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\u03d1"+ "\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\u013d\6\10\2\0\3\10"+ "\1\0\7\10\2\0\1\122\2\10\4\0\1\10\1\u03d2"+ "\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\u013b\22\0\22\10\2\0"+ "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\7\10"+ "\1\u0173\22\0\22\10\2\0\3\10\1\0\7\10\2\0"+ "\1\122\2\10\4\0\7\10\1\u03d3\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\u03d4\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\u03d5"+ "\17\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10"+ "\4\0\4\10\1\u03d6\3\10\22\0\22\10\2\0\1\u03d6"+ "\2\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10"+ "\22\0\7\10\1\u03d7\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\u03d8"+ "\17\10\2\0\3\10\1\0\4\10\1\u03d9\2\10\2\0"+ "\1\122\2\10\4\0\1\10\1\u01b9\2\10\1\u03da\3\10"+ "\22\0\7\10\1\u03db\12\10\2\0\1\u03da\2\10\1\0"+ "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\10\10"+ "\1\u03dc\11\10\2\0\3\10\1\0\7\10\2\0\1\122"+ "\2\10\4\0\6\10\1\u03dd\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\u03de\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\u0254"+ "\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\u03df\17\10\2\0\3\10"+ "\1\0\7\10\2\0\1\122\2\10\4\0\6\10\1\u03e0"+ "\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\u03e1\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\u03e2\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\u03e3\15\10\2\0\3\10\1\0\7\10\2\0\1\122"+ "\2\10\4\0\2\10\1\u03e4\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\u03e5\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\u03e6"+ "\16\10\2\0\2\10\1\u03e6\1\0\7\10\2\0\1\122"+ "\2\10\4\0\10\10\22\0\2\10\1\u03e7\17\10\2\0"+ "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\7\10"+ "\1\u03e8\22\0\22\10\2\0\3\10\1\0\4\10\1\u03e9"+ "\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\u0350\22\0\22\10\2\0\3\10\1\0\7\10"+ "\2\0\1\122\2\10\4\0\3\10\1\u03ea\3\10\1\u03eb"+ "\22\0\2\10\1\u0147\5\10\1\u03eb\11\10\2\0\3\10"+ "\1\0\7\10\2\0\1\122\2\10\4\0\1\10\1\u03ec"+ "\6\10\22\0\22\10\2\0\3\10\1\0\7\10\2\0"+ "\1\122\2\10\4\0\1\u03ed\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\u03ee\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\u03ef"+ "\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\u03f0\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\u03f1\4\10\1\u03f2\10\10\2\0\3\10\63\0"+ "\1\u03f3\45\0\1\u03f4\136\0\1\u03f5\100\0\1\u0132\75\0"+ "\1\232\23\0\7\10\2\0\1\122\2\10\4\0\1\10"+ "\1\u03f6\6\10\22\0\22\10\2\0\3\10\1\0\7\10"+ "\2\0\1\122\2\10\4\0\1\u03f7\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\u03f8\4\10\22\0\22\10\2\0\3\10\1\0"+ "\4\10\1\u02bc\2\10\2\0\1\122\2\10\4\0\10\10"+ "\22\0\5\10\1\u03f9\1\10\1\u03fa\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\u03fb\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\u03fc\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\u03fd\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\u03fe\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\247\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\u03ff\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\u0266"+ "\13\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10"+ "\4\0\10\10\22\0\1\u0400\21\10\2\0\1\10\1\u0400"+ "\1\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10"+ "\22\0\2\10\1\u0401\17\10\2\0\3\10\1\0\7\10"+ "\2\0\1\122\2\10\4\0\1\10\1\376\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\u0402\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\u038d"+ "\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\u0403\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\u0404\15\10\2\0\3\10\1\0"+ "\7\10\2\0\1\122\2\10\4\0\2\10\1\u0405\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\u0406\15\10\2\0"+ "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\4\10"+ "\1\u0407\3\10\22\0\22\10\2\0\1\u0407\2\10\1\0"+ "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\1\10"+ "\1\u0408\20\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\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\6\10\1\u040b\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\u040c\13\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\3\10\1\u040e\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\u040f\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\u0287\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\u0410\5\10\2\0"+ "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\1\10"+ "\1\u0411\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\u0412"+ "\13\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10"+ "\4\0\3\10\1\u0413\3\10\1\u023d\22\0\2\10\1\u0414"+ "\13\10\1\u0415\3\10\2\0\3\10\1\0\6\10\1\u0416"+ "\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\u02b8\13\10\2\0\3\10\1\0\4\10"+ "\1\u0417\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\u0418\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\u0419"+ "\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\u041a\6\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\5\10\1\u041c\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\u041d\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\u03ed"+ "\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\u0261\17\10\2\0\3\10"+ "\3\0\4\304\15\0\3\304\31\0\1\304\1\0\1\304"+ "\7\0\3\304\2\0\1\304\5\0\4\u041e\15\0\3\u041e"+ "\31\0\1\u041e\1\0\1\u041e\7\0\3\u041e\2\0\1\u041e"+ "\5\0\4\306\15\0\3\306\31\0\1\306\1\0\1\306"+ "\7\0\3\306\2\0\1\306\5\0\4\u041f\15\0\3\u041f"+ "\31\0\1\u041f\1\0\1\u041f\7\0\3\u041f\2\0\1\u041f"+ "\3\0\7\10\2\0\1\122\2\10\4\0\1\10\1\u01b9"+ "\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\u0397\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\u0420\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\u0421\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\u0422\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\u0423\2\10\22\0\22\10"+ "\2\0\3\10\3\0\4\352\15\0\3\352\31\0\1\352"+ "\1\0\1\352\7\0\3\352\2\0\1\352\3\0\7\10"+ "\2\0\1\122\2\10\4\0\4\10\1\u028f\3\10\22\0"+ "\22\10\2\0\1\u028f\2\10\1\0\6\10\1\u0424\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\300"+ "\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\u0425\16\10"+ "\2\0\2\10\1\u0425\1\0\7\10\2\0\1\122\2\10"+ "\4\0\1\u0426\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\u0427\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\u0428\4\10\2\0"+ "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\3\10"+ "\1\u0262\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\u0429\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\u03ea\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\u042a"+ "\5\10\22\0\22\10\2\0\3\10\1\0\4\10\1\u042b"+ "\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\u03bd\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\u03d0\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\245\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\u042c\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\u01ff"+ "\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\u042d\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\u042e"+ "\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\u0264\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\u042f\13\10\2\0\3\10\1\0\7\10\2\0"+ "\1\122\2\10\4\0\5\10\1\u0430\2\10\22\0\22\10"+ "\2\0\3\10\1\0\6\10\1\u0431\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\300"+ "\13\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10"+ "\4\0\1\10\1\u0432\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\u0433\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\u0434\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\u0435\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\u0436\16\10\2\0\2\10\1\u0436\1\0\7\10\2\0"+ "\1\122\2\10\4\0\7\10\1\u0437\22\0\22\10\2\0"+ "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\3\10"+ "\1\u0438\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\u0105\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\u0439\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\u043a"+ "\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\u043b\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\u043c\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\u043d\15\10\2\0\3\10\1\0\7\10\2\0\1\122"+ "\2\10\4\0\3\10\1\u043e\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\u043f\12\10\2\0\3\10\1\0\7\10"+ "\2\0\1\122\2\10\4\0\1\10\1\u038d\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\u0385\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\u0440\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\u0441\13\10\2\0\3\10\1\0\7\10"+ "\2\0\1\122\2\10\4\0\5\10\1\u0442\2\10\22\0"+ "\2\10\1\u0443\17\10\2\0\3\10\55\0\1\u0444\33\0"+ "\1\u0445\120\0\1\u0446\54\0\7\10\2\0\1\122\2\10"+ "\4\0\4\10\1\u0447\3\10\22\0\22\10\2\0\1\u0447"+ "\2\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10"+ "\22\0\2\10\1\u0448\17\10\2\0\3\10\1\0\7\10"+ "\2\0\1\122\2\10\4\0\7\10\1\u0449\22\0\10\10"+ "\1\u0449\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\u044a\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\u044b\17\10\2\0\3\10\1\0\7\10"+ "\2\0\1\122\2\10\4\0\2\10\1\u044c\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\u044d\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\u044e\15\10\2\0\3\10\1\0\4\10\1\u044f"+ "\2\10\2\0\1\122\2\10\4\0\3\10\1\u0450\3\10"+ "\1\u03c7\22\0\7\10\1\u03c8\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\u0451\13\10"+ "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0"+ "\2\10\1\u0452\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\u0453\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\u03bd\12\10\2\0"+ "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\1\10"+ "\1\u0454\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\u0266"+ "\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\10\10\22\0"+ "\2\10\1\u0456\17\10\2\0\3\10\1\0\7\10\2\0"+ "\1\122\2\10\4\0\5\10\1\u0457\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\u0458\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\u0459\17\10\2\0\3\10\1\0\7\10\2\0\1\122"+ "\2\10\4\0\5\10\1\u045a\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\u03bd\16\10\2\0\2\10\1\u03bd\1\0"+ "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\4\10"+ "\1\u045b\15\10\2\0\3\10\1\0\7\10\2\0\1\122"+ "\2\10\4\0\2\10\1\u045c\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\u045d\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\u045e\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\u045f\5\10\22\0\22\10\2\0\3\10"+ "\1\0\7\10\2\0\1\122\2\10\4\0\1\u0460\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\u0461\15\10\2\0"+ "\3\10\1\0\6\10\1\u0462\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\u0463\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\u0464\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\u0465\13\10\2\0\3\10\1\0\7\10\2\0\1\122"+ "\2\10\4\0\7\10\1\u0466\22\0\22\10\2\0\3\10"+ "\1\0\7\10\2\0\1\122\2\10\4\0\2\10\1\u0467"+ "\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\u0468\13\10"+ "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0"+ "\1\10\1\u0469\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\u046a\5\10\2\0\3\10\3\0\4\u0175\15\0\3\u0175"+ "\31\0\1\u0175\1\0\1\u0175\7\0\3\u0175\2\0\1\u0175"+ "\5\0\4\u0177\15\0\3\u0177\31\0\1\u0177\1\0\1\u0177"+ "\7\0\3\u0177\2\0\1\u0177\3\0\4\10\1\u02bc\2\10"+ "\2\0\1\122\2\10\4\0\1\10\1\u01b9\5\10\1\u046b"+ "\22\0\2\10\1\u0395\2\10\1\u01bc\14\10\2\0\3\10"+ "\1\0\7\10\2\0\1\122\2\10\4\0\4\10\1\u046c"+ "\3\10\22\0\22\10\2\0\1\u046c\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\u01f1\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\u046d\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\u046e\13\10\2\0"+ "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\3\10"+ "\1\u046f\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\u0470"+ "\13\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10"+ "\4\0\7\10\1\u0471\22\0\22\10\2\0\3\10\1\0"+ "\7\10\2\0\1\122\2\10\4\0\6\10\1\u0472\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\u0473\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\u0474\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\u0475"+ "\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\u0476\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\u0477\11\10\2\0\3\10\1\0\7\10\2\0"+ "\1\122\2\10\4\0\2\10\1\u0478\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\u0479\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\u047a\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\u047b\6\10\22\0\22\10\2\0"+ "\3\10\1\0\4\10\1\u03d9\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\u047c\2\10\22\0"+ "\22\10\2\0\3\10\1\0\6\10\1\u047d\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\u047e\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\u047f\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\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\2\10\1\u0474\17\10"+ "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0"+ "\7\10\1\u0481\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\u013b"+ "\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\u0482\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\u0483\12\10\2\0\3\10\1\0\7\10\2\0"+ "\1\122\2\10\4\0\1\10\1\u0484\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\u0485\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\u0486\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\u0152\5\10\22\0\22\10\2\0"+ "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\1\u0487"+ "\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\u0487\15\10"+ "\2\0\3\10\57\0\1\u0488\104\0\1\u0489\77\0\1\u048a"+ "\22\0\7\10\2\0\1\122\2\10\4\0\6\10\1\u048b"+ "\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\u03ed\22\0\22\10\2\0"+ "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\3\10"+ "\1\u048c\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\u028a\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\u048d\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\u048e"+ "\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\u048f\15\10"+ "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0"+ "\7\10\1\u0490\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\u0147"+ "\17\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10"+ "\4\0\1\u0491\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\u0492\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\u0493\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\243\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\u01b9\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\u0494\22\0\22\10\2\0\3\10"+ "\1\0\7\10\2\0\1\122\2\10\4\0\6\10\1\u0495"+ "\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\u0496\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\u0497\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\u0498\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\u0499\12\10\2\0"+ "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\1\10"+ "\1\u040b\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\u049a\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\u013d\10\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\3\10\1\u049c\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\u049d\14\10\2\0\3\10\1\0\7\10"+ "\2\0\1\122\2\10\4\0\4\10\1\u049e\3\10\22\0"+ "\22\10\2\0\1\u049e\2\10\1\0\7\10\2\0\1\122"+ "\2\10\4\0\3\10\1\u049f\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\u04a0\6\10\22\0\22\10\2\0\3\10\1\0\7\10"+ "\2\0\1\122\2\10\4\0\1\u013d\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\u03bd\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\u04a1\17\10\2\0\3\10\1\0\7\10\2\0\1\122"+ "\2\10\4\0\5\10\1\u04a2\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\u04a3\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\375"+ "\10\10\1\u04a4\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\375\15\10"+ "\2\0\3\10\1\0\6\10\1\u04a5\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\u04a6"+ "\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\u027a\14\10\2\0\3\10"+ "\1\0\7\10\2\0\1\122\2\10\4\0\2\10\1\u04a7"+ "\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\u04a8\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\u01f1\15\10\2\0\3\10\1\0"+ "\7\10\2\0\1\122\2\10\4\0\1\10\1\u04a9\6\10"+ "\22\0\22\10\2\0\3\10\1\0\6\10\1\u013b\2\0"+ "\1\122\2\10\4\0\10\10\22\0\22\10\2\0\3\10"+ "\1\0\4\10\1\u04aa\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\u013b\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\u04ab\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\u04ac\11\10\2\0\3\10\1\0\6\10\1\243\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\u04ad\14\10\2\0\3\10\1\0\7\10\2\0"+ "\1\122\2\10\4\0\5\10\1\u013d\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\u02e0\11\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\2\10\1\u04af\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\u04b0\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\u04b1"+ "\13\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10"+ "\4\0\1\10\1\u04b2\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\u04b3"+ "\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\u039f\13\10\1\u04b4"+ "\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\u04b5\14\10\2\0\3\10"+ "\1\0\7\10\2\0\1\122\2\10\4\0\1\10\1\u01b9"+ "\2\10\1\u04b6\2\10\1\u01b4\22\0\2\10\1\u04b7\17\10"+ "\2\0\1\u04b6\2\10\1\0\7\10\2\0\1\122\2\10"+ "\4\0\1\10\1\u04b8\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\u01a5"+ "\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\u04b9\17\10"+ "\2\0\3\10\62\0\1\u04ba\43\0\1\u0488\100\0\1\u01d6"+ "\57\0\7\10\2\0\1\122\2\10\4\0\5\10\1\u04bb"+ "\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\u03bd\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\u04bc\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\u04bd\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\u04be\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\u04bf\20\10\2\0"+ "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\1\10"+ "\1\u04c0\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\u04c1"+ "\14\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10"+ "\4\0\1\10\1\300\1\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"+ "\3\10\1\u046a\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\u046a"+ "\21\10\2\0\1\10\1\u046a\1\10\1\0\7\10\2\0"+ "\1\122\2\10\4\0\10\10\22\0\4\10\1\u040b\15\10"+ "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0"+ "\3\10\1\u04c3\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\u04c4\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\u04c5\17\10\2\0"+ "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\1\10"+ "\1\u04c6\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\u04c7"+ "\11\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10"+ "\4\0\6\10\1\u04c8\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\u04c9\13\10\2\0\3\10\1\0\7\10\2\0"+ "\1\122\2\10\4\0\7\10\1\u04ca\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\u04cb\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\u04cc"+ "\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\u04cd\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\u04ce\5\10\2\0\3\10\1\0\7\10\2\0"+ "\1\122\2\10\4\0\3\10\1\u04cf\4\10\22\0\22\10"+ "\2\0\3\10\1\0\4\10\1\u04d0\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\u0138\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\u013d\12\10\2\0"+ "\3\10\1\0\6\10\1\u04d1\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\u04d2\5\10\22\0\22\10"+ "\2\0\3\10\1\0\6\10\1\u04d3\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\u03ee\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\u04d4\17\10\2\0\3\10"+ "\1\0\7\10\2\0\1\122\2\10\4\0\3\10\1\u04d5"+ "\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\u04d6\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\u0418\14\10\2\0\3\10\1\0"+ "\7\10\2\0\1\122\2\10\4\0\6\10\1\u04d7\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\u04bb\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\u04d8\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\u04d9"+ "\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\u04da\6\10\2\0\3\10"+ "\1\0\7\10\2\0\1\122\2\10\4\0\6\10\1\u04db"+ "\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\u04dc\15\10"+ "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0"+ "\5\10\1\u04dd\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\u04de\10\10\2\0\3\10\55\0\1\u027c\25\0\7\10"+ "\2\0\1\122\2\10\4\0\10\10\22\0\10\10\1\u013d"+ "\11\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10"+ "\4\0\3\10\1\u04df\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\u04e0"+ "\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\5\10"+ "\1\u04e2\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\u04e3"+ "\14\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10"+ "\4\0\1\10\1\u04e4\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\u013d\14\10\2\0\3\10\1\0\7\10\2\0"+ "\1\122\2\10\4\0\6\10\1\u04e5\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\u04e6\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\u04e7\13\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\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\5\10\1\u04ea\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\u04ea\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\u04eb"+ "\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\u04ec\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\u04ed\15\10\2\0\3\10\1\0"+ "\7\10\2\0\1\122\2\10\4\0\3\10\1\u04ee\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\u04ef\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\u04f0\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\u01bc"+ "\14\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10"+ "\4\0\1\10\1\u04f1\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\u04f2\17\10\2\0\3\10\1\0\7\10\2\0"+ "\1\122\2\10\4\0\1\10\1\u04f3\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\u0350\10\10\2\0\3\10\1\0"+ "\7\10\2\0\1\122\2\10\4\0\7\10\1\u04f4\22\0"+ "\22\10\2\0\3\10\1\0\4\10\1\u04f5\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\u04f6\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\u013b\20\10"+ "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0"+ "\3\10\1\u032f\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\u04f7\13\10\2\0\3\10\1\0\7\10\2\0\1\122"+ "\2\10\4\0\5\10\1\u04f8\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\u04f9\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\u04fa\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\u04fb\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\u04ed\11\10\2\0\3\10\1\0\7\10\2\0\1\122"+ "\2\10\4\0\4\10\1\u04b6\3\10\22\0\22\10\2\0"+ "\1\u04b6\2\10\1\0\7\10\2\0\1\122\2\10\4\0"+ "\6\10\1\u04fc\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\u04fd\15\10\2\0\3\10\1\0\6\10\1\u0173\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\u04fe\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\u04ff\13\10"+ "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0"+ "\3\10\1\u0500\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\u04c3\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\u0501\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\u0502\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\u0503"+ "\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\u0504\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\u03cc\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\u0505\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\u0506"+ "\17\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10"+ "\4\0\7\10\1\u01fa\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\u0507\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\u04f8\15\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\7\10"+ "\2\0\1\122\2\10\4\0\3\10\1\u0509\4\10\22\0"+ "\22\10\2\0\3\10\1\0\6\10\1\u050a\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\u04a7\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\u050b\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\u038d\11\10\2\0\3\10\1\0\7\10"+ "\2\0\1\122\2\10\4\0\1\10\1\u050c\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\u038d\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\u02a2\7\10\2\0\3\10\1\0\7\10\2\0"+ "\1\122\2\10\4\0\6\10\1\u050d\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\u035b\12\10\2\0\3\10\1\0"+ "\7\10\2\0\1\122\2\10\4\0\2\10\1\u0262\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\u050e\14\10\2\0"+ "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\7\10"+ "\1\u038d\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\u014a\17\10"+ "\2\0\3\10\1\0\6\10\1\u050f\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\u04ca\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\u01b5\13\10\2\0\3\10"+ "\1\0\7\10\2\0\1\122\2\10\4\0\5\10\1\u0510"+ "\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\u0511\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\u0512\13\10\2\0\3\10\1\0"+ "\1\10\1\u0513\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\u0514\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\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\1\10\1\u0516\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\300"+ "\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\u0246\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\u0139\15\10\2\0\3\10\1\0"+ "\7\10\2\0\1\122\2\10\4\0\2\10\1\u0517\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\u03ed\21\10\2\0\1\10"+ "\1\u03ed\1\10\1\0\7\10\2\0\1\122\2\10\4\0"+ "\10\10\22\0\4\10\1\u0518\15\10\2\0\3\10\1\0"+ "\7\10\2\0\1\122\2\10\4\0\1\10\1\u0519\1\u051a"+ "\2\10\1\u051b\1\10\1\u051c\22\0\1\u051d\3\10\1\u03f1"+ "\1\10\1\u051e\13\10\2\0\1\10\1\u051d\1\10\1\0"+ "\7\10\2\0\1\122\2\10\4\0\3\10\1\u051f\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\u0520\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\u0521\5\10\2\0\3\10\1\0\7\10"+ "\2\0\1\122\2\10\4\0\10\10\22\0\13\10\1\u038d"+ "\6\10\2\0\3\10\1\0\7\10\2\0\1\122\2\10"+ "\4\0\6\10\1\u0522\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\u0523"+ "\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\u0524\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\200\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\14\10"+ "\1\220\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\u0525\17\10\2\0"+ "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\4\10"+ "\1\u0526\3\10\22\0\22\10\2\0\1\u0526\2\10\1\0"+ "\7\10\2\0\1\122\2\10\4\0\10\10\22\0\5\10"+ "\1\u015a\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\u01b4\10\10\2\0"+ "\3\10\1\0\7\10\2\0\1\122\2\10\4\0\10\10"+ "\22\0\1\10\1\u039c\20\10\2\0\3\10\1\0\7\10"+ "\2\0\1\122\2\10\4\0\3\10\1\u0527\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\370\10\10\2\0\3\10"+ "\1\0\7\10\2\0\1\122\2\10\4\0\5\10\1\u0528"+ "\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\u0529\12\10"+ "\2\0\3\10\1\0\7\10\2\0\1\122\2\10\4\0"+ "\4\10\1\u0199\3\10\22\0\22\10\2\0\1\u0199\2\10"+ "\1\0\7\10\2\0\1\122\2\10\4\0\10\10\22\0"+ "\15\10\1\u052a\4\10\2\0\3\10\1\0\7\10\2\0"+ "\1\122\2\10\4\0\10\10\22\0\7\10\1\u019f\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\u01e1\12\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"; private static int [] zzUnpackTrans() { int [] result = new int[84678]; int offset = 0; offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result); return result; } private static int zzUnpackTrans(String packed, int offset, int [] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); value--; do result[j++] = value; while (--count > 0); } return j; } /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; private static final int ZZ_PUSHBACK_2BIG = 2; /* error messages for the codes above */ private static final String ZZ_ERROR_MSG[] = { "Unkown internal scanner error", "Error: could not match input", "Error: pushback value was too large" }; /** * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute(); private static final String ZZ_ATTRIBUTE_PACKED_0 = "\6\0\1\11\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\1\0\1\1\13\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[1322]; int offset = 0; offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result); return result; } private static int zzUnpackAttribute(String packed, int offset, int [] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } return j; } /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ private int zzState; /** the current lexical state */ private int zzLexicalState = YYINITIAL; /** this buffer contains the current text to be matched and is the source of the yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ private int zzMarkedPos; /** the current text position in the buffer */ private int zzCurrentPos; /** startRead marks the beginning of the yytext() string in the buffer */ private int zzStartRead; /** endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** 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. */ public NSISTokenMaker() { } /** * Adds the token specified to the current linked list of tokens. * * @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. */ 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. * @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. */ @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 the text to place at the beginning and end of a * line to "comment" it in a this programming language. * * @return The start and end strings to add to a line to "comment" * it out. */ @Override public String[] getLineCommentStartAndEnd() { 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. * * @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) { resetTokenList(); this.offsetShift = -text.offset + startOffset; // 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; } start = text.offset; s = text; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); return new TokenImpl(); } } /** * Refills the input buffer. * * @return true if EOF was reached, otherwise * false. * @exception IOException if any I/O-Error occurs. */ private boolean zzRefill() throws java.io.IOException { return zzCurrentPos>=s.offset+s.count; } /** * 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 */ public final void yyreset(java.io.Reader reader) throws java.io.IOException { // '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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = s.offset; zzLexicalState = YYINITIAL; 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. */ public NSISTokenMaker(java.io.Reader in) { this.zzReader = in; } /** * Creates a new scanner. * There is also java.io.Reader version of this constructor. * * @param in the java.io.Inputstream to read input from. */ public NSISTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } /** * Unpacks the compressed character translation table. * * @param packed the packed character translation table * @return the unpacked character translation table */ private static char [] zzUnpackCMap(String packed) { char [] map = new char[0x10000]; int i = 0; /* index in packed string */ int j = 0; /* index in unpacked array */ while (i < 204) { int count = packed.charAt(i++); char value = packed.charAt(i++); do map[j++] = value; while (--count > 0); } return map; } /** * Closes the input stream. */ public final void yyclose() throws java.io.IOException { zzAtEOF = true; /* indicate end of file */ zzEndRead = zzStartRead; /* invalidate buffer */ if (zzReader != null) zzReader.close(); } /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } /** * Enters a 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 yylength()-1. * * @return the character at position pos */ public final char yycharat(int pos) { return zzBuffer[zzStartRead+pos]; } /** * Returns the length of the matched text region. */ public final int yylength() { return zzMarkedPos-zzStartRead; } /** * Reports an error that occured while scanning. * * In a wellformed scanner (no or only correct usage of * yypushback(int) and a match-all fallback rule) this method * will only be called with things that "Can't Possibly Happen". * If this method is called, something is seriously wrong * (e.g. a JFlex bug producing a faulty scanner etc.). * * Usual syntax/scanner level error handling should be done * in error fallback rules. * * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; try { message = ZZ_ERROR_MSG[errorCode]; } catch (ArrayIndexOutOfBoundsException e) { message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR]; } throw new Error(message); } /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * * @param number the number of characters to be read again. * This number must not be greater than yylength()! */ public void yypushback(int number) { if ( number > yylength() ) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } /** * Resumes scanning until the next regular expression is matched, * the end of input is encountered or an I/O-Error occurs. * * @return the next token * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; int zzAction; // cached fields: int zzCurrentPosL; int zzMarkedPosL; int zzEndReadL = zzEndRead; char [] zzBufferL = zzBuffer; char [] zzCMapL = ZZ_CMAP; int [] zzTransL = ZZ_TRANS; int [] zzRowMapL = ZZ_ROWMAP; int [] zzAttrL = ZZ_ATTRIBUTE; while (true) { zzMarkedPosL = zzMarkedPos; zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; else if (zzAtEOF) { zzInput = YYEOF; break zzForAction; } else { // store back cached positions zzCurrentPos = zzCurrentPosL; zzMarkedPos = zzMarkedPosL; boolean eof = zzRefill(); // get translated positions and possibly new buffer zzCurrentPosL = zzCurrentPos; zzMarkedPosL = zzMarkedPos; zzBufferL = zzBuffer; zzEndReadL = zzEndRead; if (eof) { zzInput = YYEOF; break zzForAction; } else { zzInput = zzBufferL[zzCurrentPosL++]; } } int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ]; if (zzNext == -1) break zzForAction; zzState = zzNext; int zzAttributes = zzAttrL[zzState]; if ( (zzAttributes & 1) == 1 ) { zzAction = zzState; zzMarkedPosL = zzCurrentPosL; if ( (zzAttributes & 8) == 8 ) break zzForAction; } } } // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { case 1: { 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 6: { 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 5: { addNullToken(); return firstToken; } case 66: break; case 22: { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); return firstToken; } case 67: break; case 7: { 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 1323: break; case STRING: { addToken(start,zzStartRead-1, Token.ERROR_STRING_DOUBLE); return firstToken; } case 1324: break; case CHAR_LITERAL: { addToken(start,zzStartRead-1, Token.ERROR_CHAR); return firstToken; } case 1325: break; case YYINITIAL: { addNullToken(); return firstToken; } case 1326: break; case MLC: { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); return firstToken; } case 1327: break; case BACKTICKS: { addToken(start,zzStartRead-1, Token.LITERAL_BACKQUOTE); return firstToken; } case 1328: break; default: return null; } } else { zzScanError(ZZ_NO_MATCH); } } } } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/CSharpTokenMaker.flex0000644000175000001440000004356012202237654027723 0ustar benusers/* * 11/13/2004 * * CSharpTokenMaker.java - An object that can take a chunk of text and return * a linked list of tokens representing it in the C# programming language. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.*; /** * A lexer for the C# programming language. * * 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * 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.
  • *
  • You should NOT call yylex() on the generated scanner * directly; rather, you should use getTokenList as you would * with any other TokenMaker instance.
  • *
* * @author Robert Futrell * @version 0.5 * */ %% %public %class CSharpTokenMaker %extends AbstractJFlexCTokenMaker %unicode %type org.fife.ui.rsyntaxtextarea.Token %{ /** * 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. * @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. */ 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. */ 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. */ @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 text to place at the beginning and end of a * line to "comment" it in a this programming language. * * @return The start and end strings to add to a line to "comment" * it out. */ @Override public String[] getLineCommentStartAndEnd() { 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. * * @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) { resetTokenList(); this.offsetShift = -text.offset + startOffset; // 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; } s = text; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); return new TokenImpl(); } } /** * Refills the input buffer. * * @return true if EOF was reached, otherwise * false. * @exception IOException if any I/O-Error occurs. */ private boolean zzRefill() throws java.io.IOException { return zzCurrentPos>=s.offset+s.count; } /** * 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 */ public final void yyreset(java.io.Reader reader) throws java.io.IOException { // '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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = zzPushbackPos = s.offset; zzLexicalState = YYINITIAL; zzReader = reader; zzAtBOL = true; zzAtEOF = false; } %} /* C1.1 - Line terminators. */ NewlineCharacter = ([\n]) /* C.1.2 - Whitespace. */ Whitespace = ([\t ]+) /* C.1.3 - Comments */ InputCharacter = ([^\n]) InputCharacters = ({InputCharacter}+) DocumentationCommentStart = ("///") SingleLineComment = ("//"([^/]{InputCharacters}?)?) DelimitedCommentStart = ("/*") DelimitedCommentEnd = ("*/") /* C.1.5 - Unicode character escape sequences. */ UnicodeEscape1 = ("\\u"{HexDigit}{HexDigit}{HexDigit}{HexDigit}) UnicodeEscape2 = ("\\U"{HexDigit}{HexDigit}{HexDigit}{HexDigit}{HexDigit}{HexDigit}{HexDigit}{HexDigit}) UnicodeEscapeSequence = ({UnicodeEscape1}|{UnicodeEscape2}) /* C1.6 - Identifiers. */ LetterCharacter = ([A-Za-z]) /* Not accurate - many more Unicode letters, Unicode escapes */ /* CombiningCharacter = () */ DecimalDigitCharacter = ([0-9]) ConnectingCharacter = ([_\-]) /* FormattingCharacter = () */ /* IdentifierPartCharacter = ({LetterCharacter}|{DecimalDigitCharacter}|{ConnectingCharacter}|{CombiningCharacter}|{FormattingCharacter}) */ IdentifierPartCharacter = ({LetterCharacter}|{DecimalDigitCharacter}|{ConnectingCharacter}) IdentifierPartCharacters = ({IdentifierPartCharacter}+) IdentifierStartCharacter = ({LetterCharacter}|[_]) IdentifierOrKeyword = ({IdentifierStartCharacter}{IdentifierPartCharacters}?) Identifier = ("@"?{IdentifierOrKeyword}) /* NOTE: The two below aren't from the C# spec, but we add them so we can */ /* highlight errors. */ NonSeparator = (([^\t\f\r\n\ \(\)\{\}\[\]\;\,\.\=\>\<\!\~\?\:\+\-\*\/\&\|\^\%\"\']|"#"|"\\")) ErrorIdentifier = ({NonSeparator}+) /* C1.8 - Literals. */ BooleanLiteral = ("true"|"false") DecimalDigit = ([0-9]) DecimalDigits = ({DecimalDigit}+) IntegerTypeSuffix = (([uU][lL]?)|([lL][uU]?)) DecimalIntegerLiteral = ({DecimalDigits}{IntegerTypeSuffix}?) HexDigit = ([0-9A-Fa-f]) HexDigits = ({HexDigit}+) HexadecimalIntegerLiteral = ("0"[xX]{HexDigits}{IntegerTypeSuffix}?) Sign = ([+\-]) ExponentPart = ([eE]{Sign}?{DecimalDigits}) RealTypeSuffix = ([fFdDmM]) RealHelper1 = ({DecimalDigits}"."{DecimalDigits}{ExponentPart}?{RealTypeSuffix}?) RealHelper2 = ("."{DecimalDigits}{ExponentPart}?{RealTypeSuffix}?) RealHelper3 = ({DecimalDigits}{ExponentPart}{RealTypeSuffix}?) RealHelper4 = ({DecimalDigits}{RealTypeSuffix}) RealLiteral = ({RealHelper1}|{RealHelper2}|{RealHelper3}|{RealHelper4}) ErrorNumberFormat = (({DecimalIntegerLiteral}|{HexadecimalIntegerLiteral}|{RealLiteral}){NonSeparator}+) SingleCharacter = ([^\'\\\n]) SimpleEscapeSequence = ("\\"[\'\"\\0abfnrtv]) HexadecimalEscapeSequence = ("\\x"{HexDigit}{HexDigit}?{HexDigit}?{HexDigit}?) Character = ({SingleCharacter}|{SimpleEscapeSequence}|{HexadecimalEscapeSequence}|{UnicodeEscapeSequence}) UnclosedCharacterLiteral = ("'"{Character}) CharacterLiteral = ({UnclosedCharacterLiteral}"'") ErrorUnclosedCharacterLiteral = ("'"[^\'\n]*) ErrorCharacterLiteral = ("''"|{ErrorUnclosedCharacterLiteral}[\']) QuoteEscapeSequence = ("\"\"") SingleVerbatimStringLiteralCharacter = ([^\"]) VerbatimStringLiteralStart = ("@\"") SingleRegularStringLiteralCharacter = ([^\"\\\n]) RegularStringLiteralCharacter = ({SingleRegularStringLiteralCharacter}|{SimpleEscapeSequence}|{HexadecimalEscapeSequence}|{UnicodeEscapeSequence}) RegularStringLiteralCharacters = ({RegularStringLiteralCharacter}+) RegularStringLiteral = ([\"]{RegularStringLiteralCharacters}?[\"]) UnclosedRegularStringLiteral = ([\"]([\\].|[^\\\"])*[^\"]?) ErrorRegularStringLiteral = ({UnclosedRegularStringLiteral}[\"]) /* C.1.9 - Operators and Punctuators. */ OOPHelper1 = (":") OOPHelper2 = ("+"|"-"|"*"|"/"|"%"|"&"|"|"|"^"|"!"|"~") OOPHelper3 = ("="|"<"|">"|"?"|"++"|"--"|"&&"|"||"|"<<"|">>") OOPHelper4 = ("=="|"!="|"<="|">="|"+="|"-="|"*="|"/="|"%="|"&=") OOPHelper5 = ("|="|"^="|"<<="|">>="|"->") OperatorOrPunctuator = ({OOPHelper1}|{OOPHelper2}|{OOPHelper3}|{OOPHelper4}|{OOPHelper5}) /* NOTE: We distinguish between operators and separators (punctuators), but */ /* the C# spec doesn't, so the stuff below isn't in the spec. */ Separator = ([\{\}\[\]\(\)]) Separator2 = ([,;]) /* C.1.10 - Pre-processing Directives. */ /* NOTE: We don't do ALL of the PP stuff here as it's unnecessary */ /* for us to know the difference between declarations, diagnostics, */ /* regions, etc. */ ConditionalSymbol = ({IdentifierOrKeyword}) /* Not correct - excludes "true" and "false". */ PPNewLine = ({Whitespace}?{SingleLineComment}?{NewlineCharacter}) PPPrimaryExpression = ({IdentifierOrKeyword}|({Whitespace}?{PPExpression}{Whitespace}?)) PPUnaryExpression = ({PPPrimaryExpression}|("!"{Whitespace}?{PPUnaryExpression})) PPEqualityExpression = ({PPUnaryExpression}|({Whitespace}?"=="{Whitespace}?{PPUnaryExpression})|({Whitespace}?"!="{Whitespace}?{PPUnaryExpression})) PPAndExpression = ({PPEqualityExpression}|({Whitespace}?"&&"{Whitespace}?{PPEqualityExpression})) PPOrExpression = ({PPAndExpression}|({Whitespace}?"||"{Whitespace}?{PPAndExpression})) PPExpression = ({Whitespace}?{PPOrExpression}{Whitespace}?) PPWord = ("define"|"undef"|"if"|"elif"|"else"|"endif"|"line"|"error"|"warning"|"region"|"endregion") PPDirective = ({Whitespace}?"#"{Whitespace}?{PPWord}{InputCharacter}*) /* URL matching, for comments (not in C# spec) */ URLGenDelim = ([:\/\?#\[\]@]) URLSubDelim = ([\!\$&'\(\)\*\+,;=]) URLUnreserved = ([A-Za-z_]|{DecimalDigitCharacter}|[\-\.\~]) URLCharacter = ({URLGenDelim}|{URLSubDelim}|{URLUnreserved}|[%]) URLCharacters = ({URLCharacter}*) URLEndCharacter = ([\/\$]|[A-Za-z0-9]) URL = (((https?|f(tp|ile))"://"|"www.")({URLCharacters}{URLEndCharacter})?) %state DELIMITEDCOMMENT %state DOCUMENTCOMMENT %state VERBATIMSTRING %% { /* Keywords */ "abstract" | "as" | "base" | "break" | "case" | "catch" | "checked" | "class" | "const" | "continue" | "decimal" | "default" | "delegate" | "do" | "else" | "enum" | "event" | "explicit" | "extern" | "finally" | "fixed" | "for" | "foreach" | "goto" | "if" | "implicit" | "in" | "interface" | "internal" | "is" | "lock" | "namespace" | "new" | "null" | "object" | "operator" | "out" | "override" | "params" | "private" | "protected" | "public" | "readonly" | "ref" | "return" | "sealed" | "sizeof" | "stackalloc" | "static" | "string" | "struct" | "switch" | "this" | "throw" | "try" | "typeof" | "unchecked" | "unsafe" | "using" | "virtual" | "void" | "volatile" | "while" { addToken(Token.RESERVED_WORD); } /* Data types. */ "bool" | "byte" | "char" | "double" | "float" | "int" | "long" | "object" | "sbyte" | "short" | "string" | "uint" | "ulong" | "ushort" { addToken(Token.DATA_TYPE); } {NewlineCharacter} { addNullToken(); return firstToken; } {BooleanLiteral} { addToken(Token.LITERAL_BOOLEAN); } {Identifier} { addToken(Token.IDENTIFIER); } {Whitespace} { addToken(Token.WHITESPACE); } /* String/Character Literals. */ {CharacterLiteral} { addToken(Token.LITERAL_CHAR); } {UnclosedCharacterLiteral} { addToken(Token.ERROR_CHAR); /*addNullToken(); return firstToken;*/ } {ErrorUnclosedCharacterLiteral} { addToken(Token.ERROR_CHAR); addNullToken(); return firstToken; } {ErrorCharacterLiteral} { addToken(Token.ERROR_CHAR); } {VerbatimStringLiteralStart} { start = zzMarkedPos-2; yybegin(VERBATIMSTRING); } {RegularStringLiteral} { addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); } {UnclosedRegularStringLiteral} { addToken(Token.ERROR_STRING_DOUBLE); addNullToken(); return firstToken; } {ErrorRegularStringLiteral} { addToken(Token.ERROR_STRING_DOUBLE); } /* Comments. */ {DelimitedCommentStart} { start = zzMarkedPos-2; yybegin(DELIMITEDCOMMENT); } {DocumentationCommentStart} { start = zzMarkedPos-3; yybegin(DOCUMENTCOMMENT); } {SingleLineComment} { addToken(Token.COMMENT_EOL); addNullToken(); return firstToken; } /* Separators. */ {Separator} { addToken(Token.SEPARATOR); } {Separator2} { addToken(Token.IDENTIFIER); } /* Operators. */ {OperatorOrPunctuator} { addToken(Token.OPERATOR); } /* Numbers */ {DecimalIntegerLiteral} { addToken(Token.LITERAL_NUMBER_DECIMAL_INT); } {HexadecimalIntegerLiteral} { addToken(Token.LITERAL_NUMBER_HEXADECIMAL); } {RealLiteral} { addToken(Token.LITERAL_NUMBER_FLOAT); } {ErrorNumberFormat} { addToken(Token.ERROR_NUMBER_FORMAT); } /* Preprocessor directives. */ {PPDirective} { addToken(Token.PREPROCESSOR); } /* Pretty-much anything else. */ {ErrorIdentifier} { addToken(Token.ERROR_IDENTIFIER); } /* Ended with a line not in a string or comment. */ <> { addNullToken(); return firstToken; } /* Catch any other (unhandled) characters and flag them as bad. */ . { addToken(Token.ERROR_IDENTIFIER); } } { [^hwf\n\*]+ {} {URL} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_MULTILINE); start = zzMarkedPos; } [hwf] {} \n { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); return firstToken; } {DelimitedCommentEnd} { yybegin(YYINITIAL); addToken(start,zzStartRead+1, Token.COMMENT_MULTILINE); } \* {} <> { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); return firstToken; } } { [^hwf\<\n]* {} {URL} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_DOCUMENTATION); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_DOCUMENTATION); start = zzMarkedPos; } [hwf] {} \n { addToken(start,zzStartRead-1, Token.COMMENT_DOCUMENTATION); addNullToken(); return firstToken; } "<"[^\>]*">" { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_DOCUMENTATION); addToken(temp,zzMarkedPos-1, Token.PREPROCESSOR); start = zzMarkedPos; } "<" { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_DOCUMENTATION); addToken(temp,zzEndRead, Token.PREPROCESSOR); addNullToken(); return firstToken; } <> { addToken(start,zzStartRead-1, Token.COMMENT_DOCUMENTATION); addNullToken(); return firstToken; } } { [^\"\n]* {} {QuoteEscapeSequence} {} \" { yybegin(YYINITIAL); addToken(start,zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); } \n { addToken(start,zzStartRead-1, Token.LITERAL_STRING_DOUBLE_QUOTE); return firstToken; } <> { addToken(start,zzStartRead-1, Token.LITERAL_STRING_DOUBLE_QUOTE); return firstToken; } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/CSharpTokenMaker.java0000644000175000001440000017510712202002500027665 0ustar benusers/* The following code was generated by JFlex 1.4.1 on 1/21/09 4:27 PM */ /* * 11/13/2004 * * CSharpTokenMaker.java - An object that can take a chunk of text and return * a linked list of tokens representing it in the C# programming language. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.*; /** * A lexer for the C# programming language. * * 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * 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.
  • *
  • You should NOT call yylex() on the generated scanner * directly; rather, you should use getTokenList as you would * with any other TokenMaker instance.
  • *
* * @author Robert Futrell * @version 0.5 * */ public class CSharpTokenMaker extends AbstractJFlexCTokenMaker { /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ public static final int VERBATIMSTRING = 3; public static final int DOCUMENTCOMMENT = 2; public static final int YYINITIAL = 0; public static final int DELIMITEDCOMMENT = 1; /** * Translates characters to character classes */ private static final String ZZ_CMAP_PACKED = "\11\0\1\2\1\1\1\0\2\15\22\0\1\2\1\45\1\41\1\16"+ "\1\66\1\45\1\46\1\37\2\65\1\4\1\32\1\56\1\12\1\36"+ "\1\3\1\30\11\11\1\44\1\56\1\53\1\52\1\54\1\51\1\14"+ "\3\27\1\35\1\33\1\35\5\10\1\26\1\34\7\10\1\7\2\10"+ "\1\31\2\10\1\65\1\5\1\65\1\50\1\13\1\0\1\23\1\42"+ "\1\71\1\57\1\21\1\22\1\64\1\67\1\60\1\75\1\72\1\24"+ "\1\73\1\61\1\62\1\70\1\10\1\20\1\25\1\17\1\6\1\40"+ "\1\63\1\43\1\74\1\76\1\55\1\47\1\55\1\51\uff81\0"; /** * Translates characters to character classes */ private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED); /** * Translates DFA states to action switch labels. */ private static final int [] ZZ_ACTION = zzUnpackAction(); private static final String ZZ_ACTION_PACKED_0 = "\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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } return j; } /** * 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\77\0\176\0\275\0\374\0\u013b\0\u017a\0\u01b9"+ "\0\u01f8\0\u0237\0\u0276\0\u02b5\0\u02f4\0\u0333\0\u013b\0\u0372"+ "\0\u03b1\0\u03f0\0\u042f\0\u046e\0\u04ad\0\u04ec\0\u052b\0\u056a"+ "\0\u05a9\0\u05e8\0\u0627\0\u0666\0\u06a5\0\u06e4\0\u013b\0\u0723"+ "\0\u0762\0\u07a1\0\u07e0\0\u013b\0\u013b\0\u081f\0\u085e\0\u089d"+ "\0\u08dc\0\u091b\0\u095a\0\u0999\0\u09d8\0\u0a17\0\u013b\0\u0a56"+ "\0\u0a95\0\u0ad4\0\u0b13\0\u0b52\0\u013b\0\u0b91\0\u0bd0\0\u0c0f"+ "\0\u0c4e\0\u0c8d\0\u013b\0\u0ccc\0\u0d0b\0\u0d4a\0\u013b\0\u0d89"+ "\0\u0dc8\0\u0e07\0\u0e46\0\u0e85\0\u0ec4\0\u0f03\0\u0f42\0\u0ec4"+ "\0\u0f81\0\u05e8\0\u013b\0\u0fc0\0\u0fff\0\u103e\0\u107d\0\u10bc"+ "\0\u10fb\0\u113a\0\u1179\0\u11b8\0\u11f7\0\u1236\0\u1275\0\u12b4"+ "\0\u12f3\0\u1332\0\u1371\0\u13b0\0\u13ef\0\u142e\0\u0276\0\u146d"+ "\0\u14ac\0\u14eb\0\u152a\0\u1569\0\u15a8\0\u15e7\0\u1626\0\u1665"+ "\0\u16a4\0\u16e3\0\u1722\0\u013b\0\u1761\0\u17a0\0\u17df\0\u181e"+ "\0\u013b\0\u185d\0\u189c\0\u18db\0\u191a\0\u1959\0\u1998\0\u19d7"+ "\0\u1a16\0\u1a55\0\u1a94\0\u1ad3\0\u1b12\0\u1b51\0\u1b90\0\u1bcf"+ "\0\u1c0e\0\u1c4d\0\u1c8c\0\u1ccb\0\u1d0a\0\u1d49\0\u1d88\0\u1dc7"+ "\0\u013b\0\u1e06\0\u1e45\0\u1e84\0\u1ec3\0\u1f02\0\u1f41\0\u0bd0"+ "\0\u013b\0\u1f80\0\u1fbf\0\u013b\0\u1ffe\0\u203d\0\u207c\0\u20bb"+ "\0\u20fa\0\u2139\0\u2178\0\u21b7\0\u013b\0\u21f6\0\u2235\0\u2274"+ "\0\u22b3\0\u22f2\0\u0ec4\0\u2331\0\u2370\0\u23af\0\u23ee\0\u242d"+ "\0\u246c\0\u24ab\0\u24ea\0\u2529\0\u2568\0\u25a7\0\u25e6\0\u2625"+ "\0\u2664\0\u26a3\0\u26e2\0\u2721\0\u2760\0\u279f\0\u27de\0\u281d"+ "\0\u285c\0\u289b\0\u28da\0\u2919\0\u2958\0\u2997\0\u29d6\0\u2a15"+ "\0\u2a54\0\u2a93\0\u2ad2\0\u2b11\0\u2b50\0\u2b8f\0\u2bce\0\u2c0d"+ "\0\u013b\0\u2c4c\0\u2c8b\0\u2cca\0\u2d09\0\u2d48\0\u2d87\0\u2dc6"+ "\0\u2e05\0\u013b\0\u2e44\0\u2e83\0\u2ec2\0\u2f01\0\u2f40\0\u2f7f"+ "\0\u2fbe\0\u2ffd\0\u303c\0\u307b\0\u30ba\0\u30f9\0\u3138\0\u3177"+ "\0\u31b6\0\u31f5\0\u3234\0\u3273\0\u32b2\0\u32f1\0\u3330\0\u336f"+ "\0\u33ae\0\u33ed\0\u342c\0\u346b\0\u34aa\0\u34e9\0\u3528\0\u3567"+ "\0\u35a6\0\u35e5\0\u3624\0\u3663\0\u36a2\0\u36e1\0\u3720\0\u375f"+ "\0\u379e\0\u37dd\0\u381c\0\u385b\0\u389a\0\u38d9\0\u0276\0\u3918"+ "\0\u3957\0\u3996\0\u39d5\0\u3a14\0\u3a53\0\u3a92\0\u3ad1\0\u0276"+ "\0\u3b10\0\u3b4f\0\u3b8e\0\u3bcd\0\u3c0c\0\u3c4b\0\u3c8a\0\u3cc9"+ "\0\u3d08\0\u3d47\0\u3d86\0\u3dc5\0\u3e04\0\u3e43\0\u3e82\0\u3ec1"+ "\0\u3f00\0\u3f3f\0\u3f7e\0\u3fbd\0\u3ffc\0\u403b\0\u407a\0\u40b9"+ "\0\u40f8\0\u4137\0\u4176\0\u41b5\0\u41f4\0\u4233\0\u4272\0\u42b1"+ "\0\u42f0\0\u432f\0\u436e\0\u43ad\0\u43ec\0\u442b\0\u446a\0\u44a9"+ "\0\u44e8\0\u4527\0\u4566\0\u45a5\0\u45e4\0\u4623\0\u4662\0\u46a1"+ "\0\u46e0\0\u471f\0\u475e\0\u479d\0\u47dc\0\u481b\0\u485a\0\u4899"+ "\0\u0ec4\0\u48d8\0\u4917\0\u4956\0\u4995\0\u49d4\0\u4a13\0\u4a52"+ "\0\u4a91\0\u4ad0\0\u4b0f\0\u4b4e\0\u4b8d\0\u4bcc\0\u4c0b\0\u4c4a"+ "\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 */ int l = packed.length(); while (i < l) { int high = packed.charAt(i++) << 16; result[j++] = high | packed.charAt(i++); } 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"+ "\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\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\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"+ "\1\0\1\105\1\0\1\105\1\150\13\0\1\110\5\105"+ "\1\0\5\105\1\110\3\105\32\0\1\37\17\0\1\37"+ "\35\0\1\151\16\0\1\151\46\0\1\152\1\0\3\152"+ "\1\153\31\152\1\154\37\152\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\155\1\13"+ "\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\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"+ "\7\64\1\0\3\64\1\0\7\64\17\0\1\216\40\0"+ "\1\217\16\0\54\220\1\221\22\220\63\0\1\222\32\0"+ "\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\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"+ "\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"+ "\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"+ "\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"+ "\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"+ "\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\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"+ "\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"+ "\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"+ "\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\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"+ "\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"+ "\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"+ "\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\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\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\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"+ "\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\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"+ "\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"; 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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); value--; do result[j++] = value; while (--count > 0); } return j; } /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; private static final int ZZ_PUSHBACK_2BIG = 2; /* error messages for the codes above */ private static final String ZZ_ERROR_MSG[] = { "Unkown internal scanner error", "Error: could not match input", "Error: pushback value was too large" }; /** * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute(); private static final String ZZ_ATTRIBUTE_PACKED_0 = "\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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } return j; } /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ private int zzState; /** the current lexical state */ private int zzLexicalState = YYINITIAL; /** this buffer contains the current text to be matched and is the source of the yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ private int zzMarkedPos; /** the current text position in the buffer */ private int zzCurrentPos; /** startRead marks the beginning of the yytext() string in the buffer */ private int zzStartRead; /** endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** 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. */ public CSharpTokenMaker() { super(); } /** * Adds the token specified to the current linked list of tokens. * * @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. */ 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. */ 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. */ @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 text to place at the beginning and end of a * line to "comment" it in a this programming language. * * @return The start and end strings to add to a line to "comment" * it out. */ @Override public String[] getLineCommentStartAndEnd() { 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. * * @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) { resetTokenList(); this.offsetShift = -text.offset + startOffset; // 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; } s = text; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); return new TokenImpl(); } } /** * Refills the input buffer. * * @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. * * 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 */ 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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = s.offset; zzLexicalState = YYINITIAL; 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. */ public CSharpTokenMaker(java.io.Reader in) { this.zzReader = in; } /** * Creates a new scanner. * There is also java.io.Reader version of this constructor. * * @param in the java.io.Inputstream to read input from. */ public CSharpTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } /** * Unpacks the compressed character translation table. * * @param packed the packed character translation table * @return the unpacked character translation table */ private static char [] zzUnpackCMap(String packed) { char [] map = new char[0x10000]; int i = 0; /* index in packed string */ int j = 0; /* index in unpacked array */ while (i < 158) { int count = packed.charAt(i++); char value = packed.charAt(i++); do map[j++] = value; while (--count > 0); } return map; } /** * Closes the input stream. */ public final void yyclose() throws java.io.IOException { zzAtEOF = true; /* indicate end of file */ zzEndRead = zzStartRead; /* invalidate buffer */ if (zzReader != null) zzReader.close(); } /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } /** * Enters a 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 yylength()-1. * * @return the character at position pos */ public final char yycharat(int pos) { return zzBuffer[zzStartRead+pos]; } /** * Returns the length of the matched text region. */ public final int yylength() { return zzMarkedPos-zzStartRead; } /** * Reports an error that occured while scanning. * * In a wellformed scanner (no or only correct usage of * yypushback(int) and a match-all fallback rule) this method * will only be called with things that "Can't Possibly Happen". * If this method is called, something is seriously wrong * (e.g. a JFlex bug producing a faulty scanner etc.). * * Usual syntax/scanner level error handling should be done * in error fallback rules. * * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; try { message = ZZ_ERROR_MSG[errorCode]; } catch (ArrayIndexOutOfBoundsException e) { message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR]; } throw new Error(message); } /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * * @param number the number of characters to be read again. * This number must not be greater than yylength()! */ public void yypushback(int number) { if ( number > yylength() ) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } /** * Resumes scanning until the next regular expression is matched, * the end of input is encountered or an I/O-Error occurs. * * @return the next token * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; int zzAction; // cached fields: int zzCurrentPosL; int zzMarkedPosL; int zzEndReadL = zzEndRead; char [] zzBufferL = zzBuffer; char [] zzCMapL = ZZ_CMAP; int [] zzTransL = ZZ_TRANS; int [] zzRowMapL = ZZ_ROWMAP; int [] zzAttrL = ZZ_ATTRIBUTE; while (true) { zzMarkedPosL = zzMarkedPos; zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; else if (zzAtEOF) { zzInput = YYEOF; break zzForAction; } else { // store back cached positions zzCurrentPos = zzCurrentPosL; zzMarkedPos = zzMarkedPosL; boolean eof = zzRefill(); // get translated positions and possibly new buffer zzCurrentPosL = zzCurrentPos; zzMarkedPosL = zzMarkedPos; zzBufferL = zzBuffer; zzEndReadL = zzEndRead; if (eof) { zzInput = YYEOF; break zzForAction; } else { zzInput = zzBufferL[zzCurrentPosL++]; } } int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ]; if (zzNext == -1) break zzForAction; zzState = zzNext; int zzAttributes = zzAttrL[zzState]; if ( (zzAttributes & 1) == 1 ) { zzAction = zzState; zzMarkedPosL = zzCurrentPosL; if ( (zzAttributes & 8) == 8 ) break zzForAction; } } } // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { case 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); } } } } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/LispTokenMaker.flex0000644000175000001440000003153212202240132027427 0ustar benusers/* * 11/13/2004 * * LispTokenMaker.java - Scanner for the Lisp programming language. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.*; /** * Scanner for the Lisp programming language.

* * 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * 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.
  • *
  • You should NOT call yylex() on the generated scanner * directly; rather, you should use getTokenList as you would * with any other TokenMaker instance.
  • *
* * @author Robert Futrell * @version 0.5 * */ %% %public %class LispTokenMaker %extends AbstractJFlexTokenMaker %unicode %type org.fife.ui.rsyntaxtextarea.Token %{ /** * Constructor. This must be here because JFlex does not generate a * no-parameter constructor. */ public LispTokenMaker() { } /** * Adds the token specified to the current linked list of tokens. * * @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. */ 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. * @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. */ @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 the text to place at the beginning and end of a * line to "comment" it in a this programming language. * * @return The start and end strings to add to a line to "comment" * it out. */ @Override public String[] getLineCommentStartAndEnd() { 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. * * @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) { resetTokenList(); this.offsetShift = -text.offset + startOffset; // 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; } s = text; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); return new TokenImpl(); } } /** * Refills the input buffer. * * @return true if EOF was reached, otherwise * false. * @exception IOException if any I/O-Error occurs. */ private boolean zzRefill() throws java.io.IOException { return zzCurrentPos>=s.offset+s.count; } /** * 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 */ public final void yyreset(java.io.Reader reader) throws java.io.IOException { // '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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = zzPushbackPos = s.offset; zzLexicalState = YYINITIAL; zzReader = reader; zzAtBOL = true; zzAtEOF = false; } %} Letter = [A-Za-z] LetterOrUnderscore = ({Letter}|"_") NonzeroDigit = [1-9] Digit = ("0"|{NonzeroDigit}) HexDigit = ({Digit}|[A-Fa-f]) OctalDigit = ([0-7]) EscapedSourceCharacter = ("u"{HexDigit}{HexDigit}{HexDigit}{HexDigit}) NonSeparator = ([^\t\f\r\n\ \(\)\{\}\[\]\;\,\.\=\>\<\!\~\?\:\+\-\*\/\&\|\^\%\"\']|"#"|"\\") IdentifierStart = ({LetterOrUnderscore}|"$") IdentifierPart = ({IdentifierStart}|{Digit}|("\\"{EscapedSourceCharacter})) LineTerminator = (\n) WhiteSpace = ([ \t\f]) MLCBegin = "#|" MLCEnd = "|#" LineCommentBegin = ";" IntegerHelper1 = (({NonzeroDigit}{Digit}*)|"0") IntegerHelper2 = ("0"(([xX]{HexDigit}+)|({OctalDigit}*))) IntegerLiteral = ({IntegerHelper1}[lL]?) HexLiteral = ({IntegerHelper2}[lL]?) FloatHelper1 = ([fFdD]?) FloatHelper2 = ([eE][+-]?{Digit}+{FloatHelper1}) FloatLiteral1 = ({Digit}+"."({FloatHelper1}|{FloatHelper2}|{Digit}+({FloatHelper1}|{FloatHelper2}))) FloatLiteral2 = ("."{Digit}+({FloatHelper1}|{FloatHelper2})) FloatLiteral3 = ({Digit}+{FloatHelper2}) FloatLiteral = ({FloatLiteral1}|{FloatLiteral2}|{FloatLiteral3}|({Digit}+[fFdD])) ErrorNumberFormat = (({IntegerLiteral}|{HexLiteral}|{FloatLiteral}){NonSeparator}+) Separator = ([\(\)]) NonAssignmentOperator = ("+"|"-"|"<="|"^"|"++"|"<"|"*"|">="|"%"|"--"|">"|"/"|"!="|"?"|">>"|"!"|"&"|"=="|":"|">>"|"~"|"|"|"&&"|">>>") AssignmentOperator = ("="|"-="|"*="|"/="|"|="|"&="|"^="|"+="|"%="|"<<="|">>="|">>>=") Operator = ({NonAssignmentOperator}|{AssignmentOperator}) Identifier = ({IdentifierStart}{IdentifierPart}*) ErrorIdentifier = ({NonSeparator}+) URLGenDelim = ([:\/\?#\[\]@]) URLSubDelim = ([\!\$&'\(\)\*\+,;=]) URLUnreserved = ({LetterOrUnderscore}|{Digit}|[\-\.\~]) URLCharacter = ({URLGenDelim}|{URLSubDelim}|{URLUnreserved}|[%]) URLCharacters = ({URLCharacter}*) URLEndCharacter = ([\/\$]|{Letter}|{Digit}) URL = (((https?|f(tp|ile))"://"|"www.")({URLCharacters}{URLEndCharacter})?) %state STRING %state MLC %state EOL_COMMENT %% { "defclass" | "defconstant" | "defgeneric" | "define-compiler-macro" | "define-condition" | "define-method-combination" | "define-modify-macro" | "define-setf-expander" | "define-symbol-macro" | "defmacro" | "defmethod" | "defpackage" | "defparameter" | "defsetf" | "defstruct" | "deftype" | "defun" | "defvar" { addToken(Token.RESERVED_WORD); } "abort" | "assert" | "block" | "break" | "case" | "catch" | "ccase" | "cerror" | "cond" | "ctypecase" | "declaim" | "declare" | "do" | "do*" | "do-all-symbols" | "do-external-symbols" | "do-symbols" | "dolist" | "dotimes" | "ecase" | "error" | "etypecase" | "eval-when" | "flet" | "handler-bind" | "handler-case" | "if" | "ignore-errors" | "in-package" | "labels" | "lambda" | "let" | "let*" | "locally" | "loop" | "macrolet" | "multiple-value-bind" | "proclaim" | "prog" | "prog*" | "prog1" | "prog2" | "progn" | "progv" | "provide" | "require" | "restart-bind" | "restart-case" | "restart-name" | "return" | "return-from" | "signal" | "symbol-macrolet" | "tagbody" | "the" | "throw" | "typecase" | "unless" | "unwind-protect" | "when" | "with-accessors" | "with-compilation-unit" | "with-condition-restarts" | "with-hash-table-iterator" | "with-input-from-string" | "with-open-file" | "with-open-stream" | "with-output-to-string" | "with-package-iterator" | "with-simple-restart" | "with-slots" | "with-standard-io-syntax" { addToken(Token.RESERVED_WORD); } {LineTerminator} { addNullToken(); return firstToken; } {Identifier} { addToken(Token.IDENTIFIER); } {WhiteSpace}+ { addToken(Token.WHITESPACE); } [\"] { start = zzMarkedPos-1; yybegin(STRING); } {MLCBegin} { start = zzMarkedPos-2; yybegin(MLC); } {LineCommentBegin} { start = zzMarkedPos-1; yybegin(EOL_COMMENT); } {Separator} { addToken(Token.SEPARATOR); } {Operator} { addToken(Token.OPERATOR); } /* Numbers */ {IntegerLiteral} { addToken(Token.LITERAL_NUMBER_DECIMAL_INT); } {HexLiteral} { addToken(Token.LITERAL_NUMBER_HEXADECIMAL); } {FloatLiteral} { addToken(Token.LITERAL_NUMBER_FLOAT); } {ErrorNumberFormat} { addToken(Token.ERROR_NUMBER_FORMAT); } {ErrorIdentifier} { addToken(Token.ERROR_IDENTIFIER); } /* Ended with a line not in a string or comment. */ <> { addNullToken(); return firstToken; } /* Catch any other (unhandled) characters and flag them as bad. */ . { addToken(Token.ERROR_IDENTIFIER); } } { [^\n\\\"]+ {} \n { addToken(start,zzStartRead-1, Token.LITERAL_STRING_DOUBLE_QUOTE); return firstToken; } \\.? { /* Skip escaped chars. */ } \" { yybegin(YYINITIAL); addToken(start,zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); } <> { addToken(start,zzStartRead-1, Token.LITERAL_STRING_DOUBLE_QUOTE); return firstToken; } } { [^hwf\n\|]+ {} {URL} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_MULTILINE); start = zzMarkedPos; } [hwf] {} \n { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); return firstToken; } {MLCEnd} { yybegin(YYINITIAL); addToken(start,zzStartRead+1, Token.COMMENT_MULTILINE); } \| {} <> { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); return firstToken; } } { [^hwf\n]+ {} {URL} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_EOL); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_EOL); start = zzMarkedPos; } [hwf] {} \n { addToken(start,zzStartRead-1, Token.COMMENT_EOL); addNullToken(); return firstToken; } <> { addToken(start,zzStartRead-1, Token.COMMENT_EOL); addNullToken(); return firstToken; } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/LispTokenMaker.java0000644000175000001440000014264012202002502027412 0ustar benusers/* The following code was generated by JFlex 1.4.1 on 6/11/09 9:34 AM */ /* * 11/13/2004 * * LispTokenMaker.java - Scanner for the Lisp programming language. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.*; /** * Scanner for the Lisp programming language.

* * 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * 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.
  • *
  • You should NOT call yylex() on the generated scanner * directly; rather, you should use getTokenList as you would * with any other TokenMaker instance.
  • *
* * @author Robert Futrell * @version 0.5 * */ public class LispTokenMaker extends AbstractJFlexTokenMaker { /** This character denotes the end of file */ public static final int YYEOF = -1; /** initial size of the lookahead buffer */ private static final int ZZ_BUFFERSIZE = 16384; /** lexical states */ public static final int EOL_COMMENT = 3; public static final int STRING = 1; public static final int YYINITIAL = 0; public static final int MLC = 2; /** * Translates characters to character classes */ private static final String ZZ_CMAP_PACKED = "\11\0\1\14\1\13\1\0\1\14\1\10\22\0\1\14\1\34\1\73"+ "\1\11\1\1\1\34\1\37\1\42\2\25\1\32\1\26\1\42\1\23"+ "\1\24\1\35\1\4\1\71\1\71\5\6\2\3\1\40\1\16\1\27"+ "\1\30\1\33\1\36\1\41\3\5\1\21\1\22\1\21\5\1\1\20"+ "\13\1\1\17\2\1\1\42\1\12\1\42\1\31\1\2\1\0\1\56"+ "\1\64\1\55\1\54\1\52\1\47\1\61\1\43\1\50\1\1\1\67"+ "\1\51\1\63\1\60\1\57\1\45\1\72\1\62\1\46\1\44\1\7"+ "\1\70\1\53\1\66\1\65\1\1\1\10\1\15\1\10\1\36\uff81\0"; /** * Translates characters to character classes */ private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED); /** * Translates DFA states to action switch labels. */ private static final int [] ZZ_ACTION = zzUnpackAction(); private static final String ZZ_ACTION_PACKED_0 = "\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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } return j; } /** * 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\74\0\170\0\264\0\360\0\u012c\0\u0168\0\u01a4"+ "\0\u01e0\0\u021c\0\u0258\0\u021c\0\u0294\0\u02d0\0\u021c\0\u030c"+ "\0\u0348\0\u021c\0\u0384\0\u03c0\0\u03fc\0\u021c\0\u0438\0\u0474"+ "\0\u04b0\0\u04ec\0\u0528\0\u0564\0\u05a0\0\u05dc\0\u0618\0\u0654"+ "\0\u0690\0\u06cc\0\u0708\0\u0744\0\u0780\0\u07bc\0\u021c\0\u07f8"+ "\0\u0834\0\u021c\0\u021c\0\u0870\0\u021c\0\u08ac\0\u08e8\0\u0924"+ "\0\u0960\0\u099c\0\u021c\0\u09d8\0\u0a14\0\u0a50\0\u0a8c\0\u0ac8"+ "\0\u0ac8\0\u0ac8\0\u0b04\0\u0b40\0\u0b7c\0\u0bb8\0\u0bf4\0\u0c30"+ "\0\u021c\0\u02d0\0\u0c6c\0\u0ca8\0\u0ce4\0\u0d20\0\u0d5c\0\u0d98"+ "\0\u0dd4\0\u0e10\0\u0e4c\0\u012c\0\u0e88\0\u0ec4\0\u0f00\0\u0f3c"+ "\0\u0f78\0\u0fb4\0\u0ff0\0\u102c\0\u1068\0\u10a4\0\u10e0\0\u111c"+ "\0\u1158\0\u1194\0\u11d0\0\u120c\0\u1248\0\u1284\0\u12c0\0\u12fc"+ "\0\u1338\0\u1374\0\u13b0\0\u021c\0\u021c\0\u13ec\0\u1428\0\u1464"+ "\0\u14a0\0\u14dc\0\u1518\0\u1554\0\u1590\0\u15cc\0\u1608\0\u1644"+ "\0\u0ac8\0\u1680\0\u16bc\0\u16f8\0\u1734\0\u1770\0\u17ac\0\u17e8"+ "\0\u1824\0\u1860\0\u189c\0\u18d8\0\u1914\0\u1950\0\u198c\0\u19c8"+ "\0\u1a04\0\u1a40\0\u1a7c\0\u1ab8\0\u1af4\0\u1b30\0\u1b6c\0\u1ba8"+ "\0\u1be4\0\u1c20\0\u1c5c\0\u021c\0\u1c98\0\u1cd4\0\u1d10\0\u1d4c"+ "\0\u1d88\0\u1dc4\0\u1e00\0\u1e3c\0\u1e78\0\u1eb4\0\u1ef0\0\u1f2c"+ "\0\u1f68\0\u1fa4\0\u1fe0\0\u201c\0\u2058\0\u2094\0\u20d0\0\u210c"+ "\0\u2148\0\u2184\0\u21c0\0\u21fc\0\u2238\0\u2274\0\u22b0\0\u22ec"+ "\0\u2328\0\u2364\0\u23a0\0\u23dc\0\u2418\0\u2454\0\u2490\0\u24cc"+ "\0\u2508\0\u2544\0\u2580\0\u25bc\0\u25f8\0\u2634\0\u2670\0\u26ac"+ "\0\u26e8\0\u2724\0\u2760\0\u279c\0\u27d8\0\u2814\0\u2850\0\u288c"+ "\0\u28c8\0\u2904\0\u2940\0\u297c\0\u29b8\0\u29f4\0\u2a30\0\u2a6c"+ "\0\u2aa8\0\u2ae4\0\u2b20\0\u2b5c\0\u2b98\0\u2bd4\0\u2c10\0\u2c4c"+ "\0\u2c88\0\u2cc4\0\u2d00\0\u2d3c\0\u2d78\0\u2db4\0\u2df0\0\u2e2c"+ "\0\u2e68\0\u2ea4\0\u2ee0\0\u2f1c\0\u2f58\0\u2f94\0\u2fd0\0\u300c"+ "\0\u3048\0\u3084\0\u30c0\0\u30fc\0\u3138\0\u3174\0\u31b0\0\u31ec"+ "\0\u3228\0\u3264\0\u32a0\0\u32dc\0\u3318\0\u3354\0\u3390\0\u33cc"+ "\0\u3408\0\u3444\0\u3480\0\u34bc\0\u2bd4\0\u34f8\0\u2c88\0\u3534"+ "\0\u3570\0\u35ac\0\u35e8\0\u3624\0\u3660\0\u369c\0\u36d8\0\u3714"+ "\0\u3750\0\u378c\0\u37c8\0\u3804\0\u3840\0\u387c\0\u38b8\0\u38f4"+ "\0\u3930\0\u396c\0\u39a8\0\u39e4\0\u3a20\0\u3a5c\0\u3a98\0\u3ad4"+ "\0\u3b10\0\u3b4c\0\u3b88\0\u3bc4\0\u3c00\0\u3c3c\0\u3c78\0\u3cb4"+ "\0\u3cf0\0\u3d2c\0\u3d68\0\u3da4\0\u3de0\0\u3e1c\0\u3e58\0\u3e94"+ "\0\u3ed0\0\u3f0c\0\u3f48\0\u3f84\0\u3fc0\0\u3ffc\0\u4038\0\u4074"+ "\0\u40b0\0\u40ec\0\u4128\0\u4164\0\u41a0\0\u41dc\0\u4218\0\u4254"+ "\0\u4290\0\u42cc\0\u4308\0\u4344\0\u4380\0\u43bc\0\u43f8\0\u4434"+ "\0\u4470\0\u44ac\0\u44e8\0\u4524\0\u4560\0\u459c\0\u45d8\0\u4614"+ "\0\u4650\0\u468c\0\u46c8\0\u4704\0\u4740\0\u477c\0\u47b8\0\u47f4"+ "\0\u4830\0\u486c\0\u48a8\0\u48e4\0\u4920\0\u495c\0\u4998\0\u49d4"+ "\0\u4a10\0\u4a4c\0\u4a88\0\u4ac4\0\u4b00\0\u4b3c\0\u4b78\0\u4bb4"+ "\0\u4bf0\0\u4c2c\0\u4c68\0\u4ca4\0\u4ce0\0\u4d1c\0\u4d58\0\u4d94"+ "\0\u4dd0\0\u4e0c\0\u4e48\0\u4e84\0\u4ec0\0\u4efc\0\u4f38\0\u4f74"+ "\0\u4fb0\0\u4fec\0\u5028\0\u5064\0\u50a0\0\u50dc\0\u5118\0\u5154"+ "\0\u5190\0\u51cc\0\u5208\0\u5244\0\u5280\0\u52bc\0\u52f8\0\u5334"+ "\0\u5370\0\u53ac\0\u53e8\0\u5424\0\u5460\0\u549c\0\u54d8\0\u5514"+ "\0\u5550\0\u558c\0\u55c8\0\u5604\0\u5640\0\u567c\0\u56b8\0\u56f4"+ "\0\u5730\0\u576c\0\u57a8\0\u57e4\0\u5820\0\u585c\0\u5898\0\u58d4"+ "\0\u5910\0\u594c\0\u5988\0\u59c4\0\u5a00\0\u5a3c\0\u5a78\0\u5ab4"+ "\0\u5af0\0\u5b2c\0\u5b68\0\u5ba4\0\u5be0\0\u5c1c\0\u5c58\0\u5c94"+ "\0\u5cd0\0\u5d0c\0\u5d48\0\u5d84\0\u5dc0\0\u5dfc\0\u5e38\0\u5e74"+ "\0\u5eb0\0\u5eec\0\u5f28\0\u5f64\0\u5fa0\0\u5fdc\0\u6018\0\u6054"+ "\0\u6090\0\u60cc\0\u6108\0\u6144\0\u6180\0\u61bc\0\u61f8\0\u6234"+ "\0\u6270\0\u62ac\0\u62e8\0\u6324\0\u6360\0\u639c\0\u63d8\0\u6414"+ "\0\u6450\0\u648c\0\u64c8\0\u6504\0\u6540\0\u657c\0\u65b8\0\u65f4"+ "\0\u6630\0\u666c\0\u66a8\0\u66e4\0\u6720\0\u675c\0\u6798\0\u67d4"+ "\0\u6810\0\u684c\0\u6888\0\u68c4\0\u6900\0\u693c\0\u6978\0\u69b4"+ "\0\u69f0\0\u6a2c\0\u6a68\0\u6aa4\0\u6ae0\0\u6b1c\0\u6b58\0\u6b94"+ "\0\u6bd0\0\u6c0c\0\u6c48\0\u6c84\0\u6cc0\0\u6cfc\0\u6d38\0\u6d74"+ "\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 */ int l = packed.length(); while (i < l) { int high = packed.charAt(i++) << 16; result[j++] = high | packed.charAt(i++); } 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"+ "\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"+ "\1\5\1\0\30\5\1\0\10\70\1\0\2\70\4\0"+ "\4\70\16\0\1\70\1\0\30\70\1\0\3\70\2\157"+ "\1\70\1\157\1\70\1\0\2\70\4\0\4\70\1\160"+ "\2\0\1\160\12\0\1\70\1\0\26\70\1\157\1\70"+ "\1\0\3\70\2\74\1\70\1\74\1\70\1\0\2\70"+ "\4\0\2\70\1\72\1\73\16\0\1\70\1\0\4\70"+ "\1\72\2\70\1\73\1\70\1\72\14\70\1\74\1\70"+ "\1\0\3\70\2\75\1\70\1\75\1\70\1\0\2\70"+ "\4\0\2\70\1\72\1\73\1\0\1\74\14\0\1\70"+ "\1\0\4\70\1\72\2\70\1\73\1\70\1\72\14\70"+ "\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"+ "\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"+ "\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\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"+ "\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"+ "\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"+ "\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\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"+ "\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"+ "\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\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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); value--; do result[j++] = value; while (--count > 0); } return j; } /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; private static final int ZZ_PUSHBACK_2BIG = 2; /* error messages for the codes above */ private static final String ZZ_ERROR_MSG[] = { "Unkown internal scanner error", "Error: could not match input", "Error: pushback value was too large" }; /** * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute(); private static final String ZZ_ATTRIBUTE_PACKED_0 = "\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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } return j; } /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ private int zzState; /** the current lexical state */ private int zzLexicalState = YYINITIAL; /** this buffer contains the current text to be matched and is the source of the yytext() string */ private char zzBuffer[] = new char[ZZ_BUFFERSIZE]; /** the textposition at the last accepting state */ private int zzMarkedPos; /** the current text position in the buffer */ private int zzCurrentPos; /** startRead marks the beginning of the yytext() string in the buffer */ private int zzStartRead; /** endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** 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. */ public LispTokenMaker() { } /** * Adds the token specified to the current linked list of tokens. * * @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. */ 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. * @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. */ @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 the text to place at the beginning and end of a * line to "comment" it in a this programming language. * * @return The start and end strings to add to a line to "comment" * it out. */ @Override public String[] getLineCommentStartAndEnd() { 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. * * @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) { resetTokenList(); this.offsetShift = -text.offset + startOffset; // 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; } s = text; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); return new TokenImpl(); } } /** * Refills the input buffer. * * @return true if EOF was reached, otherwise * false. * @exception IOException if any I/O-Error occurs. */ private boolean zzRefill() throws java.io.IOException { return zzCurrentPos>=s.offset+s.count; } /** * 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 */ public final void yyreset(java.io.Reader reader) throws java.io.IOException { // '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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = s.offset; zzLexicalState = YYINITIAL; 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. */ public LispTokenMaker(java.io.Reader in) { this.zzReader = in; } /** * Creates a new scanner. * There is also java.io.Reader version of this constructor. * * @param in the java.io.Inputstream to read input from. */ public LispTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } /** * Unpacks the compressed character translation table. * * @param packed the packed character translation table * @return the unpacked character translation table */ private static char [] zzUnpackCMap(String packed) { char [] map = new char[0x10000]; int i = 0; /* index in packed string */ int j = 0; /* index in unpacked array */ while (i < 160) { int count = packed.charAt(i++); char value = packed.charAt(i++); do map[j++] = value; while (--count > 0); } return map; } /** * Closes the input stream. */ public final void yyclose() throws java.io.IOException { zzAtEOF = true; /* indicate end of file */ zzEndRead = zzStartRead; /* invalidate buffer */ if (zzReader != null) zzReader.close(); } /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } /** * Enters a 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 yylength()-1. * * @return the character at position pos */ public final char yycharat(int pos) { return zzBuffer[zzStartRead+pos]; } /** * Returns the length of the matched text region. */ public final int yylength() { return zzMarkedPos-zzStartRead; } /** * Reports an error that occured while scanning. * * In a wellformed scanner (no or only correct usage of * yypushback(int) and a match-all fallback rule) this method * will only be called with things that "Can't Possibly Happen". * If this method is called, something is seriously wrong * (e.g. a JFlex bug producing a faulty scanner etc.). * * Usual syntax/scanner level error handling should be done * in error fallback rules. * * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; try { message = ZZ_ERROR_MSG[errorCode]; } catch (ArrayIndexOutOfBoundsException e) { message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR]; } throw new Error(message); } /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * * @param number the number of characters to be read again. * This number must not be greater than yylength()! */ public void yypushback(int number) { if ( number > yylength() ) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } /** * Resumes scanning until the next regular expression is matched, * the end of input is encountered or an I/O-Error occurs. * * @return the next token * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; int zzAction; // cached fields: int zzCurrentPosL; int zzMarkedPosL; int zzEndReadL = zzEndRead; char [] zzBufferL = zzBuffer; char [] zzCMapL = ZZ_CMAP; int [] zzTransL = ZZ_TRANS; int [] zzRowMapL = ZZ_ROWMAP; int [] zzAttrL = ZZ_ATTRIBUTE; while (true) { zzMarkedPosL = zzMarkedPos; zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; else if (zzAtEOF) { zzInput = YYEOF; break zzForAction; } else { // store back cached positions zzCurrentPos = zzCurrentPosL; zzMarkedPos = zzMarkedPosL; boolean eof = zzRefill(); // get translated positions and possibly new buffer zzCurrentPosL = zzCurrentPos; zzMarkedPosL = zzMarkedPos; zzBufferL = zzBuffer; zzEndReadL = zzEndRead; if (eof) { zzInput = YYEOF; break zzForAction; } else { zzInput = zzBufferL[zzCurrentPosL++]; } } int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ]; if (zzNext == -1) break zzForAction; zzState = zzNext; int zzAttributes = zzAttrL[zzState]; if ( (zzAttributes & 1) == 1 ) { zzAction = zzState; zzMarkedPosL = zzCurrentPosL; if ( (zzAttributes & 8) == 8 ) break zzForAction; } } } // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { case 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); } } } } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/JSPTokenMaker.flex0000644000175000001440000015331112202002502027151 0ustar benusers/* * 02/11/2008 * * JSPTokenMaker.java - Generates tokens for JSP syntax highlighting. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.*; /** * Scanner for JSP files (supporting HTML 5). * * 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * 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.
  • *
  • You should NOT call yylex() on the generated scanner * 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 %unicode %type org.fife.ui.rsyntaxtextarea.Token %{ /** * Type specific to JSPTokenMaker denoting a line ending with an unclosed * double-quote attribute. */ private static final int INTERNAL_ATTR_DOUBLE = -1; /** * Type specific to JSPTokenMaker denoting a line ending with an unclosed * single-quote attribute. */ 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. */ 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. */ private static final int INTERNAL_INTAG_SCRIPT = -4; /** * 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. */ 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. */ private static final int INTERNAL_INTAG_STYLE = -7; /** * 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. */ private static final int INTERNAL_ATTR_SINGLE_QUOTE_STYLE = -9; /** * Token type specifying we're in a JSP hidden comment ("<%-- ... --%>"). */ private static final int INTERNAL_IN_HIDDEN_COMMENT = -10; /** * Token type specifying we're in a JSP directive (either include, page * or taglib). */ private static final int INTERNAL_IN_JSP_DIRECTIVE = -11; /** * Token type specifying we're in JavaScript. */ private static final int INTERNAL_IN_JS = -12; /** * Token type specifying we're in a JavaScript multi-line comment. */ private static final int INTERNAL_IN_JS_MLC = -13; /** * Token type specifying we're in an invalid multi-line JS string. */ private static final int INTERNAL_IN_JS_STRING_INVALID = -14; /** * Token type specifying we're in a valid multi-line JS string. */ private static final int INTERNAL_IN_JS_STRING_VALID = -15; /** * 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. */ private static final int INTERNAL_IN_JS_CHAR_VALID = -17; /** * Internal type denoting a line ending in CSS. */ private static final int INTERNAL_CSS = -18; /** * Internal type denoting a line ending in a CSS property. */ private static final int INTERNAL_CSS_PROPERTY = -19; /** * Internal type denoting a line ending in a CSS property value. */ private static final int INTERNAL_CSS_VALUE = -20; /** * 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. */ 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. */ private static final int INTERNAL_CSS_MLC = -(3<<11); /** * Token type specifying we're in a Java documentation comment. */ private static final int INTERNAL_IN_JAVA_DOCCOMMENT = -(4<<11); /** * Token type specifying we're in Java code. */ private static final int INTERNAL_IN_JAVA_EXPRESSION = -(5<<11); /** * Token type specifying we're in Java multiline comment. */ private static final int INTERNAL_IN_JAVA_MLC = -(6<<11); /** * The state previous CSS-related state we were in before going into a CSS * string, multi-line comment, etc. */ private int cssPrevState; /** * The state JSP was started in (YYINITIAL, INTERNAL_IN_JS, etc.). */ private int jspInState; /** * Whether closing markup tags are automatically completed for JSP. */ private static boolean completeCloseTags; /** * When in the JS_STRING state, whether the current string is valid. */ private boolean validJSString; /** * Language state set on HTML tokens. Must be 0. */ private static final int LANG_INDEX_DEFAULT = 0; /** * Language state set on JavaScript tokens. */ private static final int LANG_INDEX_JS = 1; /** * Language state set on CSS tokens. */ private static final int LANG_INDEX_CSS = 2; /** * 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. * * @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. * @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. */ 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. */ 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. */ @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. 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) */ @Override public boolean getCompleteCloseTags() { return completeCloseTags; } /** * 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. */ public Token getTokenList(Segment text, int initialTokenType, int startOffset) { resetTokenList(); this.offsetShift = -text.offset + startOffset; jspInState = YYINITIAL; // Shouldn't be necessary cssPrevState = CSS; // Shouldn't be necessary int languageIndex = 0; // 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; 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; } break; } setLanguageIndex(languageIndex); start = text.offset; s = text; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); 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. * * @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. */ 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. * * 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 */ 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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = zzPushbackPos = s.offset; zzLexicalState = YYINITIAL; zzReader = reader; zzAtBOL = true; zzAtEOF = false; } %} // HTML-specific stuff. Whitespace = ([ \t\f]) LineTerminator = ([\n]) Identifier = ([^ \t\n<&]+) EntityReference = ([&][^; \t]*[;]?) InTagIdentifier = ([^ \t\n\"\'/=>]+) UnclosedStringLiteral = ([\"][^\"]*) StringLiteral = ({UnclosedStringLiteral}[\"]) UnclosedCharLiteral = ([\'][^\']*) CharLiteral = ({UnclosedCharLiteral}[\']) EndScriptTag = ("") EndStyleTag = ("") JspExpressionStart = ("<%=") JspScriptletStart = ("<%") JspDeclarationStart = ("<%!") JspStart = ({JspExpressionStart}|{JspScriptletStart}|{JspDeclarationStart}) // General stuff. Letter = [A-Za-z] NonzeroDigit = [1-9] Digit = ("0"|{NonzeroDigit}) HexDigit = ({Digit}|[A-Fa-f]) OctalDigit = ([0-7]) LetterOrUnderscore = ({Letter}|"_") LetterOrUnderscoreOrDash = ({LetterOrUnderscore}|[\-]) // Java stuff. AnyCharacterButApostropheOrBackSlash = ([^\\']) AnyCharacterButDoubleQuoteOrBackSlash = ([^\\\"\n]) EscapedSourceCharacter = ("u"{HexDigit}{HexDigit}{HexDigit}{HexDigit}) Escape = ("\\"(([btnfr\"'\\])|([0123]{OctalDigit}?{OctalDigit}?)|({OctalDigit}{OctalDigit}?)|{EscapedSourceCharacter})) NonSeparator = ([^\t\f\r\n\ \(\)\{\}\[\]\;\,\.\=\>\<\!\~\?\:\+\-\*\/\&\|\^\%\"\']|"#"|"\\") IdentifierStart = ({LetterOrUnderscore}|"$") IdentifierPart = ({IdentifierStart}|{Digit}|("\\"{EscapedSourceCharacter})) WhiteSpace = ([ \t\f]) JCharLiteral = ([\']({AnyCharacterButApostropheOrBackSlash}|{Escape})[\']) JUnclosedCharLiteral = ([\'][^\'\n]*) JErrorCharLiteral = ({UnclosedCharLiteral}[\']) JStringLiteral = ([\"]({AnyCharacterButDoubleQuoteOrBackSlash}|{Escape})*[\"]) JUnclosedStringLiteral = ([\"]([\\].|[^\\\"])*[^\"]?) JErrorStringLiteral = ({UnclosedStringLiteral}[\"]) MLCBegin = "/*" MLCEnd = "*/" DocCommentBegin = "/**" LineCommentBegin = "//" IntegerHelper1 = (({NonzeroDigit}{Digit}*)|"0") IntegerHelper2 = ("0"(([xX]{HexDigit}+)|({OctalDigit}*))) IntegerLiteral = ({IntegerHelper1}[lL]?) HexLiteral = ({IntegerHelper2}[lL]?) FloatHelper1 = ([fFdD]?) FloatHelper2 = ([eE][+-]?{Digit}+{FloatHelper1}) FloatLiteral1 = ({Digit}+"."({FloatHelper1}|{FloatHelper2}|{Digit}+({FloatHelper1}|{FloatHelper2}))) FloatLiteral2 = ("."{Digit}+({FloatHelper1}|{FloatHelper2})) FloatLiteral3 = ({Digit}+{FloatHelper2}) FloatLiteral = ({FloatLiteral1}|{FloatLiteral2}|{FloatLiteral3}|({Digit}+[fFdD])) ErrorNumberFormat = (({IntegerLiteral}|{HexLiteral}|{FloatLiteral}){NonSeparator}+) BooleanLiteral = ("true"|"false") Separator = ([\(\)\{\}\[\]]) Separator2 = ([\;,.]) NonAssignmentOperator = ("+"|"-"|"<="|"^"|"++"|"<"|"*"|">="|"%"|"--"|">"|"/"|"!="|"?"|">>"|"!"|"&"|"=="|":"|">>"|"~"|"|"|"&&"|">>>") AssignmentOperator = ("="|"-="|"*="|"/="|"|="|"&="|"^="|"+="|"%="|"<<="|">>="|">>>=") Operator = ({NonAssignmentOperator}|{AssignmentOperator}) DocumentationKeyword = ("author"|"deprecated"|"exception"|"link"|"param"|"return"|"see"|"serial"|"serialData"|"serialField"|"since"|"throws"|"version") JIdentifier = ({IdentifierStart}{IdentifierPart}*) ErrorIdentifier = ({NonSeparator}+) Annotation = ("@"{JIdentifier}?) PrimitiveTypes = ("boolean"|"byte"|"char"|"double" |"float"|"int"|"long"|"short") CurrentBlockTag = ("author"|"deprecated"|"exception"|"param"|"return"|"see"|"serial"|"serialData"|"serialField"|"since"|"throws"|"version") ProposedBlockTag = ("category"|"example"|"tutorial"|"index"|"exclude"|"todo"|"internal"|"obsolete"|"threadsafety") BlockTag = ({CurrentBlockTag}|{ProposedBlockTag}) InlineTag = ("code"|"docRoot"|"inheritDoc"|"link"|"linkplain"|"literal"|"value") URLGenDelim = ([:\/\?#\[\]@]) URLSubDelim = ([\!\$&'\(\)\*\+,;=]) URLUnreserved = ({LetterOrUnderscore}|{Digit}|[\-\.\~]) URLCharacter = ({URLGenDelim}|{URLSubDelim}|{URLUnreserved}|[%]) URLCharacters = ({URLCharacter}*) URLEndCharacter = ([\/\$]|{Letter}|{Digit}) URL = (((https?|f(tp|ile))"://"|"www.")({URLCharacters}{URLEndCharacter})?) // JavaScript stuff. JS_MLCBegin = ({MLCBegin}) JS_MLCEnd = ({MLCEnd}) JS_LineCommentBegin = ({LineCommentBegin}) JS_IntegerLiteral = ({IntegerLiteral}) JS_HexLiteral = ({HexLiteral}) JS_FloatLiteral = ({FloatLiteral}) JS_ErrorNumberFormat = ({ErrorNumberFormat}) JS_Separator = ({Separator}) JS_Separator2 = ({Separator2}) JS_Operator = ({Operator}) JS_Identifier = ({JIdentifier}) JS_ErrorIdentifier = ({ErrorIdentifier}) JS_Regex = ("/"([^\*\\/]|\\.)([^/\\]|\\.)*"/"[gim]*) // CSS stuff. CSS_SelectorPiece = (("*"|"."|{LetterOrUnderscoreOrDash})({LetterOrUnderscoreOrDash}|"."|{Digit})*) CSS_PseudoClass = (":"("root"|"nth-child"|"nth-last-child"|"nth-of-type"|"nth-last-of-type"|"first-child"|"last-child"|"first-of-type"|"last-of-type"|"only-child"|"only-of-type"|"empty"|"link"|"visited"|"active"|"hover"|"focus"|"target"|"lang"|"enabled"|"disabled"|"checked"|":first-line"|":first-letter"|":before"|":after"|"not")) CSS_AtKeyword = ("@"{CSS_SelectorPiece}) CSS_Id = ("#"{CSS_SelectorPiece}) CSS_Separator = ([;\(\)\[\]]) CSS_MlcStart = ({JS_MLCBegin}) CSS_MlcEnd = ({JS_MLCEnd}) CSS_Property = ([\*]?{LetterOrUnderscoreOrDash}({LetterOrUnderscoreOrDash}|{Digit})*) CSS_ValueChar = ({LetterOrUnderscoreOrDash}|[\\/]) CSS_Value = ({CSS_ValueChar}*) CSS_Function = ({CSS_Value}\() CSS_Digits = ([\-]?{Digit}+([0-9\.]+)?(pt|pc|in|mm|cm|em|ex|px|ms|s|%)?) CSS_Hex = ("#"[0-9a-fA-F]+) CSS_Number = ({CSS_Digits}|{CSS_Hex}) %state COMMENT %state PI %state DTD %state INTAG %state INTAG_CHECK_TAG_NAME %state INATTR_DOUBLE %state INATTR_SINGLE %state INTAG_SCRIPT %state INATTR_DOUBLE_SCRIPT %state INATTR_SINGLE_SCRIPT %state INTAG_STYLE %state INATTR_DOUBLE_STYLE %state INATTR_SINGLE_STYLE %state JAVASCRIPT %state JS_STRING %state JS_CHAR %state JS_MLC %state JS_EOL_COMMENT %state HIDDEN_COMMENT %state JAVA_DOCCOMMENT %state JAVA_EXPRESSION %state JAVA_MLC %state JSP_DIRECTIVE %state CSS %state CSS_PROPERTY %state CSS_VALUE %state CSS_STRING %state CSS_CHAR_LITERAL %state CSS_C_STYLE_COMMENT %% { "" { yybegin(YYINITIAL); addToken(start,zzStartRead+2, Token.MARKUP_COMMENT); } "-" {} {LineTerminator} | <> { addToken(start,zzStartRead-1, Token.MARKUP_COMMENT); return firstToken; } } { [^hwf\n\-]+ {} {URL} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.MARKUP_COMMENT); addHyperlinkToken(temp,zzMarkedPos-1, Token.MARKUP_COMMENT); start = zzMarkedPos; } [hwf] {} "--%>" { yybegin(YYINITIAL); addToken(start,zzStartRead+3, Token.MARKUP_COMMENT); } "-" {} {LineTerminator} | <> { addToken(start,zzStartRead-1, Token.MARKUP_COMMENT); addEndToken(INTERNAL_IN_HIDDEN_COMMENT); return firstToken; } } { [^\n\?]+ {} {LineTerminator} { addToken(start,zzStartRead-1, Token.MARKUP_PROCESSING_INSTRUCTION); return firstToken; } "?>" { yybegin(YYINITIAL); addToken(start,zzStartRead+1, Token.MARKUP_PROCESSING_INSTRUCTION); } "?" {} <> { addToken(start,zzStartRead-1, Token.MARKUP_PROCESSING_INSTRUCTION); return firstToken; } } { [^\n>]+ {} {LineTerminator} { addToken(start,zzStartRead-1, Token.MARKUP_DTD); return firstToken; } ">" { yybegin(YYINITIAL); addToken(start,zzStartRead, Token.MARKUP_DTD); } <> { addToken(start,zzStartRead-1, Token.MARKUP_DTD); return firstToken; } } { [Aa] | [aA][bB][bB][rR] | [aA][cC][rR][oO][nN][yY][mM] | [aA][dD][dD][rR][eE][sS][sS] | [aA][pP][pP][lL][eE][tT] | [aA][rR][eE][aA] | [aA][rR][tT][iI][cC][lL][eE] | [aA][sS][iI][dD][eE] | [aA][uU][dD][iI][oO] | [bB] | [bB][aA][sS][eE] | [bB][aA][sS][eE][fF][oO][nN][tT] | [bB][dD][oO] | [bB][gG][sS][oO][uU][nN][dD] | [bB][iI][gG] | [bB][lL][iI][nN][kK] | [bB][lL][oO][cC][kK][qQ][uU][oO][tT][eE] | [bB][oO][dD][yY] | [bB][rR] | [bB][uU][tT][tT][oO][nN] | [cC][aA][nN][vV][aA][sS] | [cC][aA][pP][tT][iI][oO][nN] | [cC][eE][nN][tT][eE][rR] | [cC][iI][tT][eE] | [cC][oO][dD][eE] | [cC][oO][lL] | [cC][oO][lL][gG][rR][oO][uU][pP] | [cC][oO][mM][mM][aA][nN][dD] | [cC][oO][mM][mM][eE][nN][tT] | [dD][dD] | [dD][aA][tT][aA][gG][rR][iI][dD] | [dD][aA][tT][aA][lL][iI][sS][tT] | [dD][aA][tT][aA][tT][eE][mM][pP][lL][aA][tT][eE] | [dD][eE][lL] | [dD][eE][tT][aA][iI][lL][sS] | [dD][fF][nN] | [dD][iI][aA][lL][oO][gG] | [dD][iI][rR] | [dD][iI][vV] | [dD][lL] | [dD][tT] | [eE][mM] | [eE][mM][bB][eE][dD] | [eE][vV][eE][nN][tT][sS][oO][uU][rR][cC][eE] | [fF][iI][eE][lL][dD][sS][eE][tT] | [fF][iI][gG][uU][rR][eE] | [fF][oO][nN][tT] | [fF][oO][oO][tT][eE][rR] | [fF][oO][rR][mM] | [fF][rR][aA][mM][eE] | [fF][rR][aA][mM][eE][sS][eE][tT] | [hH][123456] | [hH][eE][aA][dD] | [hH][eE][aA][dD][eE][rR] | [hH][rR] | [hH][tT][mM][lL] | [iI] | [iI][fF][rR][aA][mM][eE] | [iI][lL][aA][yY][eE][rR] | [iI][mM][gG] | [iI][nN][pP][uU][tT] | [iI][nN][sS] | [iI][sS][iI][nN][dD][eE][xX] | [kK][bB][dD] | [kK][eE][yY][gG][eE][nN] | [lL][aA][bB][eE][lL] | [lL][aA][yY][eE][rR] | [lL][eE][gG][eE][nN][dD] | [lL][iI] | [lL][iI][nN][kK] | [mM][aA][pP] | [mM][aA][rR][kK] | [mM][aA][rR][qQ][uU][eE][eE] | [mM][eE][nN][uU] | [mM][eE][tT][aA] | [mM][eE][tT][eE][rR] | [mM][uU][lL][tT][iI][cC][oO][lL] | [nN][aA][vV] | [nN][eE][sS][tT] | [nN][oO][bB][rR] | [nN][oO][eE][mM][bB][eE][dD] | [nN][oO][fF][rR][aA][mM][eE][sS] | [nN][oO][lL][aA][yY][eE][rR] | [nN][oO][sS][cC][rR][iI][pP][tT] | [oO][bB][jJ][eE][cC][tT] | [oO][lL] | [oO][pP][tT][gG][rR][oO][uU][pP] | [oO][pP][tT][iI][oO][nN] | [oO][uU][tT][pP][uU][tT] | [pP] | [pP][aA][rR][aA][mM] | [pP][lL][aA][iI][nN][tT][eE][xX][tT] | [pP][rR][eE] | [pP][rR][oO][gG][rR][eE][sS][sS] | [qQ] | [rR][uU][lL][eE] | [sS] | [sS][aA][mM][pP] | [sS][cC][rR][iI][pP][tT] | [sS][eE][cC][tT][iI][oO][nN] | [sS][eE][lL][eE][cC][tT] | [sS][eE][rR][vV][eE][rR] | [sS][mM][aA][lL][lL] | [sS][oO][uU][rR][cC][eE] | [sS][pP][aA][cC][eE][rR] | [sS][pP][aA][nN] | [sS][tT][rR][iI][kK][eE] | [sS][tT][rR][oO][nN][gG] | [sS][tT][yY][lL][eE] | [sS][uU][bB] | [sS][uU][pP] | [tT][aA][bB][lL][eE] | [tT][bB][oO][dD][yY] | [tT][dD] | [tT][eE][xX][tT][aA][rR][eE][aA] | [tT][fF][oO][oO][tT] | [tT][hH] | [tT][hH][eE][aA][dD] | [tT][iI][mM][eE] | [tT][iI][tT][lL][eE] | [tT][rR] | [tT][tT] | [uU] | [uU][lL] | [vV][aA][rR] | [vV][iI][dD][eE][oO] { addToken(Token.MARKUP_TAG_NAME); } {InTagIdentifier} { /* A non-recognized HTML tag name */ yypushback(yylength()); yybegin(INTAG); } . { /* Shouldn't happen */ yypushback(1); yybegin(INTAG); } <> { addToken(zzMarkedPos,zzMarkedPos, INTERNAL_INTAG); return firstToken; } } { {JspStart} { addToken(Token.MARKUP_TAG_DELIMITER); jspInState = zzLexicalState; yybegin(JAVA_EXPRESSION); } "/" { addToken(Token.MARKUP_TAG_DELIMITER); } {InTagIdentifier} { addToken(Token.MARKUP_TAG_ATTRIBUTE); } {Whitespace} { addToken(Token.WHITESPACE); } "=" { addToken(Token.OPERATOR); } "/>" { yybegin(YYINITIAL); addToken(Token.MARKUP_TAG_DELIMITER); } ">" { yybegin(YYINITIAL); addToken(Token.MARKUP_TAG_DELIMITER); } [\"] { start = zzMarkedPos-1; yybegin(INATTR_DOUBLE); } [\'] { start = zzMarkedPos-1; yybegin(INATTR_SINGLE); } <> { addToken(zzMarkedPos,zzMarkedPos, INTERNAL_INTAG); return firstToken; } } { {JspStart} { 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); } [^\"<]* {} "<" { /* Allowing JSP expressions, etc. */ } [\"] { addToken(start,zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); yybegin(INTAG); } <> { addToken(start,zzStartRead-1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); addEndToken(INTERNAL_ATTR_DOUBLE); return firstToken; } } { {JspStart} { 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); } [^\'<]* {} "<" { /* Allowing JSP expressions, etc. */ } [\'] { addToken(start,zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); yybegin(INTAG); } <> { addToken(start,zzStartRead-1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); addEndToken(INTERNAL_ATTR_SINGLE); return firstToken; } } { {JspStart} { addToken(Token.MARKUP_TAG_DELIMITER); jspInState = zzLexicalState; yybegin(JAVA_EXPRESSION); } {InTagIdentifier} { addToken(Token.MARKUP_TAG_ATTRIBUTE); } "/>" { addToken(Token.MARKUP_TAG_DELIMITER); yybegin(YYINITIAL); } "/" { addToken(Token.MARKUP_TAG_DELIMITER); } // Won't appear in valid HTML. {Whitespace}+ { addToken(Token.WHITESPACE); } "=" { addToken(Token.OPERATOR); } ">" { addToken(Token.MARKUP_TAG_DELIMITER); yybegin(JAVASCRIPT, LANG_INDEX_JS); } [\"] { start = zzMarkedPos-1; yybegin(INATTR_DOUBLE_SCRIPT); } [\'] { start = zzMarkedPos-1; yybegin(INATTR_SINGLE_SCRIPT); } <> { addToken(zzMarkedPos,zzMarkedPos, INTERNAL_INTAG_SCRIPT); return firstToken; } } { {JspStart} { 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); } [^\"<]* {} "<" { /* Allowing JSP expressions, etc. */ } [\"] { yybegin(INTAG_SCRIPT); addToken(start,zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); } <> { addToken(start,zzStartRead-1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); addEndToken(INTERNAL_ATTR_DOUBLE_QUOTE_SCRIPT); return firstToken; } } { {JspStart} { 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); } [^\'<]* {} "<" { /* Allowing JSP expressions, etc. */ } [\'] { yybegin(INTAG_SCRIPT); addToken(start,zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); } <> { addToken(start,zzStartRead-1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); addEndToken(INTERNAL_ATTR_SINGLE_QUOTE_SCRIPT); return firstToken; } } { {InTagIdentifier} { addToken(Token.MARKUP_TAG_ATTRIBUTE); } "/>" { addToken(Token.MARKUP_TAG_DELIMITER); yybegin(YYINITIAL); } "/" { addToken(Token.MARKUP_TAG_DELIMITER); } // Won't appear in valid HTML. {Whitespace} { addToken(Token.WHITESPACE); } "=" { addToken(Token.OPERATOR); } ">" { addToken(Token.MARKUP_TAG_DELIMITER); yybegin(CSS, LANG_INDEX_CSS); } [\"] { start = zzMarkedPos-1; yybegin(INATTR_DOUBLE_STYLE); } [\'] { start = zzMarkedPos-1; yybegin(INATTR_SINGLE_STYLE); } <> { addToken(zzMarkedPos,zzMarkedPos, INTERNAL_INTAG_STYLE); return firstToken; } } { [^\"]* {} [\"] { yybegin(INTAG_STYLE); addToken(start,zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); } <> { addToken(start,zzStartRead-1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); addEndToken(INTERNAL_ATTR_DOUBLE_QUOTE_STYLE); return firstToken; } } { [^\']* {} [\'] { yybegin(INTAG_STYLE); addToken(start,zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); } <> { addToken(start,zzStartRead-1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); addEndToken(INTERNAL_ATTR_SINGLE_QUOTE_STYLE); return firstToken; } } { {EndScriptTag} { 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); } // ECMA 3+ keywords. "break" | "continue" | "delete" | "else" | "for" | "function" | "if" | "in" | "new" | "this" | "typeof" | "var" | "void" | "while" | "with" { addToken(Token.RESERVED_WORD); } "return" { addToken(Token.RESERVED_WORD_2); } //JavaScript 1.6 "each" {if(JavaScriptTokenMaker.isJavaScriptCompatible("1.6")){ addToken(Token.RESERVED_WORD);} else {addToken(Token.IDENTIFIER);} } //JavaScript 1.7 "let" {if(JavaScriptTokenMaker.isJavaScriptCompatible("1.7")){ addToken(Token.RESERVED_WORD);} else {addToken(Token.IDENTIFIER);} } // Reserved (but not yet used) ECMA keywords. "abstract" | "case" | "catch" | "class" | "const" | "debugger" | "default" | "do" | "enum" | "export" | "extends" | "final" | "finally" | "goto" | "implements" | "import" | "instanceof" | "interface" | "native" | "package" | "private" | "protected" | "public" | "static" | "super" | "switch" | "synchronized" | "throw" | "throws" | "transient" | "try" | "volatile" | "null" { addToken(Token.RESERVED_WORD); } {PrimitiveTypes} { addToken(Token.DATA_TYPE); } // Literals. {BooleanLiteral} { addToken(Token.LITERAL_BOOLEAN); } "NaN" { addToken(Token.RESERVED_WORD); } "Infinity" { addToken(Token.RESERVED_WORD); } // Functions. "eval" | "parseInt" | "parseFloat" | "escape" | "unescape" | "isNaN" | "isFinite" { addToken(Token.FUNCTION); } {LineTerminator} { addEndToken(INTERNAL_IN_JS); return firstToken; } {JS_Identifier} { addToken(Token.IDENTIFIER); } {Whitespace}+ { addToken(Token.WHITESPACE); } /* String/Character literals. */ [\'] { start = zzMarkedPos-1; validJSString = true; yybegin(JS_CHAR); } [\"] { start = zzMarkedPos-1; validJSString = true; yybegin(JS_STRING); } /* Comment literals. */ "/**/" { addToken(Token.COMMENT_MULTILINE); } {JS_MLCBegin} { start = zzMarkedPos-2; yybegin(JS_MLC); } {JS_LineCommentBegin} { start = zzMarkedPos-2; yybegin(JS_EOL_COMMENT); } /* Attempt to identify regular expressions (not foolproof) - do after comments! */ {JS_Regex} { 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; } } // 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; } } /* Separators. */ {JS_Separator} { addToken(Token.SEPARATOR); } {JS_Separator2} { addToken(Token.IDENTIFIER); } {JspStart} { addToken(Token.MARKUP_TAG_DELIMITER); jspInState = zzLexicalState; yybegin(JAVA_EXPRESSION); } /* Operators. */ {JS_Operator} { addToken(Token.OPERATOR); } /* Numbers */ {JS_IntegerLiteral} { addToken(Token.LITERAL_NUMBER_DECIMAL_INT); } {JS_HexLiteral} { addToken(Token.LITERAL_NUMBER_HEXADECIMAL); } {JS_FloatLiteral} { addToken(Token.LITERAL_NUMBER_FLOAT); } {JS_ErrorNumberFormat} { addToken(Token.ERROR_NUMBER_FORMAT); } {JS_ErrorIdentifier} { addToken(Token.ERROR_IDENTIFIER); } /* Ended with a line not in a string or comment. */ <> { addEndToken(INTERNAL_IN_JS); return firstToken; } /* Catch any other (unhandled) characters and flag them as bad. */ . { addToken(Token.ERROR_IDENTIFIER); } } { [^\n\\\"]+ {} \n { addToken(start,zzStartRead-1, Token.ERROR_STRING_DOUBLE); addEndToken(INTERNAL_IN_JS); return firstToken; } \\x{HexDigit}{2} {} \\x { /* Invalid latin-1 character \xXX */ validJSString = false; } \\u{HexDigit}{4} {} \\u { /* Invalid Unicode character \\uXXXX */ validJSString = false; } \\. { /* Skip all escaped chars. */ } \\ { /* 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; } \" { int type = validJSString ? Token.LITERAL_STRING_DOUBLE_QUOTE : Token.ERROR_STRING_DOUBLE; addToken(start,zzStartRead, type); yybegin(JAVASCRIPT); } <> { addToken(start,zzStartRead-1, Token.ERROR_STRING_DOUBLE); addEndToken(INTERNAL_IN_JS); return firstToken; } } { [^\n\\\']+ {} \n { addToken(start,zzStartRead-1, Token.ERROR_CHAR); addEndToken(INTERNAL_IN_JS); return firstToken; } \\x{HexDigit}{2} {} \\x { /* Invalid latin-1 character \xXX */ validJSString = false; } \\u{HexDigit}{4} {} \\u { /* Invalid Unicode character \\uXXXX */ validJSString = false; } \\. { /* Skip all escaped chars. */ } \\ { /* 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; } \' { int type = validJSString ? Token.LITERAL_CHAR : Token.ERROR_CHAR; addToken(start,zzStartRead, type); yybegin(JAVASCRIPT); } <> { addToken(start,zzStartRead-1, Token.ERROR_CHAR); addEndToken(INTERNAL_IN_JS); return firstToken; } } { // JavaScript MLC's. This state is essentially Java's MLC state. [^hwf<\n\*]+ {} {URL} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_EOL); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_EOL); start = zzMarkedPos; } [hwf] {} {EndScriptTag} { 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); } "<" {} \n { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addEndToken(INTERNAL_IN_JS_MLC); return firstToken; } {JS_MLCEnd} { yybegin(JAVASCRIPT); addToken(start,zzStartRead+1, Token.COMMENT_MULTILINE); } \* {} <> { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addEndToken(INTERNAL_IN_JS_MLC); return firstToken; } } { [^hwf<\n]+ {} {URL} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_EOL); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_EOL); start = zzMarkedPos; } [hwf] {} {EndScriptTag} { 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); } "<" {} \n { addToken(start,zzStartRead-1, Token.COMMENT_EOL); addEndToken(INTERNAL_IN_JS); return firstToken; } <> { addToken(start,zzStartRead-1, Token.COMMENT_EOL); addEndToken(INTERNAL_IN_JS); return firstToken; } } { {EndStyleTag} { 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); } {CSS_SelectorPiece} { addToken(Token.DATA_TYPE); } {CSS_PseudoClass} { addToken(Token.RESERVED_WORD); } ":" { /* Unknown pseudo class */ addToken(Token.DATA_TYPE); } {CSS_AtKeyword} { addToken(Token.REGEX); } {CSS_Id} { addToken(Token.VARIABLE); } "{" { addToken(Token.SEPARATOR); yybegin(CSS_PROPERTY); } [,] { addToken(Token.IDENTIFIER); } \" { start = zzMarkedPos-1; cssPrevState = zzLexicalState; yybegin(CSS_STRING); } \' { start = zzMarkedPos-1; cssPrevState = zzLexicalState; yybegin(CSS_CHAR_LITERAL); } [+>~\^$\|=] { addToken(Token.OPERATOR); } {CSS_Separator} { addToken(Token.SEPARATOR); } {Whitespace} { addToken(Token.WHITESPACE); } {CSS_MlcStart} { start = zzMarkedPos-2; cssPrevState = zzLexicalState; yybegin(CSS_C_STYLE_COMMENT); } . { /*System.out.println("CSS: " + yytext());*/ addToken(Token.IDENTIFIER); } "\n" | <> { addEndToken(INTERNAL_CSS); return firstToken; } } { {EndStyleTag} { 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); } {CSS_Property} { addToken(Token.RESERVED_WORD); } "}" { addToken(Token.SEPARATOR); yybegin(CSS); } ":" { addToken(Token.OPERATOR); yybegin(CSS_VALUE); } {Whitespace} { addToken(Token.WHITESPACE); } {CSS_MlcStart} { start = zzMarkedPos-2; cssPrevState = zzLexicalState; yybegin(CSS_C_STYLE_COMMENT); } . { /*System.out.println("css_property: " + yytext());*/ addToken(Token.IDENTIFIER); } "\n" | <> { addEndToken(INTERNAL_CSS_PROPERTY); return firstToken; } } { {EndStyleTag} { 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); } {CSS_Value} { addToken(Token.IDENTIFIER); } "!important" { addToken(Token.ANNOTATION); } {CSS_Function} { int temp = zzMarkedPos - 2; addToken(zzStartRead, temp, Token.FUNCTION); addToken(zzMarkedPos-1, zzMarkedPos-1, Token.SEPARATOR); zzStartRead = zzCurrentPos = zzMarkedPos; } {CSS_Number} { addToken(Token.LITERAL_NUMBER_DECIMAL_INT); } \" { start = zzMarkedPos-1; cssPrevState = zzLexicalState; yybegin(CSS_STRING); } \' { start = zzMarkedPos-1; cssPrevState = zzLexicalState; yybegin(CSS_CHAR_LITERAL); } ")" { /* End of a function */ addToken(Token.SEPARATOR); } [;] { addToken(Token.OPERATOR); yybegin(CSS_PROPERTY); } [,\.] { addToken(Token.IDENTIFIER); } "}" { addToken(Token.SEPARATOR); yybegin(CSS); } {Whitespace} { addToken(Token.WHITESPACE); } {CSS_MlcStart} { start = zzMarkedPos-2; cssPrevState = zzLexicalState; yybegin(CSS_C_STYLE_COMMENT); } . { /*System.out.println("css_value: " + yytext());*/ addToken(Token.IDENTIFIER); } "\n" | <> { addEndToken(INTERNAL_CSS_VALUE); return firstToken; } } { [^\n\\\"]+ {} \\.? { /* Skip escaped chars. */ } \" { addToken(start,zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); yybegin(cssPrevState); } \n | <> { addToken(start,zzStartRead-1, Token.LITERAL_STRING_DOUBLE_QUOTE); addEndToken(INTERNAL_CSS_STRING - cssPrevState); return firstToken; } } { [^\n\\\']+ {} \\.? { /* Skip escaped chars. */ } \' { addToken(start,zzStartRead, Token.LITERAL_CHAR); yybegin(cssPrevState); } \n | <> { addToken(start,zzStartRead-1, Token.LITERAL_CHAR); addEndToken(INTERNAL_CSS_CHAR - cssPrevState); return firstToken; } } { [^hwf\n\*]+ {} {URL} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_MULTILINE); start = zzMarkedPos; } [hwf] {} {CSS_MlcEnd} { addToken(start,zzStartRead+1, Token.COMMENT_MULTILINE); yybegin(cssPrevState); } \* {} \n | <> { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addEndToken(INTERNAL_CSS_MLC - cssPrevState); return firstToken; } } { "%>" { addToken(Token.MARKUP_TAG_DELIMITER); start = zzMarkedPos; yybegin(jspInState); } /* Keywords */ "abstract"| "assert" | "break" | "case" | "catch" | "class" | "const" | "continue" | "default" | "do" | "else" | "enum" | "extends" | "final" | "finally" | "for" | "goto" | "if" | "implements" | "import" | "instanceof" | "interface" | "native" | "new" | "null" | "package" | "private" | "protected" | "public" | "static" | "strictfp" | "super" | "switch" | "synchronized" | "this" | "throw" | "throws" | "transient" | "try" | "void" | "volatile" | "while" { addToken(Token.RESERVED_WORD); } "return" { addToken(Token.RESERVED_WORD_2); } /* Data types. */ {PrimitiveTypes} { addToken(Token.DATA_TYPE); } /* Booleans. */ {BooleanLiteral} { addToken(Token.LITERAL_BOOLEAN); } /* java.lang classes */ "Appendable" | "AutoCloseable" | "CharSequence" | "Cloneable" | "Comparable" | "Iterable" | "Readable" | "Runnable" | "Thread.UncaughtExceptionHandler" | "Boolean" | "Byte" | "Character" | "Character.Subset" | "Character.UnicodeBlock" | "Class" | "ClassLoader" | "Compiler" | "Double" | "Enum" | "Float" | "InheritableThreadLocal" | "Integer" | "Long" | "Math" | "Number" | "Object" | "Package" | "Process" | "ProcessBuilder" | "ProcessBuilder.Redirect" | "Runtime" | "RuntimePermission" | "SecurityManager" | "Short" | "StackTraceElement" | "StrictMath" | "String" | "StringBuffer" | "StringBuilder" | "System" | "Thread" | "ThreadGroup" | "ThreadLocal" | "Throwable" | "Void" | "Character.UnicodeScript" | "ProcessBuilder.Redirect.Type" | "Thread.State" | "ArithmeticException" | "ArrayIndexOutOfBoundsException" | "ArrayStoreException" | "ClassCastException" | "ClassNotFoundException" | "CloneNotSupportedException" | "EnumConstantNotPresentException" | "Exception" | "IllegalAccessException" | "IllegalArgumentException" | "IllegalMonitorStateException" | "IllegalStateException" | "IllegalThreadStateException" | "IndexOutOfBoundsException" | "InstantiationException" | "InterruptedException" | "NegativeArraySizeException" | "NoSuchFieldException" | "NoSuchMethodException" | "NullPointerException" | "NumberFormatException" | "RuntimeException" | "SecurityException" | "StringIndexOutOfBoundsException" | "TypeNotPresentException" | "UnsupportedOperationException" | "AbstractMethodError" | "AssertionError" | "ClassCircularityError" | "ClassFormatError" | "Error" | "ExceptionInInitializerError" | "IllegalAccessError" | "IncompatibleClassChangeError" | "InstantiationError" | "InternalError" | "LinkageError" | "NoClassDefFoundError" | "NoSuchFieldError" | "NoSuchMethodError" | "OutOfMemoryError" | "StackOverflowError" | "ThreadDeath" | "UnknownError" | "UnsatisfiedLinkError" | "UnsupportedClassVersionError" | "VerifyError" | "VirtualMachineError" { addToken(Token.FUNCTION); } {LineTerminator} { addEndToken(INTERNAL_IN_JAVA_EXPRESSION - jspInState); return firstToken; } {JIdentifier} { addToken(Token.IDENTIFIER); } {WhiteSpace}+ { addToken(Token.WHITESPACE); } /* String/Character literals. */ {JCharLiteral} { addToken(Token.LITERAL_CHAR); } {JUnclosedCharLiteral} { addToken(Token.ERROR_CHAR); addEndToken(INTERNAL_IN_JAVA_EXPRESSION - jspInState); return firstToken; } {JErrorCharLiteral} { addToken(Token.ERROR_CHAR); } {JStringLiteral} { addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); } {JUnclosedStringLiteral} { addToken(Token.ERROR_STRING_DOUBLE); addEndToken(INTERNAL_IN_JAVA_EXPRESSION - jspInState); return firstToken; } {JErrorStringLiteral} { addToken(Token.ERROR_STRING_DOUBLE); } /* Comment literals. */ "/**/" { addToken(Token.COMMENT_MULTILINE); } {MLCBegin} { start = zzMarkedPos-2; yybegin(JAVA_MLC); } {DocCommentBegin} { start = zzMarkedPos-3; yybegin(JAVA_DOCCOMMENT); } {LineCommentBegin}.* { addToken(Token.COMMENT_EOL); addEndToken(INTERNAL_IN_JAVA_EXPRESSION - jspInState); return firstToken; } /* Annotations. */ {Annotation} { addToken(Token.ANNOTATION); } /* Separators. */ {Separator} { addToken(Token.SEPARATOR); } {Separator2} { addToken(Token.IDENTIFIER); } /* Operators. */ {Operator} { addToken(Token.OPERATOR); } /* Numbers */ {IntegerLiteral} { addToken(Token.LITERAL_NUMBER_DECIMAL_INT); } {HexLiteral} { addToken(Token.LITERAL_NUMBER_HEXADECIMAL); } {FloatLiteral} { addToken(Token.LITERAL_NUMBER_FLOAT); } {ErrorNumberFormat} { addToken(Token.ERROR_NUMBER_FORMAT); } {ErrorIdentifier} { addToken(Token.ERROR_IDENTIFIER); } /* Ended with a line not in a string or comment. */ <> { addEndToken(INTERNAL_IN_JAVA_EXPRESSION - jspInState); return firstToken; } /* Catch any other (unhandled) characters and flag them as bad. */ . { addToken(Token.ERROR_IDENTIFIER); } } { [^hwf\n\*]+ {} {URL} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_MULTILINE); start = zzMarkedPos; } [hwf] {} {MLCEnd} { yybegin(JAVA_EXPRESSION); addToken(start,zzStartRead+1, Token.COMMENT_MULTILINE); } \* {} \n | <> { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addEndToken(INTERNAL_IN_JAVA_MLC - jspInState); return firstToken; } } { [^hwf\@\{\n\<\*]+ {} {URL} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_DOCUMENTATION); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_DOCUMENTATION); start = zzMarkedPos; } [hwf] {} "@"{BlockTag} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_DOCUMENTATION); addToken(temp,zzMarkedPos-1, Token.COMMENT_KEYWORD); start = zzMarkedPos; } "@" {} "{@"{InlineTag}[^\}]*"}" { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_DOCUMENTATION); addToken(temp,zzMarkedPos-1, Token.COMMENT_KEYWORD); start = zzMarkedPos; } "{" {} \n { addToken(start,zzStartRead-1, Token.COMMENT_DOCUMENTATION); addEndToken(INTERNAL_IN_JAVA_DOCCOMMENT - jspInState); return firstToken; } "<"[/]?({Letter}[^\>]*)?">" { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_DOCUMENTATION); addToken(temp,zzMarkedPos-1, Token.COMMENT_MARKUP); start = zzMarkedPos; } \< {} {MLCEnd} { yybegin(JAVA_EXPRESSION); addToken(start,zzStartRead+1, Token.COMMENT_DOCUMENTATION); } \* {} <> { yybegin(JAVA_EXPRESSION); addToken(start,zzEndRead, Token.COMMENT_DOCUMENTATION); addEndToken(INTERNAL_IN_JAVA_DOCCOMMENT - jspInState); return firstToken; } } { "include" | "page" | "taglib" { addToken(Token.RESERVED_WORD); } "/" { addToken(Token.RESERVED_WORD); } {InTagIdentifier} { addToken(Token.IDENTIFIER); } {Whitespace}+ { addToken(Token.WHITESPACE); } "=" { addToken(Token.OPERATOR); } "%>" { yybegin(YYINITIAL); addToken(Token.MARKUP_TAG_DELIMITER); } "%" { addToken(Token.IDENTIFIER); } ">" { addToken(Token.IDENTIFIER); /* Needed as InTagIdentifier ignores it. */ } {UnclosedStringLiteral} { addToken(Token.ERROR_STRING_DOUBLE); } {StringLiteral} { addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); } {UnclosedCharLiteral} { addToken(Token.ERROR_CHAR); } {CharLiteral} { addToken(Token.LITERAL_CHAR); } <> { addToken(zzMarkedPos,zzMarkedPos, INTERNAL_IN_JSP_DIRECTIVE); return firstToken; } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/JSPTokenMaker.java0000644000175000001440000076311112202002502027141 0ustar benusers/* The following code was generated by JFlex 1.4.1 on 3/23/13 9:52 AM */ /* * 02/11/2008 * * JSPTokenMaker.java - Generates tokens for JSP syntax highlighting. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.*; /** * Scanner for JSP files (supporting HTML 5). * * 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * 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.
  • *
  • You should NOT call yylex() on the generated scanner * 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 */ public static final int INATTR_SINGLE_SCRIPT = 10; public static final int JS_CHAR = 16; public static final int JAVA_EXPRESSION = 21; public static final int CSS_STRING = 27; public static final int HIDDEN_COMMENT = 19; public static final int JS_MLC = 17; public static final int CSS_CHAR_LITERAL = 28; public static final int JAVA_DOCCOMMENT = 20; public static final int INTAG_SCRIPT = 8; public static final int CSS_PROPERTY = 25; public static final int CSS_C_STYLE_COMMENT = 29; public static final int CSS = 24; public static final int CSS_VALUE = 26; public static final int JSP_DIRECTIVE = 23; public static final int COMMENT = 1; public static final int INATTR_DOUBLE_SCRIPT = 9; public static final int PI = 2; public static final int JAVASCRIPT = 14; public static final int INTAG = 4; public static final int INTAG_CHECK_TAG_NAME = 5; public static final int INATTR_SINGLE_STYLE = 13; public static final int DTD = 3; public static final int JS_EOL_COMMENT = 18; public static final int INATTR_DOUBLE_STYLE = 12; public static final int INATTR_SINGLE = 7; public static final int YYINITIAL = 0; public static final int INATTR_DOUBLE = 6; public static final int JS_STRING = 15; public static final int JAVA_MLC = 22; public static final int INTAG_STYLE = 11; /** * Translates characters to character classes */ private static final String ZZ_CMAP_PACKED = "\11\0\1\4\1\2\1\0\1\1\1\45\22\0\1\4\1\26\1\10"+ "\1\46\1\47\1\25\1\5\1\11\1\111\1\110\1\50\1\54\1\63"+ "\1\35\1\55\1\12\1\31\3\44\3\124\1\33\2\30\1\66\1\6"+ "\1\3\1\7\1\21\1\65\1\104\1\112\1\32\1\14\1\101\1\24"+ "\1\52\1\117\1\123\1\16\1\125\1\120\1\23\1\115\1\114\1\113"+ "\1\17\1\121\1\15\1\13\1\20\1\116\1\122\1\27\1\51\1\22"+ "\1\27\1\107\1\36\1\107\1\64\1\34\1\0\1\57\1\43\1\74"+ "\1\72\1\56\1\53\1\106\1\70\1\76\1\131\1\77\1\60\1\100"+ "\1\42\1\71\1\73\1\130\1\40\1\61\1\41\1\37\1\103\1\102"+ "\1\75\1\105\1\126\1\127\1\64\1\62\1\67\uff81\0"; /** * Translates characters to character classes */ private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED); /** * Translates DFA states to action switch labels. */ private static final int [] ZZ_ACTION = zzUnpackAction(); private static final String ZZ_ACTION_PACKED_0 = "\6\0\2\1\1\0\2\1\1\0\2\1\14\0\1\2"+ "\3\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\10\2\1\1\1\44\1\45\1\46\1\1\1\47"+ "\1\50\1\51\1\1\1\52\6\1\1\53\1\1\1\54"+ "\2\1\1\55\7\1\1\56\1\14\1\57\1\60\1\14"+ "\10\2\1\14\16\2\1\61\6\2\1\1\1\62\4\1"+ "\2\2\1\63\1\64\1\65\1\66\4\2\1\67\1\70"+ "\1\67\1\71\1\72\1\67\1\73\1\67\1\74\1\67"+ "\1\75\1\76\1\77\2\76\1\65\1\76\1\100\1\101"+ "\1\102\1\103\1\102\1\104\2\2\1\102\1\42\1\2"+ "\1\102\1\105\1\106\1\107\1\110\1\111\1\112\1\113"+ "\1\114\1\1\1\4\2\115\1\116\1\117\1\120\1\6"+ "\5\0\1\121\1\116\32\21\2\23\2\21\1\23\44\21"+ "\1\122\1\123\2\0\1\116\1\0\1\14\1\124\1\0"+ "\1\125\1\36\1\2\1\14\1\126\1\42\1\126\2\127"+ "\1\126\1\130\1\126\37\2\1\65\7\2\2\65\7\2"+ "\1\131\1\132\1\133\1\0\1\134\10\0\1\135\1\136"+ "\20\0\1\57\1\137\1\57\1\60\1\0\1\64\1\60"+ "\1\140\1\141\25\2\1\142\12\2\1\61\17\2\1\143"+ "\4\0\1\144\3\2\1\0\1\145\1\146\15\0\1\147"+ "\1\0\1\42\5\0\1\42\1\111\1\150\1\151\2\115"+ "\1\116\1\0\1\152\1\0\1\153\4\0\1\116\14\21"+ "\1\23\63\21\1\122\1\0\1\154\1\0\1\36\1\2"+ "\1\127\1\0\2\130\30\2\1\155\23\2\1\73\11\2"+ "\40\0\1\63\1\57\1\0\2\57\1\60\1\0\1\64"+ "\3\60\1\156\41\2\1\36\23\2\4\0\3\2\25\0"+ "\2\115\1\157\1\160\2\0\1\161\21\21\1\23\12\21"+ "\1\23\6\21\1\0\1\162\1\36\2\2\1\163\6\2"+ "\1\73\3\2\1\164\3\2\1\165\23\2\1\0\1\1"+ "\3\0\1\166\1\0\1\167\2\0\1\170\10\0\1\171"+ "\15\0\3\57\1\60\30\2\1\165\4\2\1\36\22\2"+ "\2\0\1\172\1\2\1\65\1\2\23\0\2\115\2\0"+ "\12\21\1\23\11\21\1\0\1\36\3\2\1\65\3\2"+ "\1\65\16\2\35\0\3\57\1\60\5\2\1\165\25\2"+ "\1\36\20\2\2\0\2\2\16\0\1\115\1\173\12\21"+ "\1\0\1\36\1\2\1\174\14\2\24\0\2\57\1\60"+ "\1\165\24\2\1\165\6\2\1\36\10\2\1\165\10\2"+ "\12\0\1\175\3\21\1\0\6\2\4\0\1\171\6\0"+ "\1\57\14\2\1\165\7\2\1\165\1\2\1\0\6\2"+ "\1\36\21\2\6\0\1\21\1\0\2\2\13\0\1\57"+ "\31\2\2\0\22\2\1\176\4\0\1\21\1\177\1\2"+ "\1\200\1\201\5\0\13\2\1\165\15\2\2\0\3\2"+ "\1\165\15\2\10\0\10\2\1\0\15\2\2\0\16\2"+ "\3\0\1\61\2\0\6\2\2\0\13\2\2\0\17\2"+ "\2\0\12\2\1\165\1\0\15\2\2\0\10\2\1\0"+ "\11\2\2\0\4\2\1\165\1\0\5\2\2\0\3\2"+ "\2\0\4\2\1\0\2\2\2\0\3\2\1\0\2\2"+ "\2\0\3\2\2\0\1\2\2\0\3\2\2\0\1\2"+ "\2\0\3\2\2\0\1\2\2\0\1\2\4\0\1\2"+ "\2\0\1\165\13\0"; private static int [] zzUnpackAction() { int [] result = new int[1643]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } private static int zzUnpackAction(String packed, int offset, int [] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } 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\132\0\264\0\u010e\0\u0168\0\u01c2\0\u021c\0\u0276"+ "\0\u02d0\0\u032a\0\u0384\0\u03de\0\u0438\0\u0492\0\u04ec\0\u0546"+ "\0\u05a0\0\u05fa\0\u0654\0\u06ae\0\u0708\0\u0762\0\u07bc\0\u0816"+ "\0\u0870\0\u08ca\0\u0924\0\u097e\0\u09d8\0\u0a32\0\u0a8c\0\u0ae6"+ "\0\u0b40\0\u0b9a\0\u0bf4\0\u0c4e\0\u0ca8\0\u0b40\0\u0d02\0\u0d5c"+ "\0\u0db6\0\u0e10\0\u0e6a\0\u0b40\0\u0ec4\0\u0f1e\0\u0b40\0\u0b40"+ "\0\u0f78\0\u0fd2\0\u0b40\0\u0b40\0\u0b40\0\u0b40\0\u102c\0\u0b40"+ "\0\u1086\0\u0b40\0\u10e0\0\u113a\0\u1194\0\u11ee\0\u1248\0\u12a2"+ "\0\u12fc\0\u1356\0\u13b0\0\u140a\0\u1464\0\u14be\0\u1518\0\u1572"+ "\0\u15cc\0\u1626\0\u1680\0\u16da\0\u1734\0\u1086\0\u178e\0\u17e8"+ "\0\u0b40\0\u1842\0\u189c\0\u0b40\0\u0b40\0\u18f6\0\u0b40\0\u0b40"+ "\0\u0b40\0\u0b40\0\u0b40\0\u1950\0\u0b40\0\u19aa\0\u1a04\0\u0b40"+ "\0\u1a5e\0\u1ab8\0\u0b40\0\u1b12\0\u0b40\0\u0b40\0\u1b6c\0\u1bc6"+ "\0\u1c20\0\u1c7a\0\u1cd4\0\u1d2e\0\u1d88\0\u1de2\0\u1e3c\0\u1e96"+ "\0\u1ef0\0\u1f4a\0\u0b40\0\u1fa4\0\u1ffe\0\u2058\0\u20b2\0\u210c"+ "\0\u2166\0\u21c0\0\u0b40\0\u221a\0\u2274\0\u22ce\0\u2328\0\u2382"+ "\0\u23dc\0\u2436\0\u2490\0\u24ea\0\u0b40\0\u0b40\0\u2544\0\u259e"+ "\0\u0b40\0\u0b40\0\u2544\0\u25f8\0\u0b40\0\u2652\0\u26ac\0\u2706"+ "\0\u2760\0\u27ba\0\u2814\0\u0b40\0\u286e\0\u0b40\0\u28c8\0\u2922"+ "\0\u0b40\0\u297c\0\u29d6\0\u2a30\0\u2a8a\0\u2ae4\0\u2b3e\0\u2b98"+ "\0\u0b40\0\u2bf2\0\u2c4c\0\u2ca6\0\u2d00\0\u2d5a\0\u2db4\0\u2e0e"+ "\0\u2e68\0\u2ec2\0\u2f1c\0\u2f76\0\u2fd0\0\u302a\0\u3084\0\u30de"+ "\0\u3138\0\u3192\0\u31ec\0\u3246\0\u32a0\0\u32fa\0\u3354\0\u33ae"+ "\0\u3408\0\u3462\0\u34bc\0\u3516\0\u3570\0\u35ca\0\u3624\0\u367e"+ "\0\u36d8\0\u3732\0\u378c\0\u37e6\0\u0b40\0\u3840\0\u389a\0\u38f4"+ "\0\u394e\0\u39a8\0\u3a02\0\u3a5c\0\u3ab6\0\u0b40\0\u0b40\0\u3b10"+ "\0\u3b6a\0\u3bc4\0\u3c1e\0\u0b40\0\u0b40\0\u3c78\0\u0b40\0\u0b40"+ "\0\u3cd2\0\u3d2c\0\u3d86\0\u3de0\0\u3e3a\0\u0b40\0\u0b40\0\u0b40"+ "\0\u3c78\0\u3cd2\0\u3e94\0\u3eee\0\u0b40\0\u0b40\0\u0b40\0\u0b40"+ "\0\u3c78\0\u0b40\0\u3f48\0\u3fa2\0\u3ffc\0\u4056\0\u40b0\0\u410a"+ "\0\u0b40\0\u0b40\0\u0b40\0\u0b40\0\u4164\0\u0b40\0\u0b40\0\u0b40"+ "\0\u41be\0\u4218\0\u4272\0\u42cc\0\u4326\0\u4380\0\u0b40\0\u0b40"+ "\0\u43da\0\u4434\0\u448e\0\u44e8\0\u4542\0\u0b40\0\u459c\0\u45f6"+ "\0\u4650\0\u46aa\0\u4704\0\u475e\0\u47b8\0\u4812\0\u486c\0\u48c6"+ "\0\u4920\0\u497a\0\u49d4\0\u4a2e\0\u4a88\0\u4ae2\0\u4b3c\0\u4b96"+ "\0\u4bf0\0\u4c4a\0\u4ca4\0\u4cfe\0\u4d58\0\u4db2\0\u4e0c\0\u4e66"+ "\0\u4ec0\0\u4f1a\0\u4f74\0\u4fce\0\u5028\0\u5082\0\u50dc\0\u5136"+ "\0\u5190\0\u51ea\0\u5244\0\u529e\0\u52f8\0\u5352\0\u53ac\0\u5406"+ "\0\u5460\0\u54ba\0\u5514\0\u556e\0\u55c8\0\u5622\0\u567c\0\u56d6"+ "\0\u5730\0\u578a\0\u57e4\0\u583e\0\u5898\0\u58f2\0\u594c\0\u59a6"+ "\0\u5a00\0\u5a5a\0\u5ab4\0\u5b0e\0\u5b68\0\u5bc2\0\u5c1c\0\u5c76"+ "\0\u5cd0\0\u5d2a\0\u5d84\0\u0b40\0\u1b12\0\u5dde\0\u5e38\0\u5e92"+ "\0\u5e92\0\u0b40\0\u5eec\0\u5f46\0\u5fa0\0\u5ffa\0\u6054\0\u60ae"+ "\0\u60ae\0\u6108\0\u60ae\0\u6162\0\u61bc\0\u6216\0\u6270\0\u62ca"+ "\0\u6324\0\u637e\0\u63d8\0\u6432\0\u648c\0\u64e6\0\u6540\0\u659a"+ "\0\u65f4\0\u664e\0\u66a8\0\u6702\0\u675c\0\u67b6\0\u6810\0\u686a"+ "\0\u68c4\0\u691e\0\u6978\0\u69d2\0\u6a2c\0\u6a86\0\u6ae0\0\u6b3a"+ "\0\u6b94\0\u6bee\0\u6c48\0\u6ca2\0\u6cfc\0\u6d56\0\u6db0\0\u6e0a"+ "\0\u6e64\0\u6ebe\0\u6f18\0\u6f72\0\u6fcc\0\u7026\0\u7080\0\u1bc6"+ "\0\u70da\0\u7134\0\u718e\0\u71e8\0\u7242\0\u729c\0\u72f6\0\u0b40"+ "\0\u7350\0\u73aa\0\u7404\0\u0b40\0\u745e\0\u74b8\0\u7512\0\u756c"+ "\0\u75c6\0\u7620\0\u767a\0\u76d4\0\u0b40\0\u0b40\0\u772e\0\u7788"+ "\0\u77e2\0\u783c\0\u7896\0\u78f0\0\u794a\0\u79a4\0\u79fe\0\u7a58"+ "\0\u7ab2\0\u7b0c\0\u7b66\0\u7bc0\0\u7c1a\0\u7c74\0\u7cce\0\u0b40"+ "\0\u7d28\0\u7d82\0\u7ddc\0\u0b40\0\u7e36\0\u7e90\0\u7eea\0\u7f44"+ "\0\u7f9e\0\u7ff8\0\u8052\0\u80ac\0\u8106\0\u8160\0\u81ba\0\u8214"+ "\0\u826e\0\u82c8\0\u8322\0\u837c\0\u83d6\0\u8430\0\u848a\0\u84e4"+ "\0\u853e\0\u8598\0\u85f2\0\u864c\0\u0b40\0\u86a6\0\u8700\0\u875a"+ "\0\u87b4\0\u880e\0\u8868\0\u88c2\0\u891c\0\u7080\0\u8976\0\u89d0"+ "\0\u8a2a\0\u8a84\0\u8ade\0\u8b38\0\u8b92\0\u8bec\0\u8c46\0\u8ca0"+ "\0\u8cfa\0\u8d54\0\u8dae\0\u8e08\0\u8e62\0\u8ebc\0\u8f16\0\u0b40"+ "\0\u8f70\0\u8fca\0\u9024\0\u907e\0\u0b40\0\u90d8\0\u9132\0\u918c"+ "\0\u91e6\0\u0b40\0\u9240\0\u929a\0\u92f4\0\u934e\0\u93a8\0\u9402"+ "\0\u945c\0\u94b6\0\u9510\0\u956a\0\u95c4\0\u961e\0\u9678\0\u96d2"+ "\0\u972c\0\u9786\0\u0b40\0\u97e0\0\u983a\0\u9894\0\u98ee\0\u9948"+ "\0\u410a\0\u0b40\0\u0b40\0\u4218\0\u99a2\0\u99fc\0\u0b40\0\u9a56"+ "\0\u0b40\0\u9ab0\0\u0b40\0\u9b0a\0\u9b64\0\u9bbe\0\u9c18\0\u0f78"+ "\0\u9c72\0\u9ccc\0\u9d26\0\u9d80\0\u9dda\0\u9e34\0\u9e8e\0\u9ee8"+ "\0\u9f42\0\u9f9c\0\u9ff6\0\ua050\0\ua0aa\0\ua104\0\ua15e\0\ua1b8"+ "\0\ua212\0\ua26c\0\ua2c6\0\ua320\0\ua37a\0\ua3d4\0\ua42e\0\ua488"+ "\0\ua4e2\0\ua53c\0\ua596\0\ua5f0\0\ua64a\0\ua6a4\0\u4f74\0\ua6fe"+ "\0\ua758\0\ua7b2\0\ua80c\0\ua866\0\ua8c0\0\ua91a\0\ua974\0\ua9ce"+ "\0\uaa28\0\uaa82\0\uaadc\0\uab36\0\uab90\0\uabea\0\uac44\0\uac9e"+ "\0\uacf8\0\uad52\0\uadac\0\u140a\0\uae06\0\uae60\0\uaeba\0\uaf14"+ "\0\uaf6e\0\uafc8\0\ub022\0\ub07c\0\ub0d6\0\ub130\0\ub18a\0\ub1e4"+ "\0\u0b40\0\ub23e\0\ub298\0\ub2f2\0\ub34c\0\ub3a6\0\ub400\0\ub45a"+ "\0\u60ae\0\ub4b4\0\ub50e\0\ub568\0\ub5c2\0\ub61c\0\ub676\0\ub6d0"+ "\0\ub72a\0\ub784\0\ub7de\0\ub838\0\ub892\0\ub8ec\0\ub946\0\ub9a0"+ "\0\ub9fa\0\uba54\0\ubaae\0\ubb08\0\ubb62\0\ubbbc\0\ubc16\0\ubc70"+ "\0\ubcca\0\ubd24\0\u1bc6\0\ubd7e\0\ubdd8\0\ube32\0\ube8c\0\ubee6"+ "\0\ubf40\0\ubf9a\0\ubff4\0\uc04e\0\uc0a8\0\uc102\0\uc15c\0\uc1b6"+ "\0\uc210\0\uc26a\0\uc2c4\0\uc31e\0\uc378\0\uc3d2\0\uc42c\0\uc486"+ "\0\uc4e0\0\uc53a\0\uc594\0\uc5ee\0\uc648\0\uc6a2\0\uc6fc\0\uc756"+ "\0\uc7b0\0\uc80a\0\uc864\0\uc8be\0\uc918\0\uc972\0\uc9cc\0\uca26"+ "\0\uca80\0\ucada\0\ucb34\0\ucb8e\0\ucbe8\0\ucc42\0\ucc9c\0\uccf6"+ "\0\ucd50\0\ucdaa\0\uce04\0\uce5e\0\uceb8\0\ucf12\0\ucf6c\0\ucfc6"+ "\0\ud020\0\ud07a\0\ud0d4\0\ud12e\0\ud188\0\ud1e2\0\ud23c\0\ud296"+ "\0\u0b40\0\ud2f0\0\ud34a\0\ud3a4\0\ud3fe\0\ud458\0\ud4b2\0\ud50c"+ "\0\ud566\0\ud5c0\0\ud61a\0\ub2f2\0\ud674\0\ud6ce\0\ud728\0\ud782"+ "\0\ud7dc\0\ud836\0\ud890\0\ud8ea\0\ud944\0\ud99e\0\ud9f8\0\uda52"+ "\0\udaac\0\udb06\0\udb60\0\udbba\0\udc14\0\udc6e\0\udcc8\0\udd22"+ "\0\udd7c\0\uddd6\0\ude30\0\ude8a\0\udee4\0\udf3e\0\udf98\0\udff2"+ "\0\ue04c\0\ue0a6\0\ue100\0\ue15a\0\ue1b4\0\ue20e\0\ue268\0\ue2c2"+ "\0\ue31c\0\ue376\0\ue3d0\0\ue42a\0\ue484\0\ue4de\0\ue538\0\ue592"+ "\0\ue5ec\0\ue646\0\ue6a0\0\ue6fa\0\ue754\0\ue7ae\0\ue808\0\ue862"+ "\0\ue8bc\0\ue916\0\ue970\0\ue9ca\0\uea24\0\uea7e\0\uead8\0\ueb32"+ "\0\ueb8c\0\uebe6\0\uec40\0\uec9a\0\uecf4\0\ued4e\0\ueda8\0\uee02"+ "\0\uee5c\0\ueeb6\0\uef10\0\uef6a\0\uefc4\0\uf01e\0\uf078\0\uf0d2"+ "\0\uf12c\0\uf186\0\uf1e0\0\uf23a\0\uf294\0\uf2ee\0\uf348\0\u0b40"+ "\0\u0b40\0\uf3a2\0\uf3fc\0\uf456\0\uf4b0\0\uf50a\0\uf564\0\uf5be"+ "\0\uf618\0\uf672\0\uf6cc\0\uf726\0\uf780\0\uf7da\0\uf834\0\uf88e"+ "\0\uf8e8\0\uf942\0\uf99c\0\uf9f6\0\ufa50\0\ufaaa\0\ufb04\0\u5082"+ "\0\ufb5e\0\ufbb8\0\ufc12\0\ufc6c\0\ufcc6\0\ufd20\0\ufd7a\0\ufdd4"+ "\0\ua596\0\ufe2e\0\ufe88\0\ufee2\0\uff3c\0\uff96\0\ufff0\1\112"+ "\0\u0b40\1\244\1\376\1\u0158\0\u1bc6\1\u01b2\1\u020c\1\u0266"+ "\1\u02c0\1\u031a\1\u0374\0\u1bc6\1\u03ce\1\u0428\1\u0482\0\u1bc6"+ "\1\u04dc\1\u0536\1\u0590\0\u1bc6\1\u05ea\1\u0644\1\u069e\1\u06f8"+ "\1\u0752\1\u07ac\1\u0806\1\u0860\1\u08ba\1\u0914\1\u096e\1\u09c8"+ "\1\u0a22\1\u0a7c\1\u0ad6\1\u0b30\1\u0b8a\1\u0be4\1\u0c3e\0\u73aa"+ "\0\u0b40\1\u0c98\1\u0cf2\1\u0d4c\1\u0da6\1\u0e00\0\u0b40\1\u0e5a"+ "\1\u0eb4\1\u0f0e\1\u0f68\1\u0fc2\1\u101c\1\u1076\1\u10d0\1\u112a"+ "\1\u1184\1\u11de\0\u0b40\1\u1238\1\u1292\1\u12ec\1\u1346\1\u13a0"+ "\1\u13fa\1\u1454\1\u14ae\1\u1508\1\u1562\1\u15bc\1\u1616\1\u1670"+ "\1\u16ca\1\u1724\1\u177e\1\u17d8\1\u1832\1\u188c\1\u18e6\1\u1940"+ "\1\u199a\1\u19f4\1\u1a4e\1\u1aa8\1\u1b02\1\u1b5c\1\u1bb6\1\u1c10"+ "\1\u1c6a\1\u1cc4\1\u1d1e\1\u1d78\1\u1dd2\1\u1e2c\1\u1e86\1\u1ee0"+ "\1\u1f3a\1\u1f94\1\u1fee\1\u2048\1\u20a2\1\u20fc\1\u2156\1\u21b0"+ "\1\u220a\1\u2264\1\u22be\1\u2318\1\u2372\1\u23cc\1\u2426\1\u2480"+ "\1\u24da\1\u2534\1\u258e\1\u25e8\1\u2642\1\u269c\1\u26f6\1\u2750"+ "\1\u27aa\1\u2804\1\u285e\1\u28b8\1\u2912\1\u296c\1\u29c6\1\u2a20"+ "\0\u39a8\1\u2a7a\1\u2ad4\1\u2b2e\1\u2b88\1\u2be2\1\u2c3c\1\u2c96"+ "\1\u2cf0\1\u2d4a\1\u2da4\1\u2dfe\1\u2e58\1\u2eb2\1\u2f0c\1\u2f66"+ "\1\u2fc0\1\u301a\1\u3074\1\u30ce\1\u3128\1\u3182\1\u31dc\1\u3236"+ "\0\uf456\1\u3290\1\u32ea\1\u3344\1\u339e\1\u33f8\1\u3452\1\u34ac"+ "\1\u3506\1\u3560\1\u35ba\1\u3614\1\u3614\1\u366e\1\u36c8\1\u3722"+ "\1\u377c\1\u37d6\1\u3830\1\u388a\1\u38e4\1\u393e\1\u3998\1\u39f2"+ "\1\u3a4c\1\u3aa6\0\ub6d0\1\u3b00\1\u3b5a\1\u3bb4\1\u3c0e\1\u3c68"+ "\1\u3cc2\1\u3d1c\1\u3d76\1\u3dd0\1\u3e2a\1\u3e84\1\u3ede\1\u3f38"+ "\1\u3f92\1\u3fec\1\u4046\1\u40a0\1\u40fa\1\u4154\1\u41ae\1\u0da6"+ "\1\u4208\1\u4262\1\u0f0e\1\u42bc\1\u4316\1\u4370\1\u43ca\1\u4424"+ "\1\u447e\1\u44d8\1\u4532\1\u458c\1\u45e6\1\u4640\1\u469a\1\u46f4"+ "\1\u474e\1\u47a8\1\u4802\1\u485c\1\u48b6\1\u4910\1\u496a\1\u49c4"+ "\1\u4a1e\1\u4a78\1\u4ad2\1\u4b2c\1\u4b86\1\u4be0\1\u4c3a\1\u4c94"+ "\1\u4cee\1\u4d48\1\u4da2\1\u4dfc\1\u4e56\1\u4eb0\1\u4f0a\1\u4f64"+ "\1\u4fbe\1\u5018\1\u5072\1\u50cc\1\u5126\1\u5180\1\u51da\1\u5234"+ "\1\u528e\1\u52e8\1\u5342\1\u539c\1\u53f6\1\u5450\1\u54aa\1\u5504"+ "\1\u555e\1\u55b8\1\u5612\1\u566c\1\u56c6\1\u5720\1\u577a\1\u57d4"+ "\1\u582e\1\u5888\1\u58e2\1\u593c\1\u5996\1\u59f0\1\u5a4a\1\u5aa4"+ "\1\u5afe\1\u5b58\1\u5bb2\1\u29c6\1\u5c0c\1\u5c66\1\u5cc0\1\u5d1a"+ "\1\u5d74\1\u5dce\1\u5e28\1\u5e82\1\u5edc\1\u5f36\1\u5f90\1\u5fea"+ "\1\u6044\1\u609e\1\u60f8\1\u6152\1\u61ac\0\u42cc\1\u6206\1\u6260"+ "\1\u62ba\1\u6314\1\u636e\1\u63c8\1\u6422\1\u647c\1\u64d6\1\u6530"+ "\1\u658a\1\u65e4\1\u663e\0\u1bc6\1\u6698\1\u66f2\1\u674c\1\u67a6"+ "\1\u6800\1\u685a\1\u68b4\1\u690e\1\u6968\1\u69c2\1\u6a1c\1\u6a76"+ "\1\u6ad0\1\u6b2a\1\u6b84\1\u6bde\1\u6c38\1\u6c92\1\u6cec\1\u6d46"+ "\1\u6da0\1\u6dfa\1\u6e54\1\u6eae\1\u6f08\1\u6f62\1\u6fbc\1\u7016"+ "\1\u7070\1\u70ca\1\u7124\1\u717e\1\u71d8\1\u7232\1\u728c\1\u72e6"+ "\1\u7340\1\u739a\1\u73f4\1\u744e\1\u74a8\1\u7502\1\u755c\1\u75b6"+ "\1\u7610\1\u766a\1\u76c4\1\u771e\1\u7778\1\u77d2\1\u782c\1\u7886"+ "\1\u78e0\1\u793a\1\u7994\1\u79ee\1\u7a48\1\u7aa2\1\u7afc\1\u7b56"+ "\1\u7bb0\1\u7c0a\1\u7c64\1\u7cbe\1\u7d18\1\u7d72\1\u7dcc\1\u7e26"+ "\1\u7e80\1\u7eda\1\u7f34\1\u7f8e\1\u7fe8\1\u8042\1\u809c\1\u80f6"+ "\1\u8150\1\u81aa\1\u8204\1\u825e\1\u82b8\1\u8312\1\u836c\1\u83c6"+ "\1\u8420\1\u847a\1\u84d4\1\u852e\1\u8588\1\u85e2\1\u863c\0\u42cc"+ "\1\u8696\1\u86f0\1\u874a\1\u87a4\1\u87fe\1\u8858\1\u88b2\1\u890c"+ "\1\u8966\1\u89c0\1\u8a1a\1\u8a74\1\u8ace\1\u8b28\1\u8b82\1\u8bdc"+ "\1\u8c36\1\u8c90\1\u8cea\1\u8d44\1\u8d9e\1\u8df8\1\u8e52\1\u8eac"+ "\1\u8f06\1\u8f60\1\u8fba\1\u9014\1\u906e\1\u90c8\1\u9122\1\u917c"+ "\1\u91d6\1\u9230\1\u928a\1\u92e4\1\u933e\1\u9398\1\u93f2\1\u944c"+ "\1\u94a6\1\u9500\1\u955a\1\u95b4\1\u960e\1\u9668\1\u96c2\1\u971c"+ "\1\u9776\1\u97d0\1\u982a\1\u9884\1\u98de\1\u9938\1\u9992\1\u99ec"+ "\1\u9a46\1\u9aa0\1\u9afa\1\u9b54\1\u9bae\1\u9c08\1\u9c62\1\u9cbc"+ "\1\u9d16\1\u9d70\1\u9dca\1\u9e24\1\u9e7e\1\u9ed8\1\u9f32\1\u9f8c"+ "\1\u9fe6\1\ua040\1\ua09a\1\ua0f4\1\ua14e\1\ua1a8\1\ua202\1\ua25c"+ "\1\ua2b6\1\ua310\1\ua36a\1\ua3c4\1\ua41e\1\ua478\1\ua4d2\1\ua52c"+ "\1\ua586\1\ua5e0\1\ua63a\1\ua694\1\ua6ee\1\ua748\1\ua7a2\1\ua7fc"+ "\1\ua856\1\ua8b0\1\ua90a\1\ua964\1\ua9be\1\uaa18\1\uaa72\1\uaacc"+ "\1\uab26\1\uab80\1\uabda\1\uac34\1\uac8e\1\uace8\1\uad42\1\uad9c"+ "\1\uadf6\1\uae50\1\uaeaa\1\uaf04\1\uaf5e\1\uafb8\1\ub012\1\ub06c"+ "\1\ub0c6\1\ub120\1\ub17a\1\ub1d4\1\ub22e\1\ub288\1\ub2e2\1\ub33c"+ "\1\ub396\1\ub3f0\1\ub44a\1\ub4a4\1\ub4fe\1\ub558\1\ub5b2\1\ub60c"+ "\0\u0b40\1\ub666\1\ub6c0\1\ub71a\1\ub774\1\ub7ce\0\u0b40\1\ub828"+ "\0\u0b40\0\u0b40\1\ub882\1\ub8dc\1\ub936\1\ub990\1\ub9ea\1\uba44"+ "\1\uba9e\1\ubaf8\1\ubb52\1\ubbac\1\ubc06\1\ubc60\1\ubcba\1\ubd14"+ "\1\ubd6e\1\ubdc8\1\ube22\1\ube7c\1\ubed6\1\ubf30\1\ubf8a\1\ubfe4"+ "\1\uc03e\1\uc098\1\uc0f2\1\uc14c\1\uc1a6\1\uc200\1\uc25a\1\uc2b4"+ "\1\uc30e\1\uc368\1\uc3c2\1\uc41c\1\uc476\1\uc4d0\1\uc52a\1\uc584"+ "\1\uc5de\1\uc638\1\uc692\1\uc6ec\1\uc746\1\uc7a0\1\uc7fa\1\uc854"+ "\1\uc8ae\1\uc908\1\uc962\1\uc9bc\1\uca16\1\uca70\1\ucaca\1\ucb24"+ "\1\ucb7e\1\ucbd8\1\ucc32\1\ucc8c\1\ucce6\1\ucd40\1\ucd9a\1\ucdf4"+ "\1\uce4e\1\ucea8\1\ucf02\1\ucf5c\1\ucfb6\1\ud010\1\ud06a\1\ud0c4"+ "\1\ud11e\1\ud178\1\ud1d2\1\ud22c\1\ud286\1\ud2e0\1\ud33a\1\ud394"+ "\1\ud3ee\1\ud448\1\ud4a2\1\ud4fc\1\ud556\1\ud5b0\1\ud60a\1\ud664"+ "\1\ud6be\1\ud718\1\ud772\1\ud7cc\1\ud826\1\ud880\1\ud8da\1\ud934"+ "\1\ud98e\1\ud9e8\1\uda42\1\uda9c\0\u0b40\1\udaf6\1\udb50\1\udbaa"+ "\1\udc04\1\udc5e\1\udcb8\1\udd12\1\udd6c\1\uddc6\1\ude20\1\ude7a"+ "\1\uded4\1\udf2e\1\udf88\1\udfe2\1\ue03c\1\ue096\1\ue0f0\1\ue14a"+ "\1\ue1a4\1\ue1fe\1\ue258\1\ue2b2\1\ue30c\1\ue366\1\ue3c0\1\ue41a"+ "\1\ue474\1\ue4ce\1\ue528\1\ue582\1\ue5dc\1\ue636\1\ue690\1\ue6ea"+ "\1\ue744\1\ue79e\1\ue7f8\1\ue852\1\ue8ac\1\ue906\1\ue960\1\ue9ba"+ "\1\uea14\1\uea6e\1\ueac8\1\ueb22\1\ueb7c\1\uebd6\1\uec30\0\u0b40"+ "\1\uec8a\1\uece4\1\ued3e\1\ued98\1\uedf2\1\uee4c\1\ueea6\1\uef00"+ "\1\uef5a\1\uefb4\1\uf00e\1\uf068\1\uf0c2\1\uf11c\1\uf176\1\uf1d0"+ "\1\uf22a\1\uf284\1\uf2de\1\uf338\1\uf392\1\uf3ec\1\uf446\1\uf4a0"+ "\1\uf4fa\1\uf554\1\uf5ae\1\uf608\1\uf662\1\uf6bc\1\uf716\1\uf770"+ "\1\uf7ca\1\uf824\1\uf87e\1\uf8d8\1\uf932\1\uf98c\1\uf9e6\1\ufa40"+ "\1\ufa9a\1\ufaf4\1\ufb4e\1\ufba8\1\ufc02\1\ufc5c\1\ufcb6\1\ufd10"+ "\1\ufd6a\1\ufdc4\1\ufe1e\1\ufe78\1\ufed2\1\uff2c\1\uff86\1\uffe0"+ "\2\72\2\224\2\356\2\u0148\2\u01a2\2\u01fc\2\u0256\2\u02b0"+ "\2\u030a\2\u0364\2\u03be\2\u0418\2\u0472\2\u04cc\2\u0526\2\u0580"+ "\2\u05da\2\u0634\2\u068e\2\u06e8\2\u0742\2\u079c\2\u07f6\2\u0850"+ "\2\u08aa\2\u0904\2\u095e\2\u09b8\2\u0a12\2\u0a6c\2\u0ac6\2\u0b20"+ "\2\u0b7a\2\u0bd4\2\u0c2e\2\u0c88\2\u0ce2\2\u0d3c\2\u0d96\2\u0df0"+ "\2\u0e4a\2\u0ea4\2\u0efe\2\u0f58\2\u0fb2\2\u100c\2\u1066\2\u10c0"+ "\2\u111a\2\u1174\2\u11ce\2\u1228\2\u1282\2\u12dc\2\u1336\2\u1390"+ "\2\u13ea\2\u1444\2\u149e"; private static int [] zzUnpackRowMap() { int [] result = new int[1643]; int offset = 0; offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result); return result; } private static int zzUnpackRowMap(String packed, int offset, int [] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ int l = packed.length(); while (i < l) { int high = packed.charAt(i++) << 16; result[j++] = high | packed.charAt(i++); } return j; } /** * The transition table of the DFA */ private static final int [] ZZ_TRANS = zzUnpackTrans(); private static final String ZZ_TRANS_PACKED_0 = "\1\37\1\40\1\41\1\42\1\43\1\44\124\37\2\45"+ "\1\46\32\45\1\47\15\45\1\50\14\45\1\51\11\45"+ "\1\52\27\45\2\53\1\54\62\53\1\55\44\53\2\56"+ "\1\57\16\56\1\60\110\56\2\61\1\0\1\62\1\63"+ "\2\61\1\64\1\65\1\66\1\67\6\61\1\70\110\61"+ "\2\71\1\0\1\71\1\72\2\71\4\72\1\73\1\74"+ "\1\75\1\76\1\77\1\100\1\72\1\71\1\101\1\102"+ "\5\71\1\103\4\71\1\104\1\75\1\100\1\105\1\103"+ "\6\71\2\106\2\71\1\102\1\107\1\101\1\73\6\71"+ "\1\110\1\111\1\112\1\77\1\74\1\71\1\76\1\113"+ "\1\114\1\112\1\71\1\115\6\71\1\107\1\111\1\105"+ "\1\114\1\104\1\71\1\113\1\116\1\115\1\110\4\71"+ "\1\116\1\71\3\117\1\120\4\117\1\121\121\117\3\122"+ "\1\120\5\122\1\121\120\122\1\61\1\123\1\0\1\62"+ "\1\43\2\61\1\64\1\124\1\125\1\126\6\61\1\127"+ "\110\61\3\117\1\120\4\117\1\130\121\117\3\122\1\120"+ "\5\122\1\130\120\122\2\61\1\0\1\61\1\63\2\61"+ "\1\64\1\131\1\132\1\126\6\61\1\133\110\61\10\134"+ "\1\135\121\134\11\136\1\135\120\136\1\137\1\43\1\140"+ "\1\141\1\43\1\142\1\143\1\144\1\145\1\146\1\147"+ "\3\150\1\151\2\150\1\152\3\150\2\144\1\150\1\153"+ "\1\154\1\150\1\153\1\150\1\155\1\137\1\156\1\157"+ "\1\160\1\161\1\162\1\153\1\163\1\137\1\150\1\144"+ "\2\150\1\164\1\165\1\166\1\167\1\170\1\171\1\172"+ "\1\173\1\143\1\144\3\64\2\150\1\174\1\175\1\176"+ "\1\150\1\177\3\150\1\200\1\201\1\137\1\150\1\202"+ "\3\173\2\150\1\203\7\150\1\153\2\150\1\173\2\150"+ "\2\204\1\205\5\204\1\206\25\204\1\207\73\204\2\210"+ "\1\211\6\210\1\212\24\210\1\213\73\210\2\214\1\215"+ "\1\216\44\214\1\217\2\214\1\220\14\214\1\221\11\214"+ "\1\222\27\214\2\223\1\224\1\225\47\223\1\220\14\223"+ "\1\221\11\223\1\222\27\223\2\45\1\226\32\45\1\227"+ "\15\45\1\50\14\45\1\51\11\45\1\52\27\45\2\230"+ "\1\231\1\232\44\230\1\233\2\230\1\234\14\230\1\235"+ "\11\230\1\236\1\230\1\237\22\230\1\240\2\230\1\137"+ "\1\43\1\241\1\242\1\43\1\142\1\143\1\144\1\243"+ "\1\244\1\245\1\246\1\247\1\250\1\251\1\252\1\253"+ "\1\152\1\150\1\254\1\255\1\256\1\144\1\150\1\153"+ "\1\154\1\257\1\153\1\150\1\155\1\137\1\150\1\157"+ "\1\260\1\161\1\162\1\153\1\163\1\137\1\150\1\144"+ "\1\150\1\261\1\262\1\165\1\166\1\263\1\264\1\265"+ "\1\266\1\173\1\143\1\144\3\64\2\150\1\267\1\270"+ "\1\176\1\150\1\271\2\150\1\272\1\273\1\274\1\275"+ "\1\150\1\202\3\173\1\276\1\277\1\300\1\301\1\302"+ "\3\150\1\303\1\150\1\153\2\150\1\173\2\150\2\304"+ "\1\305\45\304\1\306\2\304\1\307\14\304\1\310\11\304"+ "\1\311\27\304\1\312\1\313\1\0\1\312\1\43\2\312"+ "\1\64\1\314\1\315\1\316\6\312\1\317\3\312\1\320"+ "\13\312\1\321\31\312\1\322\2\312\1\323\33\312\1\324"+ "\1\63\1\325\1\326\1\63\1\324\1\173\1\64\1\327"+ "\1\330\1\331\6\332\1\64\3\332\2\324\1\332\2\324"+ "\1\332\1\324\2\332\1\324\5\332\2\324\1\333\1\64"+ "\4\332\1\64\5\332\1\324\1\143\1\64\1\324\1\334"+ "\1\64\14\332\1\335\2\332\3\173\12\332\1\324\2\332"+ "\1\336\2\332\1\337\1\63\1\340\1\341\1\63\5\337"+ "\1\342\6\343\1\337\3\343\2\337\1\343\2\337\1\343"+ "\1\337\2\343\1\337\5\343\4\337\1\344\3\343\2\337"+ "\4\343\1\345\3\337\1\346\1\337\14\343\1\337\2\343"+ "\3\337\12\343\1\337\2\343\1\337\2\343\1\347\1\63"+ "\1\350\1\351\1\63\1\347\1\352\1\347\1\327\1\330"+ "\1\353\6\354\1\347\3\354\1\347\1\355\1\354\2\356"+ "\1\354\1\356\1\354\1\357\6\354\1\356\1\347\1\360"+ "\2\347\3\354\1\347\1\143\4\354\1\345\1\143\4\347"+ "\14\354\1\347\2\354\1\347\1\361\1\362\12\354\1\356"+ "\2\354\1\347\2\354\2\204\1\363\5\204\1\364\25\204"+ "\1\365\73\204\2\210\1\366\6\210\1\367\24\210\1\365"+ "\73\210\2\304\1\370\45\304\1\371\2\304\1\307\14\304"+ "\1\310\11\304\1\311\27\304\2\37\4\0\125\37\1\40"+ "\2\0\1\43\1\0\124\37\144\0\1\372\1\373\5\374"+ "\1\0\3\374\1\375\1\376\5\374\3\0\6\374\4\0"+ "\3\374\2\0\3\374\1\373\3\0\1\377\2\0\14\374"+ "\1\0\2\374\3\0\15\374\1\0\2\374\1\0\1\43"+ "\2\0\1\43\125\0\4\44\1\0\1\44\1\u0100\123\44"+ "\2\45\1\0\32\45\1\0\15\45\1\0\14\45\1\0"+ "\11\45\1\0\27\45\35\0\1\u0101\135\0\1\u0102\34\0"+ "\1\u0103\74\0\1\u0104\172\0\1\u0105\27\0\2\53\1\0"+ "\62\53\1\0\44\53\21\0\1\u0106\110\0\2\56\1\0"+ "\16\56\1\0\110\56\2\61\1\0\1\61\1\0\2\61"+ "\4\0\6\61\1\0\112\61\1\0\1\61\1\0\2\61"+ "\4\0\6\61\1\0\3\61\1\u0107\104\61\21\0\1\70"+ "\110\0\2\71\1\0\1\71\1\0\2\71\4\0\6\71"+ "\1\0\112\71\1\0\1\71\1\0\2\71\4\0\1\71"+ "\1\u0108\2\71\1\u0109\1\u010a\1\0\2\71\1\u010b\12\71"+ "\1\u010c\1\71\1\u010a\14\71\1\u010b\1\u010d\11\71\1\u010e"+ "\1\71\1\u0109\1\u0108\3\71\1\u010f\11\71\1\u010d\1\u010e"+ "\1\71\1\u010f\1\u010c\15\71\1\0\1\71\1\0\2\71"+ "\4\0\3\71\1\u0110\2\71\1\0\2\71\1\u0111\31\71"+ "\1\u0111\1\u0112\11\71\1\u0113\4\71\1\u0110\13\71\1\u0112"+ "\1\u0113\20\71\1\0\1\71\1\0\2\71\4\0\6\71"+ "\1\0\15\71\1\u0114\56\71\1\u0114\15\71\1\0\1\71"+ "\1\0\2\71\4\0\1\u0115\5\71\1\0\1\71\1\u0116"+ "\16\71\1\u0117\7\71\2\u0118\4\71\1\u0116\1\u0115\16\71"+ "\1\u0119\13\71\1\u0117\1\u0119\16\71\1\0\1\71\1\0"+ "\2\71\4\0\2\71\1\u011a\3\71\1\0\1\71\1\u011b"+ "\14\71\1\u011a\16\71\1\u011c\1\u011b\31\71\1\u011c\21\71"+ "\1\0\1\71\1\0\2\71\4\0\2\71\1\116\1\u011d"+ "\1\71\1\116\1\0\2\71\1\u011e\5\71\1\u011f\5\71"+ "\2\116\1\71\1\u011f\6\71\2\u0120\2\71\1\u011e\1\u0121"+ "\10\71\1\u0122\1\71\1\116\3\71\1\u011d\2\71\1\116"+ "\10\71\1\u0121\10\71\1\u0122\10\71\1\0\1\71\1\0"+ "\2\71\4\0\3\71\1\u0123\2\71\1\0\2\71\1\u0124"+ "\31\71\1\u0124\1\u0125\16\71\1\u0123\13\71\1\u0125\21\71"+ "\1\0\1\71\1\0\2\71\4\0\6\71\1\0\56\71"+ "\1\u0126\2\71\1\u0127\11\71\1\u0126\4\71\1\u0127\11\71"+ "\1\0\1\71\1\0\2\71\4\0\2\71\1\116\1\u0119"+ "\2\71\1\0\1\71\1\u0128\13\71\1\u0129\1\116\16\71"+ "\1\u012a\1\u0128\10\71\1\u012b\1\u012c\3\71\1\u0119\2\71"+ "\1\u012c\4\71\1\u012d\3\71\1\u012a\1\u012b\2\71\1\u0129"+ "\1\u012d\14\71\1\0\1\71\1\0\2\71\4\0\6\71"+ "\1\0\1\71\1\116\34\71\1\116\53\71\1\0\1\71"+ "\1\0\2\71\4\0\6\71\1\0\2\71\1\u012e\31\71"+ "\1\u012e\1\u012f\11\71\1\u0130\20\71\1\u012f\1\u0130\20\71"+ "\1\0\1\71\1\0\2\71\4\0\2\71\1\u0131\1\u0132"+ "\2\71\1\0\16\71\1\u0131\30\71\1\u0133\4\71\1\u0132"+ "\14\71\1\u0133\20\71\1\0\1\71\1\0\2\71\4\0"+ "\1\u0134\1\u0135\1\u0136\1\71\1\u0137\1\71\1\0\10\71"+ "\1\u0138\4\71\1\u0139\1\u0136\2\71\1\u0138\15\71\1\u0134"+ "\10\71\1\u013a\1\u0137\1\u0135\4\71\1\u013a\14\71\1\u0139"+ "\15\71\1\0\1\71\1\0\2\71\4\0\2\71\1\116"+ "\2\71\1\u013b\1\0\2\71\1\u013c\13\71\1\116\1\u013b"+ "\2\71\1\116\11\71\1\u013c\45\71\1\116\7\71\1\0"+ "\1\71\1\0\2\71\4\0\4\71\1\u013d\1\71\1\0"+ "\1\71\1\116\6\71\1\u013e\4\71\1\u013f\3\71\1\u013e"+ "\14\71\1\116\12\71\1\u013d\22\71\1\u013f\15\71\1\0"+ "\1\71\1\0\2\71\4\0\3\71\1\u0140\1\71\1\116"+ "\1\0\1\71\1\116\1\u0141\14\71\1\116\10\71\2\u0142"+ "\2\71\1\u0141\1\u0143\1\116\11\71\1\116\3\71\1\u0140"+ "\2\71\1\116\10\71\1\u0143\21\71\1\0\1\71\1\0"+ "\2\71\4\0\6\71\1\0\2\71\1\u0144\5\71\1\u0145"+ "\10\71\1\u0145\12\71\1\u0144\55\71\1\0\1\71\1\0"+ "\2\71\4\0\6\71\1\0\2\71\1\u0146\12\71\1\u0147"+ "\16\71\1\u0146\1\u0148\32\71\1\u0148\3\71\1\u0147\15\71"+ "\1\0\1\71\1\0\2\71\4\0\3\71\1\u0149\2\71"+ "\1\0\35\71\1\u014a\16\71\1\u0149\13\71\1\u014a\17\71"+ "\3\117\1\0\4\117\1\0\121\117\25\0\1\u014b\104\0"+ "\3\122\1\0\5\122\1\0\120\122\1\61\1\123\1\0"+ "\1\61\1\43\2\61\4\0\6\61\1\0\110\61\21\0"+ "\1\u014c\110\0\10\134\1\0\121\134\11\136\1\0\120\136"+ "\1\137\12\0\6\137\1\0\3\137\2\0\6\137\1\0"+ "\7\137\1\0\2\137\1\0\3\137\2\0\4\137\6\0"+ "\17\137\3\0\15\137\1\0\2\137\3\0\1\u014d\3\0"+ "\1\64\2\0\1\u014e\12\0\1\u014f\111\0\1\64\1\0"+ "\1\64\131\0\1\64\122\0\7\u0150\1\u0151\2\u0150\1\u0152"+ "\23\u0150\1\u0153\11\u0150\1\u0154\61\u0150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\3\150"+ "\1\u0156\2\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\7\0\1\64\11\0\1\u0157\110\0\1\u0158\12\0"+ "\6\u0158\1\0\1\u0158\1\u0159\1\u015a\2\0\1\u0158\2\153"+ "\1\u0158\1\153\1\u0158\1\0\6\u0158\1\153\1\0\2\u0158"+ "\1\0\1\u0158\2\u015b\1\0\1\u015c\1\u015a\1\u0158\1\u0159"+ "\1\u0158\6\0\2\u0158\1\u015b\6\u0158\1\u015b\5\u0158\3\0"+ "\12\u0158\1\153\2\u0158\1\0\3\u0158\12\0\6\u0158\1\0"+ "\1\u0158\1\u0159\1\u015a\2\0\1\u0158\1\u015d\1\u015e\1\u0158"+ "\1\u015e\1\u0158\1\0\6\u0158\1\u015e\1\0\2\u0158\1\0"+ "\1\u015f\2\u015b\1\0\1\u015c\1\u015a\1\u0158\1\u0159\1\u0158"+ "\6\0\2\u0158\1\u015b\2\u0158\1\u015f\3\u0158\1\u015b\5\u0158"+ "\3\0\12\u0158\1\u015e\2\u0158\1\0\2\u0158\7\0\1\64"+ "\25\0\1\64\74\0\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\3\150\1\u0160\2\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\1\u0161\3\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\1\150\1\u0162\4\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\1\u0163\13\150\1\137\1\u0164"+ "\1\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\1\u0165\5\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\1\u0166\1\u0167"+ "\2\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\1\150\1\u0168\4\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\1\150\1\u0169\12\150"+ "\1\137\1\u016a\1\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\1\u016b\5\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\1\150\1\u016c\1\u016d\1\150\6\0\1\150\1\u016e\4\150"+ "\1\u016f\5\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\7\0\1\64\44\0\1\64\105\0\2\u015c\1\0\1\u015c"+ "\10\0\1\u015c\57\0\1\u015c\5\0\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\3\150\1\u0170"+ "\2\150\1\0\1\137\1\150\1\0\3\150\2\0\1\150"+ "\1\u0171\1\u0172\1\u0173\6\0\5\150\1\u0174\5\150\1\u0175"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\4\150"+ "\1\u0176\1\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\1\u0177\3\150\6\0\1\150\1\u0178\12\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\1\u0179\1\150"+ "\1\u017a\3\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\1\u017b\11\150\1\u017c\1\150\1\137\1\u017d"+ "\1\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\1\u017e\3\150\6\0"+ "\1\150\1\u017f\12\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\1\u0180\1\u0181\4\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\1\150\1\u0182\2\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\1\150\1\u0183"+ "\1\u0184\1\150\6\0\1\u0185\1\u0186\12\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\3\150\1\u0187\2\150"+ "\1\0\1\137\1\150\1\0\2\150\1\u0188\2\0\3\150"+ "\1\u0189\6\0\10\150\1\u018a\3\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\1\u018b\5\150\1\u018c"+ "\5\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\1\150"+ "\1\u016e\2\150\6\0\1\150\1\u018d\12\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\1\150\1\u018e"+ "\12\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\1\150"+ "\1\u018f\2\150\6\0\14\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\2\204\1\0\5\204\1\0\25\204\1\0"+ "\73\204\2\u0190\1\0\34\u0190\1\u0191\35\u0190\1\u0192\34\u0190"+ "\2\210\1\0\6\210\1\0\24\210\1\0\73\210\2\214"+ "\2\0\44\214\1\0\2\214\1\0\14\214\1\0\11\214"+ "\1\0\27\214\12\0\1\u0193\131\0\1\u0194\160\0\1\u0195"+ "\34\0\1\u0196\74\0\1\u0197\172\0\1\u0198\27\0\2\223"+ "\2\0\47\223\1\0\14\223\1\0\11\223\1\0\27\223"+ "\12\0\1\u0199\154\0\1\u019a\74\0\2\230\2\0\44\230"+ "\1\0\2\230\1\0\14\230\1\0\11\230\1\0\1\230"+ "\1\0\22\230\1\0\2\230\12\0\1\u019b\6\u019c\1\u019d"+ "\3\u019c\2\0\1\u019c\2\0\1\u019c\4\0\5\u019c\5\0"+ "\3\u019c\2\0\4\u019c\6\0\14\u019c\1\0\2\u019c\3\0"+ "\12\u019c\1\0\2\u019c\1\0\2\u019c\12\0\1\u019e\160\0"+ "\1\u019f\34\0\1\u01a0\74\0\1\u01a1\172\0\1\u01a2\67\0"+ "\1\u01a3\1\u01a4\14\0\1\u01a5\1\u01a6\1\0\1\u01a7\7\0"+ "\1\u01a8\1\u01a9\1\u01aa\1\u01ab\1\0\1\u01ac\4\0\1\u01ad"+ "\132\0\1\u01ae\30\0\1\u014d\3\0\1\64\122\0\2\243"+ "\1\u01af\5\243\1\u01b0\25\243\1\u01b1\73\243\2\u01b2\1\u01b3"+ "\6\u01b2\1\u01b4\24\u01b2\1\u01b5\73\u01b2\7\0\1\64\2\0"+ "\1\u01b6\35\0\1\u01b7\61\0\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\2\150\1\u01b8\3\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\1\u01b9\3\150"+ "\6\0\1\u01ba\13\150\1\137\1\u01bb\1\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\2\150\1\u01bc\1\150\6\0\1\u01bd\1\u01be"+ "\12\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\1\u01bf\5\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\1\u01c0\3\150\6\0\14\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\2\150\1\u01c1\1\u01c2\2\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\2\150\1\u01c3\1\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\1\150\1\u01c4\4\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\1\150\1\u01c5\2\150\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\1\u01c6"+ "\13\150\1\137\1\u01c7\1\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\1\150\1\u01c8\4\150\1\u01c9\5\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\1\150\1\u01ca"+ "\1\150\1\u01cb\2\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\5\150\1\u01cc\6\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\7\0\1\64\11\0\1\u01cd"+ "\110\0\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\1\150\1\u01ce\12\150\1\137\1\u01cf"+ "\1\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\1\150\1\u0162"+ "\4\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\1\u0163\13\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\2\150\1\u01d0\1\150\6\0\14\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\1\150\1\u016c\1\u016d\1\150"+ "\6\0\1\150\1\u016e\4\150\1\u016f\5\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\3\150\1\u0170\2\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\2\150\1\u0172"+ "\1\150\6\0\5\150\1\u01d1\6\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\4\150\1\u0176\1\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\3\150\1\u01d2\6\0"+ "\14\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\1\150\1\u0178\12\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\1\u0179\1\150\1\u01d3\3\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\1\u017b"+ "\11\150\1\u017c\1\150\1\137\1\u017d\1\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\1\u01d4\3\150\6\0\1\150\1\u017f\12\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\1\u0180"+ "\1\u0181\4\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\1\150\1\u01d5\2\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\3\150\1\u01d6\2\150\1\0"+ "\1\137\1\150\1\0\2\150\1\u0188\2\0\4\150\6\0"+ "\10\150\1\u018a\3\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\1\150\1\u01d7\12\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\1\u018b\13\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\1\150\1\u018d\12\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\u01d8\1\0\3\u01d8\2\0\1\u01d8"+ "\2\137\1\u01d8\1\137\1\u01d8\1\0\1\137\5\u01d8\1\137"+ "\1\0\1\137\1\u01d8\1\0\3\u01d8\2\0\4\u01d8\6\0"+ "\14\u01d8\1\137\2\u01d8\3\0\12\u01d8\1\137\2\u01d8\1\0"+ "\2\u01d8\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\1\u01d9\1\u01da\2\150\1\u01db\1\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\3\150\1\u01dc\6\0"+ "\3\150\1\u01dd\10\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\1\u01de\3\150\1\u01df\1\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\1\u01e0\5\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\1\u01e1\3\150"+ "\6\0\1\150\1\u01e2\12\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\1\150\1\u01e3\2\150\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\3\150\1\u01e4"+ "\2\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\1\u01e5\3\150\6\0\1\150\1\u01e6\4\150\1\u01e7\5\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\2\304\1\0"+ "\45\304\1\0\2\304\1\0\14\304\1\0\11\304\1\0"+ "\27\304\12\0\1\u01e8\160\0\1\u01e9\34\0\1\u01ea\74\0"+ "\1\u01eb\172\0\1\u01ec\27\0\2\312\1\0\1\312\1\0"+ "\2\312\4\0\6\312\1\0\111\312\1\313\1\0\1\312"+ "\1\43\2\312\4\0\6\312\1\0\110\312\10\314\1\u01b0"+ "\121\314\11\315\1\u01ed\120\315\2\312\1\0\1\312\1\0"+ "\2\312\4\0\6\312\1\70\112\312\1\0\1\312\1\0"+ "\2\312\4\0\6\312\1\0\35\312\1\u01ee\54\312\1\0"+ "\1\312\1\0\2\312\4\0\6\312\1\0\35\312\1\u01ef"+ "\54\312\1\0\1\312\1\0\2\312\4\0\6\312\1\0"+ "\20\312\1\u01f0\67\312\12\0\1\u01f1\167\0\1\u01f2\74\0"+ "\6\332\1\0\3\332\2\0\7\332\1\0\6\332\4\0"+ "\3\332\1\0\5\332\6\0\14\332\1\0\2\332\3\0"+ "\15\332\1\0\2\332\13\0\6\u01f3\1\0\3\u01f3\2\0"+ "\1\u01f3\2\0\1\u01f3\1\0\2\u01f3\1\0\5\u01f3\4\0"+ "\4\u01f3\1\0\5\u01f3\6\0\14\u01f3\1\0\2\u01f3\3\0"+ "\12\u01f3\1\0\2\u01f3\1\0\2\u01f3\40\0\1\u01f4\1\u01f5"+ "\1\u01f6\10\0\1\u01f7\2\0\1\u01f8\1\u01f9\1\u01fa\5\0"+ "\1\u01fb\1\0\1\u01fc\1\u01fd\1\u01fe\1\0\1\u01ff\6\0"+ "\1\u0200\41\0\6\u0201\1\0\3\u0201\2\0\1\u0201\2\0"+ "\1\u0201\1\0\2\u0201\1\0\5\u0201\4\0\4\u0201\1\0"+ "\5\u0201\6\0\14\u0201\1\0\2\u0201\3\0\12\u0201\1\0"+ "\2\u0201\1\0\2\u0201\13\0\6\343\1\0\3\343\2\0"+ "\7\343\1\0\6\343\4\0\3\343\2\0\4\343\6\0"+ "\14\343\1\0\2\343\3\0\15\343\1\0\2\343\13\0"+ "\6\343\1\0\3\343\2\0\1\343\2\0\1\343\1\0"+ "\2\343\1\0\5\343\5\0\3\343\2\0\4\343\6\0"+ "\14\343\1\0\2\343\3\0\12\343\1\0\2\343\1\0"+ "\2\343\12\0\7\354\1\0\3\354\2\0\1\354\2\0"+ "\1\354\1\0\10\354\4\0\1\u01f2\3\354\2\0\4\354"+ "\6\0\14\354\1\0\2\354\2\0\1\362\12\354\1\0"+ "\2\354\1\0\2\354\12\0\7\354\1\0\3\354\2\0"+ "\1\354\2\0\1\354\1\0\10\354\5\0\3\354\2\0"+ "\4\354\6\0\14\354\1\0\2\354\2\0\1\362\12\354"+ "\1\0\2\354\1\0\2\354\76\0\1\u0202\60\0\1\u0203"+ "\2\0\2\356\1\0\1\356\10\0\1\356\10\0\1\356"+ "\1\u0204\2\0\1\u0203\11\0\1\u0205\1\u0206\1\0\1\u0207"+ "\1\0\1\u0208\23\0\1\356\17\0\7\354\1\0\3\354"+ "\2\0\1\354\2\356\1\354\1\356\10\354\1\356\4\0"+ "\3\354\2\0\4\354\6\0\14\354\1\0\2\354\2\0"+ "\1\362\12\354\1\356\2\354\1\0\2\354\14\0\1\u0209"+ "\7\0\1\u0209\3\0\4\u0209\7\0\2\u0209\5\0\2\u0209"+ "\2\0\2\u0209\12\0\1\u0209\1\0\1\u0209\4\0\1\u0209"+ "\10\0\1\u0209\11\0\1\u0209\5\0\2\u020a\1\0\127\u020a"+ "\12\0\1\u020b\132\0\6\u020c\1\0\3\u020c\2\0\5\u020c"+ "\3\0\6\u020c\4\0\3\u020c\2\0\4\u020c\6\0\14\u020c"+ "\1\0\2\u020c\3\0\15\u020c\1\0\2\u020c\13\0\1\374"+ "\1\u020d\3\374\1\u020e\1\0\3\374\2\0\5\374\3\0"+ "\2\374\1\u020e\3\374\4\0\3\374\2\0\4\374\6\0"+ "\4\374\1\u020d\7\374\1\0\2\374\3\0\15\374\1\0"+ "\2\374\13\0\6\374\1\0\3\374\2\0\5\374\3\0"+ "\6\374\4\0\3\374\2\0\4\374\6\0\14\374\1\0"+ "\2\374\3\0\15\374\1\0\2\374\7\0\1\u020f\16\0"+ "\1\u020f\6\0\1\u0210\46\0\1\u0211\62\0\1\u0212\115\0"+ "\1\u0213\203\0\1\u0214\116\0\1\u0215\112\0\1\u0216\172\0"+ "\1\u0217\27\0\2\61\1\0\1\61\1\0\2\61\1\u020f"+ "\3\0\6\61\1\0\4\61\1\u0218\103\61\2\71\1\0"+ "\1\71\1\0\2\71\4\0\2\71\1\u0219\3\71\1\0"+ "\16\71\1\u0219\73\71\1\0\1\71\1\0\2\71\4\0"+ "\6\71\1\0\35\71\1\u021a\32\71\1\u021a\21\71\1\0"+ "\1\71\1\0\2\71\4\0\2\71\1\u021b\3\71\1\0"+ "\1\u0114\15\71\1\u021b\44\71\1\u0114\26\71\1\0\1\71"+ "\1\0\2\71\4\0\1\71\1\u021c\1\u021d\3\71\1\0"+ "\1\71\1\u021e\14\71\1\u021d\17\71\1\u021e\13\71\1\u021c"+ "\37\71\1\0\1\71\1\0\2\71\4\0\4\71\1\116"+ "\1\71\1\0\10\71\1\116\10\71\1\116\27\71\1\116"+ "\40\71\1\0\1\71\1\0\2\71\4\0\6\71\1\0"+ "\56\71\1\u021f\14\71\1\u021f\16\71\1\0\1\71\1\0"+ "\2\71\4\0\6\71\1\0\15\71\1\u0220\56\71\1\u0220"+ "\15\71\1\0\1\71\1\0\2\71\4\0\6\71\1\0"+ "\35\71\1\u0221\32\71\1\u0221\21\71\1\0\1\71\1\0"+ "\2\71\4\0\5\71\1\u0222\1\0\17\71\1\u0222\72\71"+ "\1\0\1\71\1\0\2\71\4\0\6\71\1\0\20\71"+ "\1\u0223\51\71\1\u0223\17\71\1\0\1\71\1\0\2\71"+ "\4\0\4\71\1\u021c\1\71\1\0\20\71\1\u0224\30\71"+ "\1\u021c\20\71\1\u0224\17\71\1\0\1\71\1\0\2\71"+ "\4\0\6\71\1\0\1\71\1\u0225\34\71\1\u0225\11\71"+ "\1\u0222\5\71\1\u0226\1\u0222\13\71\1\u0226\16\71\1\0"+ "\1\71\1\0\2\71\4\0\6\71\1\0\1\71\1\u0222"+ "\34\71\1\u0222\53\71\1\0\1\71\1\0\2\71\4\0"+ "\3\71\1\u0227\2\71\1\0\54\71\1\u0227\35\71\1\0"+ "\1\71\1\0\2\71\4\0\6\71\1\0\35\71\1\u0228"+ "\32\71\1\u0228\21\71\1\0\1\71\1\0\2\71\4\0"+ "\1\116\3\71\1\u0229\1\71\1\0\37\71\1\116\11\71"+ "\1\u0229\40\71\1\0\1\71\1\0\2\71\4\0\2\71"+ "\1\u022a\3\71\1\0\16\71\1\u022a\73\71\1\0\1\71"+ "\1\0\2\71\4\0\6\71\1\0\64\71\1\116\10\71"+ "\1\116\14\71\1\0\1\71\1\0\2\71\4\0\6\71"+ "\1\0\2\71\1\116\31\71\1\116\12\71\1\u022b\21\71"+ "\1\u022b\20\71\1\0\1\71\1\0\2\71\4\0\6\71"+ "\1\0\35\71\1\u022c\32\71\1\u022c\21\71\1\0\1\71"+ "\1\0\2\71\4\0\2\71\1\u022d\3\71\1\0\16\71"+ "\1\u022d\73\71\1\0\1\71\1\0\2\71\4\0\5\71"+ "\1\u0114\1\0\17\71\1\u0114\36\71\1\u0222\14\71\1\u0222"+ "\16\71\1\0\1\71\1\0\2\71\4\0\6\71\1\0"+ "\27\71\1\u022e\23\71\1\u022e\36\71\1\0\1\71\1\0"+ "\2\71\4\0\6\71\1\0\47\71\1\u012b\21\71\1\u012b"+ "\20\71\1\0\1\71\1\0\2\71\4\0\6\71\1\0"+ "\47\71\1\u022f\21\71\1\u022f\20\71\1\0\1\71\1\0"+ "\2\71\4\0\6\71\1\0\10\71\1\u0114\10\71\1\u0114"+ "\70\71\1\0\1\71\1\0\2\71\4\0\6\71\1\0"+ "\2\71\1\u0230\31\71\1\u0230\55\71\1\0\1\71\1\0"+ "\2\71\4\0\6\71\1\0\20\71\1\u0231\51\71\1\u0231"+ "\17\71\1\0\1\71\1\0\2\71\4\0\6\71\1\0"+ "\64\71\1\u0232\10\71\1\u0232\14\71\1\0\1\71\1\0"+ "\2\71\4\0\6\71\1\0\1\u0233\7\71\1\u0234\10\71"+ "\1\u0234\41\71\1\u0233\26\71\1\0\1\71\1\0\2\71"+ "\4\0\6\71\1\0\10\71\1\u0235\10\71\1\u0235\70\71"+ "\1\0\1\71\1\0\2\71\4\0\6\71\1\0\2\71"+ "\1\u0236\31\71\1\u0236\55\71\1\0\1\71\1\0\2\71"+ "\4\0\3\71\1\u0237\2\71\1\0\47\71\1\u0238\4\71"+ "\1\u0237\14\71\1\u0238\20\71\1\0\1\71\1\0\2\71"+ "\4\0\5\71\1\u0239\1\0\17\71\1\u0239\72\71\1\0"+ "\1\71\1\0\2\71\4\0\1\u023a\5\71\1\0\37\71"+ "\1\u023a\52\71\1\0\1\71\1\0\2\71\4\0\6\71"+ "\1\0\50\71\1\u023b\6\71\1\u023b\32\71\1\0\1\71"+ "\1\0\2\71\4\0\6\71\1\0\47\71\1\116\21\71"+ "\1\116\20\71\1\0\1\71\1\0\2\71\4\0\1\u023c"+ "\5\71\1\0\37\71\1\u023c\52\71\1\0\1\71\1\0"+ "\2\71\4\0\1\u023d\5\71\1\0\37\71\1\u023d\52\71"+ "\1\0\1\71\1\0\2\71\4\0\6\71\1\0\61\71"+ "\1\116\16\71\1\116\11\71\1\0\1\71\1\0\2\71"+ "\4\0\1\u023e\5\71\1\0\1\71\1\u0116\1\u023f\5\71"+ "\1\u014a\10\71\1\u014a\6\71\2\u0240\2\71\1\u023f\1\71"+ "\1\u0116\1\u023e\52\71\1\0\1\71\1\0\2\71\4\0"+ "\6\71\1\0\35\71\1\u0241\32\71\1\u0241\21\71\1\0"+ "\1\71\1\0\2\71\4\0\6\71\1\0\2\71\1\u0242"+ "\31\71\1\u0242\27\71\1\u0243\10\71\1\u0243\14\71\1\0"+ "\1\71\1\0\2\71\4\0\2\71\1\u0244\3\71\1\0"+ "\16\71\1\u0244\1\71\1\u023d\26\71\1\u0223\21\71\1\u0223"+ "\1\u023d\17\71\1\0\1\71\1\0\2\71\4\0\3\71"+ "\1\u0245\2\71\1\0\54\71\1\u0245\35\71\1\0\1\71"+ "\1\0\2\71\4\0\2\71\1\u0246\3\71\1\0\16\71"+ "\1\u0246\73\71\1\0\1\71\1\0\2\71\4\0\5\71"+ "\1\u0247\1\0\2\71\1\u0248\14\71\1\u0247\14\71\1\u0248"+ "\55\71\1\0\1\71\1\0\2\71\4\0\4\71\1\u0249"+ "\1\71\1\0\51\71\1\u0249\40\71\1\0\1\71\1\0"+ "\2\71\4\0\6\71\1\0\10\71\1\u014a\10\71\1\u014a"+ "\70\71\1\0\1\71\1\0\2\71\4\0\6\71\1\0"+ "\50\71\1\u024a\6\71\1\u024a\32\71\1\0\1\71\1\0"+ "\2\71\4\0\6\71\1\0\50\71\1\u024b\6\71\1\u024b"+ "\32\71\1\0\1\71\1\0\2\71\4\0\6\71\1\0"+ "\56\71\1\u024c\14\71\1\u024c\16\71\1\0\1\71\1\0"+ "\2\71\4\0\6\71\1\0\35\71\1\u024d\32\71\1\u024d"+ "\21\71\1\0\1\71\1\0\2\71\4\0\5\71\1\u024e"+ "\1\0\17\71\1\u024e\72\71\1\0\1\71\1\0\2\71"+ "\4\0\6\71\1\0\103\71\1\u021e\3\71\1\u021e\2\71"+ "\1\0\1\71\1\0\2\71\4\0\5\71\1\u024f\1\0"+ "\17\71\1\u024f\72\71\1\0\1\71\1\0\2\71\4\0"+ "\2\71\1\116\3\71\1\0\16\71\1\116\16\71\1\u0250"+ "\23\71\1\116\6\71\1\u0250\7\71\1\116\11\71\1\0"+ "\1\71\1\0\2\71\4\0\5\71\1\u0251\1\0\1\71"+ "\1\116\15\71\1\u0251\16\71\1\116\53\71\1\0\1\71"+ "\1\0\2\71\4\0\6\71\1\0\20\71\1\116\51\71"+ "\1\116\17\71\1\0\1\71\1\0\2\71\4\0\5\71"+ "\1\u0252\1\0\17\71\1\u0252\72\71\1\0\1\71\1\0"+ "\2\71\4\0\6\71\1\0\1\u0253\62\71\1\u0253\26\71"+ "\1\0\1\71\1\0\2\71\4\0\6\71\1\0\50\71"+ "\1\116\6\71\1\116\32\71\1\0\1\71\1\0\2\71"+ "\4\0\5\71\1\u0254\1\0\17\71\1\u0254\1\u0255\51\71"+ "\1\u0255\17\71\1\0\1\71\1\0\2\71\4\0\6\71"+ "\1\0\1\71\1\u0256\34\71\1\u0256\53\71\1\0\1\71"+ "\1\0\2\71\4\0\2\71\1\u0257\1\71\1\116\1\71"+ "\1\0\16\71\1\u0257\32\71\1\116\40\71\1\0\1\71"+ "\1\0\2\71\4\0\6\71\1\0\50\71\1\u0258\6\71"+ "\1\u0258\32\71\1\0\1\71\1\0\2\71\4\0\2\71"+ "\1\116\3\71\1\0\16\71\1\116\71\71\7\0\1\u0259"+ "\16\0\1\u0259\116\0\1\u025a\45\0\1\u025a\57\0\1\u020f"+ "\16\0\1\u020f\103\0\12\u0150\1\u025b\23\u0150\1\u0153\75\u0150"+ "\1\0\127\u0150\50\0\1\u025c\61\0\1\137\12\0\6\137"+ "\1\0\3\137\2\0\6\137\1\0\1\137\1\u025d\5\137"+ "\1\0\2\137\1\0\3\137\2\0\4\137\6\0\17\137"+ "\3\0\15\137\1\0\3\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\2\150\1\u025e\2\0\4\150\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\7\0\1\64\11\0"+ "\1\144\110\0\1\u0158\12\0\6\u0158\1\0\3\u0158\2\0"+ "\6\u0158\1\0\7\u0158\1\0\2\u0158\1\0\3\u0158\2\0"+ "\4\u0158\6\0\17\u0158\3\0\15\u0158\1\0\3\u0158\12\0"+ "\6\u0158\1\0\3\u0158\2\0\1\u0158\2\u025f\1\u0158\1\u025f"+ "\1\u0158\1\u0260\6\u0158\1\u025f\1\0\2\u0158\1\0\3\u0158"+ "\1\u0260\1\0\4\u0158\6\0\17\u0158\3\0\12\u0158\1\u025f"+ "\2\u0158\1\0\3\u0158\12\0\6\u0158\1\0\2\u0158\1\u015a"+ "\2\0\1\u0158\2\u015c\1\u0158\1\u015c\1\u0158\1\0\6\u0158"+ "\1\u015c\1\0\2\u0158\1\0\1\u0158\2\u015b\2\0\1\u015a"+ "\3\u0158\6\0\2\u0158\1\u015b\6\u0158\1\u015b\5\u0158\3\0"+ "\12\u0158\1\u015c\2\u0158\1\0\3\u0158\12\0\6\u0158\1\0"+ "\2\u0158\1\u015a\2\0\1\u0158\2\u015d\1\u0158\1\u015d\1\u0158"+ "\1\0\6\u0158\1\u015d\1\0\2\u0158\1\0\1\u0158\2\u015b"+ "\1\0\1\u015c\1\u015a\3\u0158\6\0\2\u0158\1\u015b\6\u0158"+ "\1\u015b\5\u0158\3\0\12\u0158\1\u015d\2\u0158\1\0\3\u0158"+ "\12\0\6\u0158\1\0\1\u0158\1\u0261\1\u015a\2\0\1\u0158"+ "\1\u015d\1\u015e\1\u0158\1\u015e\1\u0158\1\0\6\u0158\1\u015e"+ "\1\0\2\u0158\1\0\1\u0158\2\u015b\1\0\1\u015c\1\u015a"+ "\1\u0158\1\u0261\1\u0158\6\0\2\u0158\1\u015b\6\u0158\1\u015b"+ "\5\u0158\3\0\12\u0158\1\u015e\2\u0158\1\0\3\u0158\12\0"+ "\1\u0158\1\u0262\4\u0158\1\0\2\u0158\1\u0262\2\0\1\u0158"+ "\4\u0262\1\u0158\1\0\5\u0158\2\u0262\1\0\2\u0158\1\0"+ "\1\u0158\2\u0262\2\0\2\u0262\2\u0158\6\0\2\u0158\1\u0262"+ "\1\u0158\1\u0262\4\u0158\1\u0262\5\u0158\3\0\1\u0262\11\u0158"+ "\1\u0262\2\u0158\1\0\2\u0158\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\1\u0263\3\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\2\150"+ "\1\u0264\3\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\1\u0265\5\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\1\150\1\u0266\2\150\6\0\14\150\1\137"+ "\1\u0188\1\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\1\150"+ "\1\u0267\4\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\6\150\1\u0268\5\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\3\150\1\u0269\10\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\2\150\1\u026a"+ "\1\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\12\150\1\u0188\1\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\2\150\1\u026b\3\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\14\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\1\u026c"+ "\3\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\1\150\1\u026d\12\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\2\150\1\u026e\3\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\14\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\3\150\1\u026f\2\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\14\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\2\150\1\u0270\1\150\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\1\150"+ "\1\u0271\12\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\1\150\1\u0188\4\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\3\150\1\u0272\2\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\1\u0273"+ "\5\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\4\150\1\u0274\7\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\3\150\1\u0275\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\4\150"+ "\1\u0276\7\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\2\150\1\u0277\3\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\3\150\1\u0278\10\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\1\150\1\u0279\2\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\3\150\1\u027a\6\0\14\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\2\150\1\u027b\3\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\3\150\1\u027c"+ "\2\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\3\150\1\u027d\10\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\1\150\1\u027e\2\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\1\150\1\u027f\12\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\6\150\1\u0280\5\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\3\150\1\u0281\2\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\14\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\4\150\1\u0282\1\150\1\0\1\137\1\150\1\0\2\150"+ "\1\u0283\2\0\2\150\1\u0284\1\150\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\1\u0285\5\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\14\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\4\150\1\u0286\1\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\14\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\1\150\1\u0287\4\150\1\u0288"+ "\5\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\1\150\1\u0289\4\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\4\150\1\u028a\7\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\2\150\1\u028b\3\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\3\150\1\u0275"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\1\150\1\u028c\2\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\1\150\1\u028d\2\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\3\150"+ "\1\u028e\2\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\2\150\1\u028f\3\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\3\150\1\u0290\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\1\150\1\u0291\1\150\2\0\4\150"+ "\6\0\14\150\1\137\2\150\3\0\2\150\1\u0292\12\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\3\150\1\u0293\10\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\6\150"+ "\1\u0294\5\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\2\150\1\u0295\3\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\2\150\1\u0296\1\150\6\0\6\150"+ "\1\u0297\5\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\2\150\1\u0298\3\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\14\150\1\137\2\150"+ "\3\0\2\150\1\u0188\12\150\1\0\2\150\14\0\1\u0299"+ "\7\0\1\u0299\3\0\4\u0299\7\0\2\u0299\5\0\2\u0299"+ "\2\0\2\u0299\12\0\1\u0299\1\0\1\u0299\4\0\1\u0299"+ "\10\0\1\u0299\11\0\1\u0299\21\0\1\u029a\7\0\1\u029a"+ "\3\0\4\u029a\7\0\2\u029a\5\0\2\u029a\2\0\2\u029a"+ "\12\0\1\u029a\1\0\1\u029a\4\0\1\u029a\10\0\1\u029a"+ "\11\0\1\u029a\20\0\1\u029b\45\0\1\u029b\143\0\1\u029c"+ "\116\0\1\u029d\112\0\1\u029e\172\0\1\u029f\42\0\1\u02a0"+ "\45\0\1\u02a0\75\0\1\u02a1\117\0\6\u019c\1\u019d\3\u019c"+ "\2\0\1\u019c\2\0\1\u019c\4\0\5\u019c\5\0\3\u019c"+ "\2\0\4\u019c\6\0\14\u019c\1\0\2\u019c\3\0\12\u019c"+ "\1\0\2\u019c\1\0\23\u019c\1\u019d\110\u019c\73\0\1\u02a2"+ "\116\0\1\u02a3\112\0\1\u02a4\172\0\1\u02a5\105\0\1\u02a6"+ "\112\0\1\u02a7\30\0\1\u02a8\1\u02a9\135\0\1\u02aa\73\0"+ "\1\u02ab\150\0\1\u02ac\17\0\1\u02ad\76\0\1\u02ae\144\0"+ "\1\u02af\132\0\1\u02b0\131\0\1\u02b1\114\0\1\u02b2\145\0"+ "\1\u02b3\133\0\1\u02b4\11\0\1\u02b5\1\0\1\u02b6\1\0"+ "\1\u02b7\4\0\1\u02b8\26\0\10\u01af\1\u02b9\25\u01af\1\u02ba"+ "\75\u01af\1\u02bb\5\u01af\1\u02bc\1\243\17\u01af\1\243\1\u01af"+ "\1\243\2\u01af\1\243\1\u02bd\5\243\6\u01af\1\243\50\u01af"+ "\1\243\5\u01af\2\u02be\1\u02bf\6\u02be\1\u01ed\120\u02be\11\u02bf"+ "\1\u01ed\120\u02bf\2\u02be\1\u02bf\5\u02be\1\u01b2\1\u02c0\17\u02be"+ "\1\u02c1\1\u02be\1\u02c2\2\u02be\1\u01b2\1\u02c3\4\u01b2\1\u02c1"+ "\6\u02be\1\u01b2\50\u02be\1\u02c2\5\u02be\2\u01b6\1\0\127\u01b6"+ "\50\0\1\u02c4\61\0\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\1\150\1\u02c5\4\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\1\150\1\u02c6\2\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\4\150\1\u02c7\7\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\1\150\1\u02c8\12\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\3\150\1\u02c9"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\1\150\1\u02ca\2\150\6\0\1\150\1\u02cb\12\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\1\150\1\u02cc\2\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\10\150\1\u02cd\3\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\3\150\1\u02ce\2\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\1\150\1\u02cf"+ "\2\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\1\u02d0\3\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\2\150\1\u02d1\3\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\3\150\1\u02d2\6\0"+ "\1\u02d3\1\150\1\u02d4\1\150\1\u02d5\7\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\2\150\1\u02d6\1\150\6\0"+ "\14\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\1\150\1\u02d7\12\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\4\150\1\u02d8\7\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\1\150\1\u02d9"+ "\4\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\3\150\1\u02da\10\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\3\150\1\u02db\2\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\3\150"+ "\1\u02dc\2\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\1\150\1\u02dd\4\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\14\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\1\u02de\5\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\4\150\1\u02df\7\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\1\150\1\u02e0\12\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\2\150\1\u02e1\3\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\14\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\1\150\1\u02e2\12\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\2\150\1\u0277\3\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\3\150\1\u02e3\6\0"+ "\14\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\1\150\1\u02e4\4\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\1\150\1\u027e\2\150\6\0\14\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\2\150\1\u0283\2\0\4\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\4\150\1\u028a\7\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\1\u02e5\5\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\u01d8\1\0\3\u01d8"+ "\2\0\6\u01d8\1\0\1\u02e6\6\u01d8\1\0\1\137\1\u01d8"+ "\1\0\3\u01d8\2\0\4\u01d8\6\0\14\u01d8\1\137\2\u01d8"+ "\3\0\15\u01d8\1\0\2\u01d8\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\2\150\1\u02e7\3\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\14\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\1\150\1\u02e8\4\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\6\150\1\u02e9\5\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\3\150\1\u02ea\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\3\150\1\u02eb"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\3\150\1\u02ec\10\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\2\150\1\u02ed\3\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\14\150\1\137\2\150\3\0\15\150\1\0\1\150\1\u02ee"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\2\150\1\u02ef\1\150\6\0\10\150\1\u02f0\3\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\14\150"+ "\1\137\1\150\1\u02f1\3\0\15\150\1\0\2\150\1\137"+ "\12\0\1\u02f2\1\u02f3\4\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\14\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\2\150\1\u02f4\3\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\3\150\1\u02f5\6\0"+ "\7\150\1\u02f6\4\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\1\150\1\u02f7\4\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\14\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\6\150\1\u02f8"+ "\5\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\1\150\1\u02f9\4\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\14\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\73\0\1\u02fa\116\0\1\u02fb\112\0\1\u02fc"+ "\172\0\1\u02fd\27\0\2\312\1\0\1\312\1\0\2\312"+ "\4\0\6\312\1\0\64\312\1\u02fe\25\312\1\0\1\312"+ "\1\0\2\312\4\0\6\312\1\0\64\312\1\u02ff\25\312"+ "\1\0\1\312\1\0\2\312\4\0\6\312\1\0\52\312"+ "\1\u0300\35\312\13\0\1\u0301\45\0\1\u0301\63\0\6\u01f3"+ "\1\0\3\u01f3\2\0\7\u01f3\1\0\6\u01f3\4\0\3\u01f3"+ "\1\0\5\u01f3\6\0\14\u01f3\1\0\2\u01f3\3\0\15\u01f3"+ "\1\0\2\u01f3\71\0\1\u0302\117\0\1\u0303\113\0\1\u0304"+ "\27\0\1\u0305\131\0\1\u0306\4\0\1\u0307\75\0\1\u0308"+ "\35\0\1\u0309\125\0\1\u030a\114\0\1\u030b\16\0\1\u030c"+ "\76\0\1\u030d\7\0\1\u030e\3\0\1\u030f\143\0\1\u0310"+ "\102\0\1\u0311\165\0\1\u0312\123\0\1\u0313\137\0\1\u0314"+ "\46\0\6\u0201\1\0\3\u0201\2\0\7\u0201\1\0\6\u0201"+ "\4\0\3\u0201\1\0\5\u0201\6\0\14\u0201\1\0\2\u0201"+ "\3\0\15\u0201\1\0\2\u0201\100\0\1\u0315\126\0\1\u0203"+ "\2\0\1\u0203\72\0\1\u0203\32\0\2\u0203\134\0\1\u0203"+ "\73\0\1\u0203\150\0\1\u0203\16\0\1\u0203\44\0\2\374"+ "\1\u0316\3\374\1\0\3\374\2\0\5\374\3\0\1\374"+ "\1\u0316\4\374\4\0\3\374\2\0\4\374\6\0\14\374"+ "\1\0\2\374\3\0\15\374\1\0\2\374\13\0\6\374"+ "\1\0\1\u0317\2\374\2\0\5\374\3\0\6\374\4\0"+ "\3\374\2\0\4\374\6\0\14\374\1\0\1\u0317\1\374"+ "\3\0\15\374\1\0\2\374\35\0\1\u0318\131\0\1\u0319"+ "\162\0\1\u031a\121\0\1\u0214\146\0\1\u031b\113\0\1\u031c"+ "\54\0\2\71\1\0\1\71\1\0\2\71\4\0\3\71"+ "\1\u031d\2\71\1\0\54\71\1\u031d\35\71\1\0\1\71"+ "\1\0\2\71\4\0\1\71\1\u0233\4\71\1\0\20\71"+ "\1\116\31\71\1\u0233\17\71\1\116\17\71\1\0\1\71"+ "\1\0\2\71\4\0\3\71\1\u031e\2\71\1\0\47\71"+ "\1\u031f\4\71\1\u031e\14\71\1\u031f\20\71\1\0\1\71"+ "\1\0\2\71\4\0\5\71\1\u0320\1\0\17\71\1\u0320"+ "\72\71\1\0\1\71\1\0\2\71\4\0\6\71\1\0"+ "\61\71\1\u0233\16\71\1\u0233\11\71\1\0\1\71\1\0"+ "\2\71\4\0\6\71\1\0\2\71\1\u0321\31\71\1\u0321"+ "\55\71\1\0\1\71\1\0\2\71\4\0\4\71\1\116"+ "\1\71\1\0\51\71\1\116\40\71\1\0\1\71\1\0"+ "\2\71\4\0\2\71\1\u0322\3\71\1\0\16\71\1\u0322"+ "\73\71\1\0\1\71\1\0\2\71\4\0\6\71\1\0"+ "\1\71\1\u024c\34\71\1\u024c\53\71\1\0\1\71\1\0"+ "\2\71\4\0\6\71\1\0\2\71\1\116\31\71\1\116"+ "\55\71\1\0\1\71\1\0\2\71\4\0\5\71\1\u0233"+ "\1\0\17\71\1\u0233\72\71\1\0\1\71\1\0\2\71"+ "\4\0\6\71\1\0\61\71\1\u0323\16\71\1\u0323\11\71"+ "\1\0\1\71\1\0\2\71\4\0\6\71\1\0\64\71"+ "\1\u0324\10\71\1\u0324\14\71\1\0\1\71\1\0\2\71"+ "\4\0\6\71\1\0\56\71\1\u0325\14\71\1\u0325\16\71"+ "\1\0\1\71\1\0\2\71\4\0\6\71\1\0\20\71"+ "\1\u0326\51\71\1\u0326\17\71\1\0\1\71\1\0\2\71"+ "\4\0\6\71\1\0\1\u0233\62\71\1\u0233\26\71\1\0"+ "\1\71\1\0\2\71\4\0\6\71\1\0\15\71\1\u023d"+ "\56\71\1\u023d\15\71\1\0\1\71\1\0\2\71\4\0"+ "\6\71\1\0\35\71\1\u0327\32\71\1\u0327\21\71\1\0"+ "\1\71\1\0\2\71\4\0\6\71\1\0\64\71\1\u024b"+ "\10\71\1\u024b\14\71\1\0\1\71\1\0\2\71\4\0"+ "\3\71\1\u0328\2\71\1\0\54\71\1\u0328\35\71\1\0"+ "\1\71\1\0\2\71\4\0\6\71\1\0\35\71\1\u0244"+ "\32\71\1\u0244\21\71\1\0\1\71\1\0\2\71\4\0"+ "\5\71\1\u0329\1\0\17\71\1\u0329\72\71\1\0\1\71"+ "\1\0\2\71\4\0\6\71\1\0\47\71\1\u023d\21\71"+ "\1\u023d\20\71\1\0\1\71\1\0\2\71\4\0\6\71"+ "\1\0\35\71\1\u0145\32\71\1\u0145\21\71\1\0\1\71"+ "\1\0\2\71\4\0\6\71\1\0\55\71\1\116\20\71"+ "\1\116\13\71\1\0\1\71\1\0\2\71\4\0\6\71"+ "\1\0\2\71\1\u032a\31\71\1\u032a\55\71\1\0\1\71"+ "\1\0\2\71\4\0\6\71\1\0\2\71\1\u014a\31\71"+ "\1\u014a\55\71\1\0\1\71\1\0\2\71\4\0\6\71"+ "\1\0\2\71\1\u024c\31\71\1\u024c\55\71\1\0\1\71"+ "\1\0\2\71\4\0\6\71\1\0\2\71\1\u0145\31\71"+ "\1\u0145\55\71\1\0\1\71\1\0\2\71\4\0\6\71"+ "\1\0\20\71\1\u032b\51\71\1\u032b\17\71\1\0\1\71"+ "\1\0\2\71\4\0\1\71\1\u032c\4\71\1\0\52\71"+ "\1\u032c\37\71\1\0\1\71\1\0\2\71\4\0\5\71"+ "\1\u032d\1\0\17\71\1\u032d\72\71\1\0\1\71\1\0"+ "\2\71\4\0\6\71\1\0\2\71\1\u032e\31\71\1\u032e"+ "\55\71\1\0\1\71\1\0\2\71\4\0\6\71\1\0"+ "\1\116\62\71\1\116\26\71\1\0\1\71\1\0\2\71"+ "\4\0\6\71\1\0\47\71\1\u032f\21\71\1\u032f\20\71"+ "\1\0\1\71\1\0\2\71\4\0\5\71\1\116\1\0"+ "\17\71\1\116\72\71\1\0\1\71\1\0\2\71\4\0"+ "\1\71\1\u0108\4\71\1\0\52\71\1\u0108\37\71\1\0"+ "\1\71\1\0\2\71\4\0\6\71\1\0\56\71\1\u0330"+ "\14\71\1\u0330\16\71\1\0\1\71\1\0\2\71\4\0"+ "\2\71\1\u0331\3\71\1\0\16\71\1\u0331\73\71\1\0"+ "\1\71\1\0\2\71\4\0\6\71\1\0\56\71\1\u0332"+ "\14\71\1\u0332\16\71\1\0\1\71\1\0\2\71\4\0"+ "\6\71\1\0\1\71\1\u0333\34\71\1\u0333\53\71\1\0"+ "\1\71\1\0\2\71\4\0\6\71\1\0\15\71\1\u0334"+ "\56\71\1\u0334\15\71\1\0\1\71\1\0\2\71\4\0"+ "\6\71\1\0\56\71\1\116\14\71\1\116\16\71\1\0"+ "\1\71\1\0\2\71\4\0\6\71\1\0\50\71\1\u0222"+ "\6\71\1\u0222\32\71\1\0\1\71\1\0\2\71\4\0"+ "\6\71\1\0\47\71\1\u0335\21\71\1\u0335\20\71\1\0"+ "\1\71\1\0\2\71\4\0\3\71\1\u0336\2\71\1\0"+ "\54\71\1\u0336\35\71\1\0\1\71\1\0\2\71\4\0"+ "\6\71\1\0\35\71\1\116\32\71\1\116\21\71\1\0"+ "\1\71\1\0\2\71\4\0\6\71\1\0\1\71\1\u0337"+ "\34\71\1\u0337\53\71\1\0\1\71\1\0\2\71\4\0"+ "\3\71\1\u012c\2\71\1\0\54\71\1\u012c\35\71\1\0"+ "\1\71\1\0\2\71\4\0\2\71\1\u0338\3\71\1\0"+ "\16\71\1\u0338\73\71\1\0\1\71\1\0\2\71\4\0"+ "\6\71\1\0\50\71\1\u0339\6\71\1\u0339\32\71\1\0"+ "\1\71\1\0\2\71\4\0\3\71\1\u032d\2\71\1\0"+ "\54\71\1\u032d\7\71\1\u0324\10\71\1\u0324\14\71\1\0"+ "\1\71\1\0\2\71\4\0\4\71\1\u0229\1\71\1\0"+ "\51\71\1\u0229\40\71\1\0\1\71\1\0\2\71\4\0"+ "\6\71\1\0\1\71\1\u033a\34\71\1\u033a\53\71\1\0"+ "\1\71\1\0\2\71\4\0\6\71\1\0\35\71\1\u033b"+ "\32\71\1\u033b\21\71\1\0\1\71\1\0\2\71\4\0"+ "\6\71\1\0\35\71\1\u033c\32\71\1\u033c\21\71\1\0"+ "\1\71\1\0\2\71\4\0\6\71\1\0\64\71\1\u033d"+ "\10\71\1\u033d\14\71\1\0\1\71\1\0\2\71\4\0"+ "\6\71\1\0\2\71\1\u014a\31\71\1\u014a\1\116\32\71"+ "\1\116\21\71\1\0\1\71\1\0\2\71\4\0\6\71"+ "\1\0\15\71\1\116\56\71\1\116\15\71\1\0\1\71"+ "\1\0\2\71\4\0\5\71\1\u033e\1\0\17\71\1\u033e"+ "\72\71\1\0\1\71\1\0\2\71\4\0\6\71\1\0"+ "\55\71\1\116\20\71\1\116\1\u033f\6\71\1\u033f\3\71"+ "\1\0\1\71\1\0\2\71\4\0\6\71\1\0\2\71"+ "\1\u012c\31\71\1\u012c\53\71\14\0\1\u0340\57\0\1\u0340"+ "\133\0\1\u025b\1\0\1\u025b\5\0\1\u025b\35\0\1\u0341"+ "\117\0\1\137\12\0\1\137\1\u0342\4\137\1\0\2\137"+ "\1\u0342\2\0\1\137\4\u0342\1\137\1\0\5\137\2\u0342"+ "\1\0\2\137\1\0\1\137\2\u0342\2\0\2\u0342\2\137"+ "\6\0\2\137\1\u0342\1\137\1\u0342\4\137\1\u0342\5\137"+ "\3\0\1\u0342\11\137\1\u0342\2\137\1\0\3\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\6\150\1\u0343\5\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\u0158\12\0\6\u0158\1\0\3\u0158\2\0\1\u0158"+ "\2\u025f\1\u0158\1\u025f\1\u0158\1\0\6\u0158\1\u025f\1\0"+ "\2\u0158\1\0\1\u0158\2\u015b\2\0\4\u0158\6\0\2\u0158"+ "\1\u015b\6\u0158\1\u015b\5\u0158\3\0\12\u0158\1\u025f\2\u0158"+ "\1\0\2\u0158\30\0\2\u025f\1\0\1\u025f\10\0\1\u025f"+ "\57\0\1\u025f\5\0\1\u0158\12\0\1\u0158\1\u0262\4\u0158"+ "\1\0\1\u0158\1\u0261\1\u0262\2\0\1\u0158\4\u0262\1\u0158"+ "\1\0\5\u0158\2\u0262\1\0\2\u0158\1\0\1\u0158\2\u0262"+ "\2\0\2\u0262\1\u0261\1\u0158\6\0\2\u0158\1\u0262\1\u0158"+ "\1\u0262\4\u0158\1\u0262\5\u0158\3\0\1\u0262\11\u0158\1\u0262"+ "\2\u0158\1\0\2\u0158\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\3\150\1\u0173\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\1\u0344\5\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\14\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\1\u0345"+ "\3\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\3\150\1\u0346\2\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\14\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\1\150\1\u0347"+ "\12\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\3\150"+ "\1\u0188\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\1\u0348\3\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\2\150\1\u0188\1\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\6\150\1\u0349\5\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\1\150\1\u034a\2\150\6\0\14\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\2\150\1\u034b\1\150\6\0"+ "\14\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\1\u034c"+ "\3\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\4\150\1\u034d\7\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\3\150\1\u0265\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\1\150\1\u034e"+ "\2\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\1\150\1\u034f\2\150\6\0\14\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\10\150\1\u0188"+ "\3\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\1\u0350\13\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\1\u0188\3\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\1\150\1\u0351\2\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\1\u0352\3\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\1\150\1\u0353\12\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\2\150\1\u0354\1\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\2\150"+ "\1\u0355\3\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\14\150\1\137\1\150\1\u034c\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\1\u016e\3\150\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\2\150\1\u0356"+ "\3\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\1\150\1\u034e\4\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\2\150\1\u028b\3\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\4\150\1\u0357\7\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\1\u0358\5\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\1\150\1\u0359\2\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\1\u035a\3\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\4\150\1\u035b\1\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\2\150\1\u0356\1\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\2\150"+ "\1\u035c\3\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\13\150\1\u035d\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\3\150\1\u035e\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\7\150"+ "\1\u035f\4\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\4\150\1\u0295\7\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\3\150\1\u0268\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\1\150\1\u034c"+ "\4\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\2\150\1\u0360\3\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\3\150\1\u0361\6\0\14\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\1\u0362\3\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\2\150"+ "\1\u0363\3\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\6\150\1\u0364\5\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\1\150\1\u0365\2\150\6\0"+ "\14\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\2\150"+ "\1\u0366\1\150\6\0\1\150\1\u0353\12\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\2\150\1\u0275\1\150\6\0"+ "\14\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\1\u0188\13\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\1\150\1\u0367\2\150\6\0\14\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\2\150\1\u0188"+ "\11\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\1\150\1\u0188\12\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\14\0\1\u0368\7\0\1\u0368\3\0\4\u0368"+ "\7\0\2\u0368\5\0\2\u0368\2\0\2\u0368\12\0\1\u0368"+ "\1\0\1\u0368\4\0\1\u0368\10\0\1\u0368\11\0\1\u0368"+ "\21\0\1\u0369\7\0\1\u0369\3\0\4\u0369\7\0\2\u0369"+ "\5\0\2\u0369\2\0\2\u0369\12\0\1\u0369\1\0\1\u0369"+ "\4\0\1\u0369\10\0\1\u0369\11\0\1\u0369\21\0\1\u036a"+ "\57\0\1\u036a\123\0\1\u036b\121\0\1\u029c\146\0\1\u036c"+ "\113\0\1\u036d\70\0\1\u036e\57\0\1\u036e\56\0\1\u036f"+ "\176\0\1\u0370\121\0\1\u02a2\146\0\1\u0371\113\0\1\u0372"+ "\115\0\1\u0373\131\0\1\u0374\130\0\1\u0375\163\0\1\u0376"+ "\116\0\1\u0377\14\0\1\u0378\76\0\1\u0379\130\0\1\u037a"+ "\15\0\1\u037b\115\0\1\u037c\150\0\1\u037d\143\0\1\u037e"+ "\76\0\1\u037f\132\0\1\u0380\131\0\1\u0381\30\0\1\u0382"+ "\77\0\1\u0383\167\0\1\u0384\124\0\1\u0385\131\0\1\u0386"+ "\102\0\1\u0387\146\0\1\u0388\52\0\2\u01af\1\u02bb\5\u01af"+ "\1\u0389\121\u01af\10\u02bb\1\u02b9\121\u02bb\2\u02bc\1\u0389\5\u02bc"+ "\1\u01b0\25\u02bc\1\u038a\73\u02bc\10\u01af\1\u02b9\3\u01af\1\u038b"+ "\7\u01af\1\u038b\3\u01af\4\u038b\2\u01af\1\u02ba\4\u01af\2\u038b"+ "\5\u01af\2\u038b\2\u01af\2\u038b\12\u01af\1\u038b\1\u01af\1\u038b"+ "\4\u01af\1\u038b\10\u01af\1\u038b\11\u01af\1\u038b\5\u01af\2\u02be"+ "\1\u02bf\6\u02be\1\u01b4\120\u02be\11\u02bf\1\u01b4\120\u02bf\11\0"+ "\1\u01ed\120\0\2\u02be\1\u02bf\6\u02be\1\u01ed\17\u02be\1\u02c2"+ "\1\u02be\1\u02c2\10\u02be\1\u02c2\57\u02be\1\u02c2\7\u02be\1\u02bf"+ "\6\u02be\1\u01ed\17\u02be\1\u01b2\1\u02be\1\u01b2\10\u02be\1\u01b2"+ "\57\u02be\1\u01b2\7\u02be\1\u02bf\6\u02be\1\u01b4\2\u02be\1\u038c"+ "\7\u02be\1\u038c\3\u02be\4\u038c\7\u02be\2\u038c\5\u02be\2\u038c"+ "\2\u02be\2\u038c\12\u02be\1\u038c\1\u02be\1\u038c\4\u02be\1\u038c"+ "\10\u02be\1\u038c\11\u02be\1\u038c\5\u02be\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\6\150"+ "\1\u038d\5\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\4\150\1\u038e\7\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\1\u038f\5\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\1\150\1\u0390"+ "\4\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\2\150\1\u0391\3\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\3\150\1\u0392\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\3\150\1\u0393"+ "\2\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\1\150\1\u0394\4\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\3\150\1\u0395\10\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\2\150"+ "\1\u0396\1\u0397\2\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\14\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\2\150\1\u0397\11\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\1\150\1\u0397"+ "\4\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\1\u0398\3\150\6\0\14\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\2\150\1\u0399\3\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\1\u039a\3\150\6\0"+ "\14\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\1\u039b"+ "\3\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\1\150\1\u039c\12\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\1\u039d\3\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\4\150\1\u039e\7\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\7\150\1\u039f\4\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\1\u03a0\3\150\6\0\1\150"+ "\1\u03a1\12\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\1\u03a2\3\150\6\0\14\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\14\150\1\137\1\150\1\u0354"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\7\150\1\u03a3"+ "\4\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\1\150\1\u03a4\12\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\10\150\1\u03a5\3\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\1\u03a6\3\150\6\0"+ "\14\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\2\150"+ "\1\u03a7\1\150\6\0\14\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\1\u0354\3\150\6\0\14\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\1\150\1\u0390\2\150\6\0"+ "\14\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\1\u0353"+ "\3\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\6\150\1\u03a8\5\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\4\150\1\u03a9\1\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\14\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\137\1\0\3\137\2\0\6\137\1\0\1\137"+ "\1\u03aa\5\137\1\0\2\137\1\0\3\137\2\0\4\137"+ "\6\0\17\137\3\0\15\137\1\0\3\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\1\150"+ "\1\u03ab\12\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\1\150\1\u03ac\2\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\2\150\1\u03ad\3\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\2\150"+ "\1\u03ae\3\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\1\u03af\3\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\1\u03b0\3\150\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\14\150"+ "\1\137\2\150\3\0\1\150\1\u03b1\13\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\1\u03b2\3\150\6\0\14\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\2\150\1\u03b3\1\150\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\4\150\1\u03b4"+ "\1\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\1\150\1\u03b5\2\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\1\u03b6\5\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\2\150\1\u03b7\1\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\1\u0354\13\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\1\u03b8\5\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\1\150\1\u03b9\2\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\3\150"+ "\1\u03ba\2\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\6\150\1\u03bb\5\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\2\150\1\u0354"+ "\11\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\2\150\1\u03bc\3\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\14\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\66\0\1\u03bd\121\0\1\u02fa\146\0\1\u03be"+ "\113\0\1\u03bf\54\0\2\312\1\0\1\312\1\0\2\312"+ "\4\0\6\312\1\0\36\312\1\u03c0\53\312\1\0\1\312"+ "\1\0\2\312\4\0\6\312\1\0\34\312\1\u03c1\55\312"+ "\1\0\1\312\1\0\2\312\4\0\6\312\1\0\36\312"+ "\1\u03c2\51\312\20\0\1\u03c3\20\0\1\u03c3\161\0\1\u0305"+ "\100\0\1\u03c4\161\0\1\u03c5\102\0\1\316\164\0\1\u03c6"+ "\75\0\1\u03c7\150\0\1\u03c8\145\0\1\u03c9\77\0\1\u03ca"+ "\132\0\1\u03cb\16\0\1\u03cc\112\0\1\u03cd\145\0\1\u03ce"+ "\151\0\1\u03cf\106\0\1\u03d0\161\0\1\u03d1\106\0\1\u03d2"+ "\132\0\1\u0308\126\0\1\u03d3\134\0\1\u03d4\143\0\1\u03d5"+ "\51\0\3\374\1\u03d6\2\374\1\0\3\374\2\0\5\374"+ "\3\0\6\374\4\0\3\374\2\0\4\374\6\0\6\374"+ "\1\u03d6\5\374\1\0\2\374\3\0\15\374\1\0\2\374"+ "\13\0\6\374\1\0\1\374\1\u03d7\1\374\2\0\5\374"+ "\3\0\6\374\4\0\3\374\2\0\2\374\1\u03d7\1\374"+ "\6\0\14\374\1\0\2\374\3\0\15\374\1\0\2\374"+ "\12\0\1\u03d8\200\0\1\u0214\4\0\1\u031a\50\0\3\u03d9"+ "\1\0\1\u03d9\7\u031c\1\0\3\u031c\2\u03d9\5\u031c\2\u03d9"+ "\1\0\6\u031c\1\0\1\u03d9\1\u031c\1\u03d9\3\u031c\2\u03d9"+ "\4\u031c\1\0\1\u03d9\1\0\3\u03d9\14\u031c\1\u03d9\2\u031c"+ "\3\u03d9\15\u031c\1\0\2\u031c\2\71\1\0\1\71\1\0"+ "\2\71\4\0\4\71\1\u023d\1\71\1\0\51\71\1\u023d"+ "\40\71\1\0\1\71\1\0\2\71\4\0\6\71\1\0"+ "\55\71\1\u0222\20\71\1\u0222\13\71\1\0\1\71\1\0"+ "\2\71\4\0\6\71\1\0\20\71\1\u0119\51\71\1\u0119"+ "\17\71\1\0\1\71\1\0\2\71\4\0\3\71\1\u032d"+ "\2\71\1\0\54\71\1\u032d\35\71\1\0\1\71\1\0"+ "\2\71\4\0\1\71\1\u023d\4\71\1\0\52\71\1\u023d"+ "\37\71\1\0\1\71\1\0\2\71\4\0\1\71\1\u0222"+ "\4\71\1\0\52\71\1\u0222\37\71\1\0\1\71\1\0"+ "\2\71\4\0\6\71\1\0\35\71\1\u03da\32\71\1\u03da"+ "\21\71\1\0\1\71\1\0\2\71\4\0\2\71\1\u03db"+ "\3\71\1\0\16\71\1\u03db\73\71\1\0\1\71\1\0"+ "\2\71\4\0\6\71\1\0\2\71\1\u03dc\31\71\1\u03dc"+ "\1\u032a\32\71\1\u032a\21\71\1\0\1\71\1\0\2\71"+ "\4\0\6\71\1\0\50\71\1\u03dd\6\71\1\u03dd\32\71"+ "\1\0\1\71\1\0\2\71\4\0\6\71\1\0\56\71"+ "\1\u0222\14\71\1\u0222\16\71\1\0\1\71\1\0\2\71"+ "\4\0\6\71\1\0\20\71\1\u03de\51\71\1\u03de\17\71"+ "\1\0\1\71\1\0\2\71\4\0\6\71\1\0\35\71"+ "\1\u03df\32\71\1\u03df\21\71\1\0\1\71\1\0\2\71"+ "\4\0\6\71\1\0\20\71\1\u0145\51\71\1\u0145\17\71"+ "\1\0\1\71\1\0\2\71\4\0\5\71\1\u03e0\1\0"+ "\17\71\1\u03e0\72\71\1\0\1\71\1\0\2\71\4\0"+ "\6\71\1\0\55\71\1\u03e1\20\71\1\u03e1\13\71\1\0"+ "\1\71\1\0\2\71\4\0\6\71\1\0\47\71\1\u0142"+ "\21\71\1\u0142\20\71\1\0\1\71\1\0\2\71\4\0"+ "\6\71\1\0\30\71\2\u03e2\60\71\1\0\1\71\1\0"+ "\2\71\4\0\6\71\1\0\15\71\1\u032a\56\71\1\u032a"+ "\15\71\1\0\1\71\1\0\2\71\4\0\6\71\1\0"+ "\35\71\1\u03e3\32\71\1\u03e3\21\71\1\0\1\71\1\0"+ "\2\71\4\0\6\71\1\0\2\71\1\u03e4\31\71\1\u03e4"+ "\55\71\1\0\1\71\1\0\2\71\4\0\6\71\1\0"+ "\50\71\1\u03e5\6\71\1\u03e5\32\71\1\0\1\71\1\0"+ "\2\71\4\0\2\71\1\u0222\3\71\1\0\16\71\1\u0222"+ "\73\71\1\0\1\71\1\0\2\71\4\0\6\71\1\0"+ "\20\71\1\u03e6\51\71\1\u03e6\17\71\1\0\1\71\1\0"+ "\2\71\4\0\1\71\1\u0114\4\71\1\0\52\71\1\u0114"+ "\37\71\1\0\1\71\1\0\2\71\4\0\6\71\1\0"+ "\2\71\1\u023d\31\71\1\u023d\55\71\1\0\1\71\1\0"+ "\2\71\4\0\6\71\1\0\2\71\1\u03e7\31\71\1\u03e7"+ "\55\71\1\0\1\71\1\0\2\71\4\0\6\71\1\0"+ "\47\71\1\u0119\21\71\1\u0119\20\71\1\0\1\71\1\0"+ "\2\71\4\0\3\71\1\u03e8\2\71\1\0\54\71\1\u03e8"+ "\35\71\1\0\1\71\1\0\2\71\4\0\5\71\1\u03e9"+ "\1\0\1\71\1\u03ea\15\71\1\u03e9\16\71\1\u03ea\25\71"+ "\1\u03eb\10\71\1\u03eb\14\71\1\0\1\71\1\0\2\71"+ "\4\0\6\71\1\0\2\71\1\u0142\31\71\1\u0142\55\71"+ "\1\0\1\71\1\0\2\71\4\0\3\71\1\u03ec\2\71"+ "\1\0\54\71\1\u03ec\35\71\1\0\1\71\1\0\2\71"+ "\4\0\6\71\1\0\15\71\1\u03ed\56\71\1\u03ed\13\71"+ "\15\0\1\u03ee\22\0\1\u03ee\71\0\1\137\12\0\1\137"+ "\1\u03ef\4\137\1\0\2\137\1\u03ef\2\0\1\137\4\u03ef"+ "\1\137\1\0\5\137\2\u03ef\1\0\2\137\1\0\1\137"+ "\2\u03ef\2\0\2\u03ef\2\137\6\0\2\137\1\u03ef\1\137"+ "\1\u03ef\4\137\1\u03ef\5\137\3\0\1\u03ef\11\137\1\u03ef"+ "\2\137\1\0\3\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\3\150\1\u03f0\2\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\1\150\1\u03f1"+ "\4\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\3\150\1\u03f2\6\0\14\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\12\150\1\u03f3\1\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\1\150"+ "\1\u03f4\12\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\13\150\1\u0275\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\7\150\1\u0188\4\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\1\u03f5\3\150\6\0"+ "\14\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\2\150\1\u03f6\3\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\14\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\2\150\1\u034c\3\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\2\150\1\u03f7\1\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\3\150\1\u02e1\10\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\3\150\1\u03f8\2\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\1\150"+ "\1\u0361\4\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\1\150\1\u03f9\4\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\14\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\6\150\1\u03fa"+ "\5\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\1\u03fb\13\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\14\150\1\137\1\150\1\u03fc\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\1\u03fd\5\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\2\150\1\u0275"+ "\3\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\2\150\1\u026e\1\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\1\u03fe\3\150\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\1\150\1\u035a\2\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\1\u03ff\3\150\6\0\14\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\1\150\1\u0400\2\150\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\6\150"+ "\1\u0401\5\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\2\150\1\u0188\3\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\1\150\1\u0402\4\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\1\150\1\u0403"+ "\2\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\3\150\1\u0404\2\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\14\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\14\150\1\137"+ "\2\150\3\0\2\150\1\u0354\12\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\1\u0405"+ "\3\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\2\150\1\u018b\3\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\14\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\15\0\1\u0406\22\0\1\u0406"+ "\103\0\1\u0407\200\0\1\u029c\4\0\1\u036b\50\0\3\u0408"+ "\1\0\1\u0408\7\u036d\1\0\3\u036d\2\u0408\5\u036d\2\u0408"+ "\1\0\6\u036d\1\0\1\u0408\1\u036d\1\u0408\3\u036d\2\u0408"+ "\4\u036d\1\0\1\u0408\1\0\3\u0408\14\u036d\1\u0408\2\u036d"+ "\3\u0408\15\u036d\1\0\2\u036d\15\0\1\u0409\22\0\1\u0409"+ "\103\0\1\u040a\200\0\1\u02a2\4\0\1\u0370\50\0\3\u040b"+ "\1\0\1\u040b\7\u0372\1\0\3\u0372\2\u040b\5\u0372\2\u040b"+ "\1\0\6\u0372\1\0\1\u040b\1\u0372\1\u040b\3\u0372\2\u040b"+ "\4\u0372\1\0\1\u040b\1\0\3\u040b\14\u0372\1\u040b\2\u0372"+ "\3\u040b\15\u0372\1\0\2\u0372\37\0\1\u040c\163\0\1\u040d"+ "\116\0\1\u040e\12\0\1\u040f\131\0\1\u037b\140\0\1\u0410"+ "\107\0\1\u0411\1\0\1\u0412\141\0\1\u0413\137\0\1\u0414"+ "\127\0\1\u0415\126\0\1\u0416\100\0\1\u0417\150\0\1\u0418"+ "\130\0\1\u0419\131\0\1\u041a\131\0\1\u041b\134\0\1\u041c"+ "\111\0\1\u041d\1\u041e\163\0\1\u041f\127\0\1\u0420\127\0"+ "\1\u0421\121\0\1\u0422\51\0\10\u0389\1\0\25\u0389\1\u0423"+ "\75\u0389\1\0\5\u0389\2\u02bc\17\u0389\1\u02bc\1\u0389\1\u02bc"+ "\2\u0389\1\u02bc\1\u0424\5\u02bc\6\u0389\1\u02bc\50\u0389\1\u02bc"+ "\5\u0389\10\u01af\1\u02b9\3\u01af\1\u0425\7\u01af\1\u0425\3\u01af"+ "\4\u0425\2\u01af\1\u02ba\4\u01af\2\u0425\5\u01af\2\u0425\2\u01af"+ "\2\u0425\12\u01af\1\u0425\1\u01af\1\u0425\4\u01af\1\u0425\10\u01af"+ "\1\u0425\11\u01af\1\u0425\5\u01af\2\u02be\1\u02bf\6\u02be\1\u01b4"+ "\2\u02be\1\u0426\7\u02be\1\u0426\3\u02be\4\u0426\7\u02be\2\u0426"+ "\5\u02be\2\u0426\2\u02be\2\u0426\12\u02be\1\u0426\1\u02be\1\u0426"+ "\4\u02be\1\u0426\10\u02be\1\u0426\11\u02be\1\u0426\5\u02be\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\3\150\1\u0427\2\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\4\150\1\u0428\7\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\7\150\1\u0429"+ "\4\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\1\150\1\u042a\4\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\14\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\2\150\1\u0354\3\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\1\u042b\3\150\6\0"+ "\14\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\3\150"+ "\1\u042c\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\1\u042d\3\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\1\u042e\5\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\1\150\1\u042f\2\150\6\0"+ "\14\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\1\150"+ "\1\u02d0\2\150\6\0\6\150\1\u0430\5\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\6\150\1\u0431"+ "\5\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\1\150"+ "\1\u02e5\2\150\6\0\14\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\1\150\1\u0432\4\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\14\150\1\137"+ "\1\150\1\u0433\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\1\150\1\u0434"+ "\2\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\1\150\1\u0435\4\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\14\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\5\150\1\u0436"+ "\6\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\10\150\1\u0437\3\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\14\150\1\137\1\150\1\u0438"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\1\u0439\3\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\1\150\1\u043a"+ "\2\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\1\150\1\u043b\2\150\6\0\14\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\12\150\1\u0397"+ "\1\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\14\150\1\137\2\150\3\0\2\150\1\u043c\12\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\1\150\1\u043d\2\150\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\1\150\1\u0354"+ "\4\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\1\150\1\u043e\4\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\3\150\1\u043f\10\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\1\u0440\3\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\4\150\1\u0441\7\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\2\150\1\u02e1\1\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\1\137\1\u0442\4\137\1\0\2\137\1\u0442\2\0\1\137"+ "\4\u0442\1\137\1\0\5\137\2\u0442\1\0\2\137\1\0"+ "\1\137\2\u0442\2\0\2\u0442\2\137\6\0\2\137\1\u0442"+ "\1\137\1\u0442\4\137\1\u0442\5\137\3\0\1\u0442\11\137"+ "\1\u0442\2\137\1\0\3\137\12\0\1\150\1\u0443\4\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\14\150\1\137\1\u0444\1\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\1\u0445\13\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\1\150\1\u0446\4\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\1\150\1\u0447"+ "\4\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\3\150\1\u02cf\2\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\2\150\1\u0448\2\0\4\150\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\4\150"+ "\1\u0390\7\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\4\150\1\u0449\1\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\1\u044a\3\150\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\2\150\1\u044b"+ "\3\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\4\150\1\u044c\7\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\1\150\1\u044d\2\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\3\150\1\u044e\10\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\2\150\1\u044f\3\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\14\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\1\150\1\u0450"+ "\12\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\2\150\1\u0451\2\0"+ "\4\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\1\u0452\5\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\12\0\1\u0453\200\0\1\u02fa\4\0"+ "\1\u03bd\50\0\3\u0454\1\0\1\u0454\7\u03bf\1\0\3\u03bf"+ "\2\u0454\5\u03bf\2\u0454\1\0\6\u03bf\1\0\1\u0454\1\u03bf"+ "\1\u0454\3\u03bf\2\u0454\4\u03bf\1\0\1\u0454\1\0\3\u0454"+ "\14\u03bf\1\u0454\2\u03bf\3\u0454\15\u03bf\1\0\2\u03bf\2\312"+ "\1\0\1\312\1\0\2\312\4\0\6\312\1\0\54\312"+ "\1\u0455\35\312\1\0\1\312\1\0\2\312\4\0\6\312"+ "\1\0\15\312\1\u0456\72\312\22\0\1\u0457\62\0\1\u0457"+ "\132\0\1\u0458\60\0\1\u0459\133\0\1\u045a\153\0\1\u03cc"+ "\113\0\1\u045b\127\0\1\u045c\166\0\1\u045d\141\0\1\316"+ "\64\0\1\u045e\167\0\1\316\105\0\1\u045f\116\0\1\u0460"+ "\132\0\1\u03d1\146\0\1\u0461\160\0\1\u045e\120\0\1\u0462"+ "\133\0\1\u0463\124\0\1\u0464\53\0\4\374\1\u0465\1\374"+ "\1\0\3\374\2\0\5\374\3\0\6\374\4\0\3\374"+ "\2\0\4\374\6\0\3\374\1\u0465\10\374\1\0\2\374"+ "\3\0\15\374\1\0\2\374\13\0\6\374\1\0\2\374"+ "\1\u0466\2\0\5\374\3\0\6\374\4\0\3\374\2\0"+ "\1\u0466\3\374\6\0\14\374\1\0\2\374\3\0\15\374"+ "\1\0\2\374\12\0\1\u031c\117\0\2\71\1\0\1\71"+ "\1\0\2\71\4\0\1\116\5\71\1\0\37\71\1\116"+ "\52\71\1\0\1\71\1\0\2\71\4\0\6\71\1\0"+ "\47\71\1\u0467\21\71\1\u0467\20\71\1\0\1\71\1\0"+ "\2\71\4\0\6\71\1\0\20\71\1\u023d\51\71\1\u023d"+ "\17\71\1\0\1\71\1\0\2\71\4\0\6\71\1\0"+ "\2\71\1\u0468\31\71\1\u0468\55\71\1\0\1\71\1\0"+ "\2\71\4\0\5\71\1\u0469\1\0\17\71\1\u0469\72\71"+ "\1\0\1\71\1\0\2\71\4\0\2\71\1\u046a\3\71"+ "\1\0\16\71\1\u046a\73\71\1\0\1\71\1\0\2\71"+ "\4\0\1\u046b\5\71\1\0\37\71\1\u046b\52\71\1\0"+ "\1\71\1\0\2\71\4\0\6\71\1\0\77\71\1\u046c"+ "\6\71\1\u046c\3\71\1\0\1\71\1\0\2\71\4\0"+ "\6\71\1\0\47\71\1\u03dc\21\71\1\u03dc\20\71\1\0"+ "\1\71\1\0\2\71\4\0\6\71\1\0\56\71\1\u046d"+ "\14\71\1\u046d\16\71\1\0\1\71\1\0\2\71\4\0"+ "\1\u0337\5\71\1\0\37\71\1\u0337\52\71\1\0\1\71"+ "\1\0\2\71\4\0\6\71\1\0\1\u0244\62\71\1\u0244"+ "\26\71\1\0\1\71\1\0\2\71\4\0\1\u03da\5\71"+ "\1\0\37\71\1\u03da\52\71\1\0\1\71\1\0\2\71"+ "\4\0\6\71\1\0\1\71\1\u03da\34\71\1\u03da\53\71"+ "\1\0\1\71\1\0\2\71\4\0\6\71\1\0\2\71"+ "\1\u046e\31\71\1\u046e\55\71\1\0\1\71\1\0\2\71"+ "\4\0\3\71\1\u012e\2\71\1\0\54\71\1\u012e\35\71"+ "\1\0\1\71\1\0\2\71\4\0\2\71\1\u046f\3\71"+ "\1\0\16\71\1\u046f\73\71\1\0\1\71\1\0\2\71"+ "\4\0\1\71\1\u0470\4\71\1\0\52\71\1\u0470\37\71"+ "\1\0\1\71\1\0\2\71\4\0\6\71\1\0\2\71"+ "\1\u0222\31\71\1\u0222\53\71\16\0\1\u0471\57\0\1\u0471"+ "\33\0\1\137\12\0\1\137\1\u0472\4\137\1\0\2\137"+ "\1\u0472\2\0\1\137\4\u0472\1\137\1\0\5\137\2\u0472"+ "\1\0\2\137\1\0\1\137\2\u0472\2\0\2\u0472\2\137"+ "\6\0\2\137\1\u0472\1\137\1\u0472\4\137\1\u0472\5\137"+ "\3\0\1\u0472\11\137\1\u0472\2\137\1\0\3\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\6\150\1\u0473\5\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\3\150\1\u0474\2\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\14\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\6\150\1\u0475"+ "\5\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\2\150\1\u0188\2\0"+ "\4\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\1\150\1\u0476\2\150\6\0\14\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\6\150\1\u0477"+ "\5\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\2\150"+ "\1\u0478\1\150\6\0\14\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\2\150\1\u0268\11\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\1\150\1\u0479\2\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\4\150\1\u0188\7\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\1\150\1\u047a\4\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\14\150\1\137\1\150\1\u027d\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\2\150\1\u0361\1\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\4\150\1\u047b\7\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\3\150\1\u047c\2\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\1\150\1\261"+ "\1\150\2\0\4\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\14\150\1\137\1\150"+ "\1\u0275\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\3\150\1\u047d"+ "\2\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\2\150\1\u047e"+ "\2\0\4\150\6\0\14\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\3\150\1\u047f\2\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\6\150"+ "\1\u01cf\5\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\10\150\1\u0480\3\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\16\0\1\u0481\57\0\1\u0481\45\0"+ "\1\u036d\135\0\1\u0482\57\0\1\u0482\45\0\1\u0372\157\0"+ "\1\u0483\131\0\1\u0484\150\0\1\u0485\154\0\1\u0486\122\0"+ "\1\u0487\131\0\1\u0488\75\0\1\u0489\163\0\1\u048a\117\0"+ "\1\u048b\130\0\1\u037b\133\0\1\u048c\127\0\1\u048d\153\0"+ "\1\u037b\137\0\1\u048e\63\0\1\u048f\166\0\1\u037b\132\0"+ "\1\u0490\111\0\1\u0491\152\0\1\u0492\47\0\1\u0493\172\0"+ "\1\u0492\131\0\1\u0494\112\0\1\u0420\72\0\2\u0389\1\0"+ "\137\u0389\1\0\3\u0389\1\u0495\7\u0389\1\u0495\3\u0389\4\u0495"+ "\2\u0389\1\u0423\4\u0389\2\u0495\5\u0389\2\u0495\2\u0389\2\u0495"+ "\12\u0389\1\u0495\1\u0389\1\u0495\4\u0389\1\u0495\10\u0389\1\u0495"+ "\11\u0389\1\u0495\5\u0389\10\u01af\1\u02b9\3\u01af\1\u0496\7\u01af"+ "\1\u0496\3\u01af\4\u0496\2\u01af\1\u02ba\4\u01af\2\u0496\5\u01af"+ "\2\u0496\2\u01af\2\u0496\12\u01af\1\u0496\1\u01af\1\u0496\4\u01af"+ "\1\u0496\10\u01af\1\u0496\11\u01af\1\u0496\5\u01af\2\u02be\1\u02bf"+ "\6\u02be\1\u01b4\2\u02be\1\u0497\7\u02be\1\u0497\3\u02be\4\u0497"+ "\7\u02be\2\u0497\5\u02be\2\u0497\2\u02be\2\u0497\12\u02be\1\u0497"+ "\1\u02be\1\u0497\4\u02be\1\u0497\10\u02be\1\u0497\11\u02be\1\u0497"+ "\5\u02be\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\14\150\1\137\1\150\1\u0498\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\2\150\1\u0499\3\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\5\150\1\u049a\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\14\150\1\137\2\150\3\0\1\150\1\u049b\13\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\6\150\1\u049c\5\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\10\150"+ "\1\u0354\3\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\1\150\1\u049d\4\150\1\0\1\150\1\u049e"+ "\1\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\1\150\1\u049f\1\150\2\0\4\150\6\0"+ "\14\150\1\137\2\150\3\0\2\150\1\u04a0\12\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\1\150\1\u02e5\2\150\6\0\14\150\1\137\2\150"+ "\3\0\2\150\1\u04a1\12\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\1\u04a2\3\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\4\150\1\u04a3\7\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\2\150\1\u0433\1\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\10\150\1\u04a4\3\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\1\150\1\u04a5\1\150\1\u04a6\2\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\1\u03a4\3\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\3\150\1\u04a7\2\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\6\150\1\u04a8\5\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\14\150\1\137\2\150\3\0\1\150\1\u04a9\13\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\3\150\1\u04aa\10\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\1\150\1\u04ab\2\150\6\0"+ "\14\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\3\150"+ "\1\u04ac\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\14\150\1\137\1\150\1\u02e1\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\2\150\1\u04ad\11\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\1\150\1\u04ae\12\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\14\150\1\137\1\150\1\u04af\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\1\150\1\u04b0\12\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\2\150"+ "\1\u04b1\3\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\1\150\1\u04b2\2\150\6\0\14\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\2\150\1\u04b3\3\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\14\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\1\137\1\u04b4\4\137\1\0\2\137\1\u04b4\2\0"+ "\1\137\4\u04b4\1\137\1\0\5\137\2\u04b4\1\0\2\137"+ "\1\0\1\137\2\u04b4\2\0\2\u04b4\2\137\6\0\2\137"+ "\1\u04b4\1\137\1\u04b4\4\137\1\u04b4\5\137\3\0\1\u04b4"+ "\11\137\1\u04b4\2\137\1\0\3\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\2\150\1\u04b5\1\150\6\0"+ "\14\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\1\u04b6\2\150\1\u04b7\2\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\10\150\1\u04b8\3\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\1\150\1\u04b9"+ "\2\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\2\150\1\u04ba\3\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\14\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\14\150\1\137"+ "\2\150\3\0\3\150\1\u04bb\11\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\1\150\1\u04bc\12\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\1\150\1\u04bd\4\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\6\150"+ "\1\u04be\5\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\1\u04bf\13\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\3\150\1\u04c0\6\0\14\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\3\150\1\u04c1"+ "\10\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\6\150\1\u04c2\5\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\12\150\1\u04c3\1\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\14\150"+ "\1\137\1\u04c4\1\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\1\150"+ "\1\u04c5\2\150\6\0\14\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\12\0\1\u03bf\117\0\2\312\1\0\1\312"+ "\1\0\2\312\4\0\6\312\1\0\21\312\1\u03c1\70\312"+ "\1\0\1\312\1\0\2\312\4\0\6\312\1\0\50\312"+ "\1\u02ff\37\312\23\0\1\u04c6\34\0\1\u04c6\127\0\1\u0305"+ "\133\0\1\u04c7\10\0\1\u04c8\2\0\1\u04c9\116\0\1\316"+ "\130\0\1\u04ca\156\0\1\316\127\0\1\u04cb\63\0\1\u04cc"+ "\165\0\1\u04cd\121\0\1\u04ce\110\0\1\316\170\0\1\u04ca"+ "\73\0\1\u04ca\130\0\1\u04cf\104\0\5\374\1\u04d0\1\0"+ "\3\374\2\0\5\374\3\0\2\374\1\u04d0\3\374\4\0"+ "\3\374\2\0\4\374\6\0\14\374\1\0\2\374\3\0"+ "\15\374\1\0\2\374\2\71\1\0\1\71\1\0\2\71"+ "\4\0\6\71\1\0\15\71\1\u021f\56\71\1\u021f\15\71"+ "\1\0\1\71\1\0\2\71\4\0\6\71\1\0\27\71"+ "\1\116\23\71\1\116\36\71\1\0\1\71\1\0\2\71"+ "\4\0\6\71\1\0\2\71\1\u04d1\31\71\1\u04d1\55\71"+ "\1\0\1\71\1\0\2\71\4\0\6\71\1\0\2\71"+ "\1\u0248\31\71\1\u0248\55\71\1\0\1\71\1\0\2\71"+ "\4\0\6\71\1\0\47\71\1\u010e\21\71\1\u010e\20\71"+ "\1\0\1\71\1\0\2\71\4\0\6\71\1\0\15\71"+ "\1\u04d2\56\71\1\u04d2\15\71\1\0\1\71\1\0\2\71"+ "\4\0\6\71\1\0\2\71\1\u03da\31\71\1\u03da\55\71"+ "\1\0\1\71\1\0\2\71\4\0\6\71\1\0\56\71"+ "\1\u04d3\14\71\1\u04d3\16\71\1\0\1\71\1\0\2\71"+ "\4\0\3\71\1\u0145\2\71\1\0\54\71\1\u0145\35\71"+ "\1\0\1\71\1\0\2\71\4\0\6\71\1\0\47\71"+ "\1\u024c\21\71\1\u024c\16\71\17\0\1\u04d4\53\0\1\u04d4"+ "\36\0\1\137\12\0\1\137\1\150\4\137\1\0\2\137"+ "\1\150\2\0\1\137\4\150\1\137\1\0\5\137\2\150"+ "\1\0\2\137\1\0\1\137\2\150\2\0\2\150\2\137"+ "\6\0\2\137\1\150\1\137\1\150\4\137\1\150\5\137"+ "\3\0\1\150\11\137\1\150\2\137\1\0\3\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\2\150"+ "\1\u0478\3\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\1\u04d5\3\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\3\150\1\u034c\2\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\1\150\1\u04d6\12\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\14\150\1\137\1\u0188\1\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\4\150\1\u0361\7\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\1\150\1\u04d7\12\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\2\150\1\u04d8\3\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\14\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\3\150\1\u0390\2\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\14\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\1\u0275\5\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\1\150\1\u04d9\2\150\6\0\14\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\4\150\1\u0269"+ "\7\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\1\u04da"+ "\3\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\17\0\1\u04db\53\0\1\u04db\55\0\1\u04dc\53\0"+ "\1\u04dc\100\0\1\u037b\165\0\1\u04dd\125\0\1\u04de\120\0"+ "\1\u037b\130\0\1\u0415\112\0\1\u041c\162\0\1\u0415\77\0"+ "\1\u037b\151\0\1\u04df\127\0\1\u04e0\147\0\1\u04e1\126\0"+ "\1\u04e2\102\0\1\u04dd\160\0\1\u0483\100\0\1\u04e3\71\0"+ "\62\u0492\1\u037b\47\u0492\71\0\1\u04e4\100\0\1\u04e5\71\0"+ "\10\u0389\1\0\3\u0389\1\u04e6\7\u0389\1\u04e6\3\u0389\4\u04e6"+ "\2\u0389\1\u0423\4\u0389\2\u04e6\5\u0389\2\u04e6\2\u0389\2\u04e6"+ "\12\u0389\1\u04e6\1\u0389\1\u04e6\4\u0389\1\u04e6\10\u0389\1\u04e6"+ "\11\u0389\1\u04e6\5\u0389\10\u01af\1\u02b9\3\u01af\1\243\7\u01af"+ "\1\243\3\u01af\4\243\2\u01af\1\u02ba\4\u01af\2\243\5\u01af"+ "\2\243\2\u01af\2\243\12\u01af\1\243\1\u01af\1\243\4\u01af"+ "\1\243\10\u01af\1\243\11\u01af\1\243\5\u01af\2\u02be\1\u02bf"+ "\6\u02be\1\u01b4\2\u02be\1\u01b2\7\u02be\1\u01b2\3\u02be\4\u01b2"+ "\7\u02be\2\u01b2\5\u02be\2\u01b2\2\u02be\2\u01b2\12\u02be\1\u01b2"+ "\1\u02be\1\u01b2\4\u02be\1\u01b2\10\u02be\1\u01b2\11\u02be\1\u01b2"+ "\5\u02be\1\137\12\0\3\150\1\u04b7\2\150\1\0\3\150"+ "\2\0\3\150\1\u04e7\2\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\14\150\1\137\2\150\3\0\3\150\1\301\11\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\1\150\1\u04e8\4\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\14\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\13\150\1\u04e9"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\2\150"+ "\1\u04ea\3\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\1\150\1\u04eb\2\150\6\0\6\150\1\u04ec\5\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\1\150\1\u04ed\12\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\1\150\1\u04ee\12\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\1\150\1\u04ef"+ "\12\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\1\150\1\u04f0\12\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\1\u04f1\1\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\2\150\1\u04f2\3\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\14\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\1\u04f3"+ "\3\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\1\u04f4\5\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\1\150\1\u04f5\2\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\2\150"+ "\1\u04f6\3\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\2\150\1\u04f7\3\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\14\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\1\u04f8\5\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\1\150\1\u04f9"+ "\2\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\2\150\1\u04fa\1\150\6\0\14\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\3\150\1\u04fb\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\1\150\1\u04fc\1\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\1\0"+ "\1\u04fd\4\150\6\0\11\150\1\u04fe\2\150\1\137\2\150"+ "\3\0\5\150\1\u04ff\7\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\2\150"+ "\1\u0500\3\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\1\u04c4\3\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\3\150\1\u0501\2\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\6\150\1\u0502\5\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\3\150\1\u0354\2\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\14\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\2\150\1\u0503\2\0\4\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\1\137\1\u0504\4\137\1\0\2\137\1\u0504\2\0\1\137"+ "\4\u0504\1\137\1\0\5\137\2\u0504\1\0\2\137\1\0"+ "\1\137\2\u0504\2\0\2\u0504\2\137\6\0\2\137\1\u0504"+ "\1\137\1\u0504\4\137\1\u0504\5\137\3\0\1\u0504\11\137"+ "\1\u0504\2\137\1\0\3\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\1\150\1\u0505\12\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\2\150"+ "\1\u0506\3\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\3\150\1\u0507\2\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\14\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\1\u0508\3\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\4\150\1\u0509\7\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\6\150\1\u050a\5\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\1\u050b\3\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\6\150\1\u050c\5\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\1\150"+ "\1\u050d\1\150\2\0\4\150\6\0\14\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\13\150\1\u050e"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\1\150\1\u050f\1\150\2\0"+ "\4\150\6\0\14\150\1\137\2\150\3\0\3\150\1\u0510"+ "\11\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\3\150\1\u0511\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\1\150"+ "\1\u0512\12\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\3\150\1\u0513\6\0\14\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\3\150\1\u04c4\2\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\2\150\1\u0514\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\14\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\2\150"+ "\1\u0515\1\150\6\0\14\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\24\0\1\u0516\31\0\1\u0516\132\0\1\u03c7"+ "\125\0\1\u0517\146\0\1\u0518\117\0\1\u0519\131\0\1\316"+ "\144\0\1\u04c8\2\0\1\u04c9\75\0\1\u04cb\132\0\1\u051a"+ "\131\0\1\u051b\70\0\2\71\1\0\1\71\1\0\2\71"+ "\4\0\6\71\1\0\27\71\1\u023d\23\71\1\u023d\36\71"+ "\1\0\1\71\1\0\2\71\4\0\6\71\1\0\47\71"+ "\1\u0110\21\71\1\u0110\20\71\1\0\1\71\1\0\2\71"+ "\4\0\4\71\1\u051c\1\71\1\0\51\71\1\u051c\36\71"+ "\20\0\1\u051d\20\0\1\u051d\70\0\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\3\150\1\u0361"+ "\2\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\3\150\1\u0188\2\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\3\150\1\u051e\2\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\1\u0297\3\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\4\150\1\u0275\7\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\3\150\1\u051f\2\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\20\0\1\u0520"+ "\20\0\1\u0520\110\0\1\u0521\20\0\1\u0521\147\0\1\u0522"+ "\133\0\1\u0523\122\0\1\u0524\26\0\1\u0525\71\0\1\u0415"+ "\147\0\1\u0526\112\0\1\u0527\150\0\1\u0528\143\0\1\u0529"+ "\136\0\1\u052a\33\0\10\u0389\1\0\3\u0389\1\u052b\7\u0389"+ "\1\u052b\3\u0389\4\u052b\2\u0389\1\u0423\4\u0389\2\u052b\5\u0389"+ "\2\u052b\2\u0389\2\u052b\12\u0389\1\u052b\1\u0389\1\u052b\4\u0389"+ "\1\u052b\10\u0389\1\u052b\11\u0389\1\u052b\5\u0389\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\1\u052c"+ "\5\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\1\150\1\u052d\2\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\1\u052e\3\150\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\14\150"+ "\1\137\1\u052f\1\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\3\150"+ "\1\u0530\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\1\150\1\u0531\4\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\14\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\1\150\1\u0532\2\150\6\0"+ "\14\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\1\150\1\u0533\4\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\14\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\2\150\1\u0534\3\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\2\150\1\u0535"+ "\3\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\1\u0536\5\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\14\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\1\u0537\3\150\6\0\14\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\4\150\1\u0538"+ "\1\150\1\0\2\150\1\u0539\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\3\150\1\u053a\10\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\2\150\1\u04c4\1\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\6\150\1\u053b\5\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\1\150\1\u053c\2\150\6\0\14\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\2\150\1\u053d\3\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\14\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\2\150\1\u053e\3\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\14\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\1\u053f\4\150\1\u0540\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\14\150\1\137"+ "\2\150\3\0\1\u0541\2\150\1\u0542\11\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\3\150\1\u0543"+ "\2\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\1\150\1\u0544\12\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\13\0\1\u0545"+ "\102\0\1\u0546\13\0\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\1\301\3\150\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\1\150\1\u0547"+ "\4\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\4\150\1\u0548\1\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\3\150\1\u0549\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\1\150"+ "\1\u054a\12\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\3\150\1\u0188\10\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\1\137\1\u01d8\4\137"+ "\1\0\2\137\1\u01d8\2\0\1\137\4\u01d8\1\137\1\0"+ "\5\137\2\u01d8\1\0\2\137\1\0\1\137\2\u01d8\2\0"+ "\2\u01d8\2\137\6\0\2\137\1\u01d8\1\137\1\u01d8\4\137"+ "\1\u01d8\5\137\3\0\1\u01d8\11\137\1\u01d8\2\137\1\0"+ "\3\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\3\150\1\u054b\6\0\14\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\1\150\1\u054c\12\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\2\150"+ "\1\u02d4\11\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\2\150\1\u054d\3\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\2\150\1\u054e\3\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\1\150\1\u04c3\12\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\10\150\1\u054f\3\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\3\150\1\u0550\2\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\14\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\1\150\1\u0551\12\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\1\u0552\3\150\6\0\14\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\6\150\1\u0553"+ "\5\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\1\u0554"+ "\3\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\11\150\1\u0555\2\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\1\150\1\u0556\4\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\14\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\2\150\1\u0557\2\0"+ "\4\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\1\150\1\u01ca\4\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\14\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\14\150\1\137"+ "\2\150\3\0\3\150\1\u0558\11\150\1\0\2\150\21\0"+ "\1\u0559\145\0\1\u055a\172\0\1\u055b\125\0\1\316\74\0"+ "\1\u055c\153\0\1\u055d\52\0\2\71\1\0\1\71\1\0"+ "\2\71\4\0\6\71\1\0\1\71\1\u055e\34\71\1\u055e"+ "\51\71\21\0\1\u055f\110\0\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\6\150\1\u0560"+ "\5\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\2\150\1\u0268\3\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\14\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\21\0\1\u0561\131\0\1\u0562\170\0\1\u037b"+ "\130\0\1\u0563\150\0\1\u0564\112\0\1\u0565\113\0\1\u0566"+ "\175\0\1\u037b\104\0\1\u0492\112\0\1\u0492\131\0\1\u0567"+ "\70\0\10\u0389\1\0\3\u0389\1\u02bc\7\u0389\1\u02bc\3\u0389"+ "\4\u02bc\2\u0389\1\u0423\4\u0389\2\u02bc\5\u0389\2\u02bc\2\u0389"+ "\2\u02bc\12\u0389\1\u02bc\1\u0389\1\u02bc\4\u0389\1\u02bc\10\u0389"+ "\1\u02bc\11\u0389\1\u02bc\5\u0389\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\2\150\1\u0568\2\0\4\150\6\0\6\150"+ "\1\u0569\5\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\4\150\1\u056a\7\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\1\150\1\u056b\4\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\2\150\1\u0539\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\14\150\1\137\2\150\3\0\3\150\1\u056c\11\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\2\150\1\u056d\3\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\4\150"+ "\1\u056e\7\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\2\150\1\u0433\11\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\10\150\1\u056f\3\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\1\150\1\u0570\1\150\2\0"+ "\4\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\1\u0571\5\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\1\u0572\3\150\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\1\150\1\u0573"+ "\4\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\1\u0574\3\150\6\0\14\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\5\150\1\u0575\6\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\2\150\1\u0576"+ "\3\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\1\150\1\u0577\2\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\4\150\1\u0578\1\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\14\150\1\137\2\150\3\0\1\150\1\u0579\13\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\6\150\1\u057a\5\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\2\150\1\u057b\3\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\14\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\1\u057c\13\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\1\150\1\u057d\4\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\4\150\1\u057e\7\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\1\150\1\u057f\12\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\1\u0580\5\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\4\150\1\u0175\7\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\41\0\1\u0581"+ "\132\0\1\u0582\67\0\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\1\150\1\u0583\12\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\1\150"+ "\1\u0584\4\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\2\150\1\u0585\3\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\14\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\3\150\1\u0586\2\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\14\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\1\u0397"+ "\3\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\1\150\1\u0587\4\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\14\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\6\150\1\u0588"+ "\5\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\14\150\1\137\2\150\3\0\3\150\1\u0589\11\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\1\150\1\u058a\12\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\2\150\1\u058b"+ "\3\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\1\150\1\u058c\4\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\14\150\1\137\2\150"+ "\3\0\1\u058d\14\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\1\u058e\3\150\6\0"+ "\14\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\2\150\1\u058f\3\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\14\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\1\u0590\3\150\6\0\14\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\2\150\1\u0591\3\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\14\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\6\150\1\u0592\5\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\1\150\1\u0593\2\150\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\41\0\1\u0594\150\0"+ "\1\u0519\131\0\1\u0595\113\0\1\u0596\67\0\2\71\1\0"+ "\1\71\1\0\2\71\4\0\6\71\1\0\35\71\1\u0110"+ "\32\71\1\u0110\17\71\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\14\150\1\137\2\150"+ "\3\0\14\150\1\u04d8\1\0\2\150\53\0\1\u0597\134\0"+ "\1\u0598\114\0\1\u0599\146\0\1\u059a\154\0\1\u059b\30\0"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\2\150\1\u0433"+ "\2\0\4\150\6\0\14\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\2\150\1\u0532\1\150\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\1\u059c\3\150\6\0"+ "\14\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\2\150\1\u059d\2\0"+ "\4\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\1\150\1\u059e\2\150\6\0\14\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\2\150\1\u0539\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\1\u059f"+ "\5\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\1\150\1\u05a0\2\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\1\150\1\u05a1\12\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\1\u05a2"+ "\5\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\3\150\1\u05a3\2\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\1\0\1\u05a4\4\150\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\1\150\1\u05a5"+ "\4\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\4\150\1\u05a6\7\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\1\u05a7\3\150\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\2\150\1\u05a8"+ "\3\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\2\150\1\u05a9\1\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\2\150\1\u05aa\2\0\4\150\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\4\150\1\u05ab"+ "\1\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\1\150\1\u05ac\2\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\1\150\1\u05ad\4\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\14\150\1\137\1\150\1\u05ae\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\4\150\1\u05af\7\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\3\150\1\u05b0\2\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\6\150\1\u05b1\5\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\57\0\1\u05b2\146\0\1\u05b3\35\0\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\1\u05b4"+ "\5\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\1\u05b5\3\150\6\0\14\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\1\150\1\u05b6\2\150\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\3\150"+ "\1\u05b7\2\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\1\u056d\3\150\6\0\14\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\4\150\1\u056d\7\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\1\u05b8\3\150\6\0"+ "\14\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\1\150\1\u0451\4\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\14\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\1\u05b9\3\150\6\0\14\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\10\150\1\u05ba"+ "\3\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\1\150\1\u05bb\4\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\14\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\2\150\1\u05bc\1\150\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\1\u05bd"+ "\13\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\2\150\1\u05be\2\0"+ "\4\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\1\u05bf\3\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\1\u05c0\3\150\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\4\150"+ "\1\u05c1\7\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\105\0\1\u05c2\102\0\1\u05c3\17\0\1\u05c4\74\0\1\u05c5"+ "\146\0\1\u05c6\133\0\1\u059a\130\0\1\u037b\144\0\1\u037b"+ "\130\0\1\u05c7\40\0\1\137\12\0\6\150\1\0\2\150"+ "\1\u05c8\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\2\150\1\u05c9\1\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\3\150\1\u05ca\2\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\2\150\1\u05cb\1\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\2\150"+ "\1\u04c4\3\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\1\u05cc\5\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\3\150\1\u05cd\10\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\4\150\1\u02e1\7\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\13\0\1\u05ce\102\0\1\u05cf\13\0\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\10\150\1\u05d0\3\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\1\u05d1\3\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\2\150\1\u056d\11\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\6\150\1\u05d2\5\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\1\u05d3\3\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\3\150\1\u05d4\2\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\2\150\1\u05d5"+ "\1\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\2\150\1\u0587\3\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\14\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\1\u05d6\3\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\1\u05d7"+ "\5\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\1\u05d8\3\150\6\0\14\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\6\150\1\u05d9\5\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\2\150\1\u05da\1\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\41\0\1\u05db\147\0\1\u05dc\52\0\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\3\150"+ "\1\u0354\10\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\3\150\1\u05dd\6\0\14\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\3\150\1\u05de\2\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\3\150\1\u05df"+ "\2\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\2\150\1\u05e0\3\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\1\150\1\u056d\4\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\1\150\1\u0530"+ "\2\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\1\150\1\u05e1\4\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\14\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\2\150\1\u05e2"+ "\11\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\1\150\1\u05bc\12\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\1\150\1\u05e3\1\150\2\0\4\150\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\2\150"+ "\1\u05e4\11\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\2\150\1\u05e5\11\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\1\u05e6\13\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\73\0\1\u04cb\77\0"+ "\1\u03d0\132\0\1\u04cb\130\0\1\u0527\164\0\1\u0492\35\0"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\2\150\1\u05e7\1\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\1\150\1\u05e8\12\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\1\150\1\u05e9"+ "\2\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\1\150\1\u05ea\2\150\6\0\14\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\3\150\1\u05a7\2\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\14\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\3\150\1\u05eb\10\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\37\0\1\u05ec\134\0\1\u05ed\67\0\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\6\150\1\u05ee\5\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\3\150\1\u05ef\10\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\1\150"+ "\1\u05f0\12\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\5\150\1\u05f1\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\14\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\1\150\1\u05f2\12\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\1\u05f3\3\150\6\0"+ "\14\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\1\150"+ "\1\u05f4\2\150\6\0\14\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\10\150\1\u05dd\3\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\3\150\1\u05f5\6\0"+ "\14\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\2\150\1\u05f6\3\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\14\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\2\150\1\u05f7\11\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\56\0\1\u05f8\112\0"+ "\1\u05f9\72\0\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\1\u05fa\3\150\6\0\14\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\2\150\1\u03a2\3\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\14\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\3\150\1\u05fb\2\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\14\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\1\u05fc\13\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\1\150\1\u05fd\2\150\6\0"+ "\14\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\2\150\1\u05fe\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\1\150\1\u05ff\12\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\1\150\1\u0600"+ "\4\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\14\150\1\137\2\150\3\0\1\150\1\u0601\13\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\1\150\1\u0602\1\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\14\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\6\150\1\u0603"+ "\5\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\1\u0604"+ "\3\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\12\150\1\u04c4\1\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\14\150\1\137"+ "\1\150\1\u0433\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\1\150"+ "\1\u0605\4\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\1\150\1\u0606\12\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\43\0\1\u0607\164\0\1\u0608"+ "\33\0\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\3\150\1\u0609\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\2\150\1\u060a\3\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\3\150"+ "\1\u05e2\2\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\1\u060b\13\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\1\u060c\5\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\1\150"+ "\1\u060d\4\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\2\150\1\u060e\11\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\3\150\1\u05e2\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\1\150"+ "\1\u060f\12\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\1\u0610\3\150\6\0\14\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\106\0\1\u0611\23\0\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\3\150\1\u0530"+ "\2\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\3\150\1\u0612\2\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\1\150\1\u0613\12\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\14\150\1\137\1\u0614\1\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\1\150\1\u01ca\4\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\5\150\1\u0575\6\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\1\u0615\5\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\14\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\2\150"+ "\1\u0616\1\150\6\0\14\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\3\150\1\u0617\10\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\6\150"+ "\1\u0618\5\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\3\150\1\u04af\2\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\10\150\1\u0619\3\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\6\150\1\u061a\5\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\1\150\1\u053a\4\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\14\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\61\0\1\u061b\144\0\1\u061c"+ "\35\0\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\3\150\1\u060a\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\6\150\1\u061d\5\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\1\150"+ "\1\u061e\4\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\3\150\1\u061f\2\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\14\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\2\150\1\u0620\1\150\6\0"+ "\14\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\1\u053f\5\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\1\150\1\u060e\4\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\14\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\1\150\1\u0621\4\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\4\150\6\0"+ "\14\150\1\137\2\150\3\0\15\150\1\0\2\150\70\0"+ "\1\u0622\41\0\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\6\150\1\u0623\5\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\2\150"+ "\1\u04c4\11\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\1\u0624\5\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\14\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\3\150\1\u0613\2\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\1\150\1\u0625\2\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\1\u0626\3\150\6\0\14\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\3\150\1\u0627\2\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\1\u047c\3\150\6\0"+ "\14\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\2\150\1\u0451\3\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\14\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\56\0\1\u0628\144\0\1\u0629\40\0\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\1\150\1\u04b2\12\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\1\u062a\3\150\6\0\14\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\2\150\1\u062b"+ "\11\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\1\150"+ "\1\u062c\2\150\6\0\14\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\1\0\1\u062d\4\150\6\0\14\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\41\0\1\u062e\70\0\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\2\150\1\u062f\3\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\14\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137"; private static final String ZZ_TRANS_PACKED_1 = "\1\150\1\0\3\150\2\0\4\150\6\0\6\150\1\u0630"+ "\5\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\3\150"+ "\1\u0631\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\1\150\1\u0632\4\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\14\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\7\150\1\u04c4"+ "\4\150\1\137\2\150\3\0\15\150\1\0\2\150\41\0"+ "\1\u05f8\162\0\1\u0633\37\0\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\1\150\1\u0634\2\150\6\0"+ "\14\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\3\150"+ "\1\u056d\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\3\150\1\u0635\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\15\0\1\u0636\140\0\1\u0637\105\0"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\6\150\1\u0638\5\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\14\150\1\137\2\150"+ "\3\0\14\150\1\u0587\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\3\150\1\u0639\6\0"+ "\14\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\1\150"+ "\1\u063a\2\150\6\0\14\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\56\0\1\u063b\53\0\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\2\150"+ "\1\u063c\11\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\3\150\1\u063d\6\0\14\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\56\0\1\u063e\150\0\1\u063f\34\0\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\1\150"+ "\1\u0640\2\150\6\0\14\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\14\150\1\137\2\150\3\0"+ "\10\150\1\u0641\4\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\2\150\1\u0642"+ "\3\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\13\0\1\u0643\16\0\1\u0644\77\0\1\137\12\0\6\150"+ "\1\0\1\150\1\u04fc\1\150\2\0\6\150\1\0\1\u0155"+ "\6\150\1\0\1\137\1\150\1\0\3\150\2\0\4\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\1\137\12\0\1\150\1\u0645\4\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\72\0\1\u0646\133\0\1\u0647\35\0"+ "\1\137\12\0\6\150\1\0\3\150\2\0\6\150\1\0"+ "\1\u0155\6\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\2\150\1\u0648\1\150\6\0\14\150\1\137\2\150\3\0"+ "\15\150\1\0\2\150\1\137\12\0\6\150\1\0\3\150"+ "\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\1\u0649\3\150\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\6\150"+ "\1\u064a\5\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\74\0\1\u064b\115\0\1\u064c\51\0\1\137\12\0\6\150"+ "\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0"+ "\1\137\1\150\1\0\3\150\2\0\4\150\6\0\1\u064d"+ "\13\150\1\137\2\150\3\0\15\150\1\0\2\150\76\0"+ "\1\u064e\111\0\1\u064f\53\0\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\4\150\6\0\6\150\1\u0650"+ "\5\150\1\137\2\150\3\0\15\150\1\0\2\150\1\137"+ "\12\0\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155"+ "\1\150\1\u0651\4\150\1\0\1\137\1\150\1\0\3\150"+ "\2\0\4\150\6\0\14\150\1\137\2\150\3\0\15\150"+ "\1\0\2\150\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\1\150\1\u0652\12\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\40\0\1\u0653\162\0"+ "\1\u0654\40\0\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\1\150\1\u0655\2\150\6\0\14\150\1\137"+ "\2\150\3\0\15\150\1\0\2\150\40\0\1\u0656\164\0"+ "\1\u0657\36\0\1\137\12\0\6\150\1\0\3\150\2\0"+ "\6\150\1\0\1\u0155\6\150\1\0\1\137\1\150\1\0"+ "\3\150\2\0\4\150\6\0\14\150\1\137\2\150\3\0"+ "\14\150\1\u0658\1\0\2\150\1\137\12\0\6\150\1\0"+ "\3\150\2\0\6\150\1\0\1\u0155\6\150\1\0\1\137"+ "\1\150\1\0\3\150\2\0\3\150\1\u04ba\6\0\14\150"+ "\1\137\2\150\3\0\15\150\1\0\2\150\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\3\150"+ "\1\u056d\2\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\76\0\1\u0659\127\0\1\u065a\35\0\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\3\150"+ "\1\u043d\2\150\1\0\1\137\1\150\1\0\3\150\2\0"+ "\4\150\6\0\14\150\1\137\2\150\3\0\15\150\1\0"+ "\2\150\56\0\1\u065b\114\0\1\u065c\70\0\1\137\12\0"+ "\6\150\1\0\3\150\2\0\6\150\1\0\1\u0155\6\150"+ "\1\0\1\137\1\150\1\0\3\150\2\0\1\u065d\3\150"+ "\6\0\14\150\1\137\2\150\3\0\15\150\1\0\2\150"+ "\73\0\1\u0628\135\0\1\u05f8\126\0\1\u065e\133\0\1\u065f"+ "\33\0\1\137\12\0\6\150\1\0\3\150\2\0\6\150"+ "\1\0\1\u0155\1\150\1\u04c4\4\150\1\0\1\137\1\150"+ "\1\0\3\150\2\0\4\150\6\0\14\150\1\137\2\150"+ "\3\0\15\150\1\0\2\150\41\0\1\u0660\161\0\1\u0661"+ "\115\0\1\u0662\116\0\1\u0663\107\0\1\u0664\234\0\1\u0665"+ "\113\0\1\u0666\103\0\1\u0667\145\0\1\u05db\100\0\1\u0668"+ "\161\0\1\u0669\117\0\1\u066a\127\0\1\u066b\113\0\1\u05f8"+ "\71\0"; private static int [] zzUnpackTrans() { int [] result = new int[136440]; int offset = 0; offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result); 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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); value--; do result[j++] = value; while (--count > 0); } return j; } /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; private static final int ZZ_PUSHBACK_2BIG = 2; /* error messages for the codes above */ private static final String ZZ_ERROR_MSG[] = { "Unkown internal scanner error", "Error: could not match input", "Error: pushback value was too large" }; /** * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute(); private static final String ZZ_ATTRIBUTE_PACKED_0 = "\6\0\2\1\1\0\2\1\1\0\2\1\14\0\1\1"+ "\3\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\11\1\2\11\2\1\2\11\2\1\1\11\6\1"+ "\1\11\1\1\1\11\2\1\1\11\7\1\1\11\43\1"+ "\1\11\10\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\6\1\2\11\5\0\1\11\105\1\1\11\2\0"+ "\1\1\1\0\1\1\1\11\1\0\74\1\1\11\2\1"+ "\1\0\1\11\10\0\2\11\20\0\1\1\1\11\2\1"+ "\1\0\1\11\30\1\1\11\32\1\1\11\4\0\1\11"+ "\3\1\1\0\1\11\1\1\15\0\1\1\1\0\1\11"+ "\5\0\1\1\2\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\70\1\40\0\1\11\1\1\1\0\3\1\1\0"+ "\72\1\4\0\3\1\25\0\2\1\2\11\2\0\44\1"+ "\1\0\1\11\46\1\1\0\1\11\3\0\1\1\1\0"+ "\1\11\2\0\1\1\10\0\1\11\15\0\64\1\2\0"+ "\4\1\23\0\2\1\2\0\24\1\1\0\27\1\35\0"+ "\60\1\2\0\2\1\16\0\14\1\1\0\17\1\24\0"+ "\61\1\12\0\4\1\1\0\6\1\4\0\1\1\6\0"+ "\27\1\1\0\30\1\6\0\1\1\1\0\2\1\13\0"+ "\32\1\2\0\22\1\1\11\4\0\1\1\1\11\1\1"+ "\2\11\5\0\31\1\2\0\21\1\10\0\10\1\1\0"+ "\15\1\2\0\16\1\3\0\1\11\2\0\6\1\2\0"+ "\13\1\2\0\17\1\2\0\12\1\1\11\1\0\15\1"+ "\2\0\10\1\1\0\11\1\2\0\5\1\1\0\5\1"+ "\2\0\3\1\2\0\4\1\1\0\2\1\2\0\3\1"+ "\1\0\2\1\2\0\3\1\2\0\1\1\2\0\3\1"+ "\2\0\1\1\2\0\3\1\2\0\1\1\2\0\1\1"+ "\4\0\1\1\2\0\1\1\13\0"; private static int [] zzUnpackAttribute() { int [] result = new int[1643]; int offset = 0; offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result); return result; } private static int zzUnpackAttribute(String packed, int offset, int [] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } return j; } /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ private int zzState; /** the current lexical state */ private int zzLexicalState = YYINITIAL; /** this buffer contains the current text to be matched and is the source of the yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ private int zzMarkedPos; /** the current text position in the buffer */ private int zzCurrentPos; /** startRead marks the beginning of the yytext() string in the buffer */ private int zzStartRead; /** endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** zzAtEOF == true <=> the scanner is at the EOF */ private boolean zzAtEOF; /* user code: */ /** * Type specific to JSPTokenMaker denoting a line ending with an unclosed * double-quote attribute. */ private static final int INTERNAL_ATTR_DOUBLE = -1; /** * Type specific to JSPTokenMaker denoting a line ending with an unclosed * single-quote attribute. */ 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. */ 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. */ private static final int INTERNAL_INTAG_SCRIPT = -4; /** * 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. */ 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. */ private static final int INTERNAL_INTAG_STYLE = -7; /** * 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. */ private static final int INTERNAL_ATTR_SINGLE_QUOTE_STYLE = -9; /** * Token type specifying we're in a JSP hidden comment ("<%-- ... --%>"). */ private static final int INTERNAL_IN_HIDDEN_COMMENT = -10; /** * Token type specifying we're in a JSP directive (either include, page * or taglib). */ private static final int INTERNAL_IN_JSP_DIRECTIVE = -11; /** * Token type specifying we're in JavaScript. */ private static final int INTERNAL_IN_JS = -12; /** * Token type specifying we're in a JavaScript multi-line comment. */ private static final int INTERNAL_IN_JS_MLC = -13; /** * Token type specifying we're in an invalid multi-line JS string. */ private static final int INTERNAL_IN_JS_STRING_INVALID = -14; /** * Token type specifying we're in a valid multi-line JS string. */ private static final int INTERNAL_IN_JS_STRING_VALID = -15; /** * 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. */ private static final int INTERNAL_IN_JS_CHAR_VALID = -17; /** * Internal type denoting a line ending in CSS. */ private static final int INTERNAL_CSS = -18; /** * Internal type denoting a line ending in a CSS property. */ private static final int INTERNAL_CSS_PROPERTY = -19; /** * Internal type denoting a line ending in a CSS property value. */ private static final int INTERNAL_CSS_VALUE = -20; /** * 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. */ 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. */ private static final int INTERNAL_CSS_MLC = -(3<<11); /** * Token type specifying we're in a Java documentation comment. */ private static final int INTERNAL_IN_JAVA_DOCCOMMENT = -(4<<11); /** * Token type specifying we're in Java code. */ private static final int INTERNAL_IN_JAVA_EXPRESSION = -(5<<11); /** * Token type specifying we're in Java multiline comment. */ private static final int INTERNAL_IN_JAVA_MLC = -(6<<11); /** * The state previous CSS-related state we were in before going into a CSS * string, multi-line comment, etc. */ private int cssPrevState; /** * The state JSP was started in (YYINITIAL, INTERNAL_IN_JS, etc.). */ private int jspInState; /** * Whether closing markup tags are automatically completed for JSP. */ private static boolean completeCloseTags; /** * When in the JS_STRING state, whether the current string is valid. */ private boolean validJSString; /** * Language state set on HTML tokens. Must be 0. */ private static final int LANG_INDEX_DEFAULT = 0; /** * Language state set on JavaScript tokens. */ private static final int LANG_INDEX_JS = 1; /** * Language state set on CSS tokens. */ private static final int LANG_INDEX_CSS = 2; /** * 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. * * @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. * @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. */ 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. */ 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. */ @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. 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) */ @Override public boolean getCompleteCloseTags() { return completeCloseTags; } /** * 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. */ public Token getTokenList(Segment text, int initialTokenType, int startOffset) { resetTokenList(); this.offsetShift = -text.offset + startOffset; jspInState = YYINITIAL; // Shouldn't be necessary cssPrevState = CSS; // Shouldn't be necessary int languageIndex = 0; // 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; 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; } break; } setLanguageIndex(languageIndex); start = text.offset; s = text; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); 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. * * @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. */ 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. * * 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 */ 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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = s.offset; zzLexicalState = YYINITIAL; 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. */ public JSPTokenMaker(java.io.Reader in) { this.zzReader = in; } /** * Creates a new scanner. * There is also java.io.Reader version of this constructor. * * @param in the java.io.Inputstream to read input from. */ public JSPTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } /** * Unpacks the compressed character translation table. * * @param packed the packed character translation table * @return the unpacked character translation table */ private static char [] zzUnpackCMap(String packed) { char [] map = new char[0x10000]; int i = 0; /* index in packed string */ int j = 0; /* index in unpacked array */ while (i < 196) { int count = packed.charAt(i++); char value = packed.charAt(i++); do map[j++] = value; while (--count > 0); } return map; } /** * Closes the input stream. */ public final void yyclose() throws java.io.IOException { zzAtEOF = true; /* indicate end of file */ zzEndRead = zzStartRead; /* invalidate buffer */ if (zzReader != null) zzReader.close(); } /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } /** * Enters a 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 yylength()-1. * * @return the character at position pos */ public final char yycharat(int pos) { return zzBuffer[zzStartRead+pos]; } /** * Returns the length of the matched text region. */ public final int yylength() { return zzMarkedPos-zzStartRead; } /** * Reports an error that occured while scanning. * * In a wellformed scanner (no or only correct usage of * yypushback(int) and a match-all fallback rule) this method * will only be called with things that "Can't Possibly Happen". * If this method is called, something is seriously wrong * (e.g. a JFlex bug producing a faulty scanner etc.). * * Usual syntax/scanner level error handling should be done * in error fallback rules. * * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; try { message = ZZ_ERROR_MSG[errorCode]; } catch (ArrayIndexOutOfBoundsException e) { message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR]; } throw new Error(message); } /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * * @param number the number of characters to be read again. * This number must not be greater than yylength()! */ public void yypushback(int number) { if ( number > yylength() ) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } /** * Resumes scanning until the next regular expression is matched, * the end of input is encountered or an I/O-Error occurs. * * @return the next token * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; int zzAction; // cached fields: int zzCurrentPosL; int zzMarkedPosL; int zzEndReadL = zzEndRead; char [] zzBufferL = zzBuffer; char [] zzCMapL = ZZ_CMAP; int [] zzTransL = ZZ_TRANS; int [] zzRowMapL = ZZ_ROWMAP; int [] zzAttrL = ZZ_ATTRIBUTE; while (true) { zzMarkedPosL = zzMarkedPos; zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; else if (zzAtEOF) { zzInput = YYEOF; break zzForAction; } else { // store back cached positions zzCurrentPos = zzCurrentPosL; zzMarkedPos = zzMarkedPosL; boolean eof = zzRefill(); // get translated positions and possibly new buffer zzCurrentPosL = zzCurrentPos; zzMarkedPosL = zzMarkedPos; zzBufferL = zzBuffer; zzEndReadL = zzEndRead; if (eof) { zzInput = YYEOF; break zzForAction; } else { zzInput = zzBufferL[zzCurrentPosL++]; } } int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ]; if (zzNext == -1) break zzForAction; zzState = zzNext; int zzAttributes = zzAttrL[zzState]; if ( (zzAttributes & 1) == 1 ) { zzAction = zzState; zzMarkedPosL = zzCurrentPosL; if ( (zzAttributes & 8) == 8 ) break zzForAction; } } } // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { case 65: { addToken(Token.OPERATOR); yybegin(CSS_VALUE); } case 130: break; case 86: { addToken(Token.ERROR_NUMBER_FORMAT); } case 131: break; case 74: { addToken(start,zzStartRead-1, Token.LITERAL_CHAR); addEndToken(INTERNAL_CSS_CHAR - cssPrevState); return firstToken; } case 132: break; case 23: { start = zzMarkedPos-1; yybegin(INATTR_SINGLE_SCRIPT); } case 133: break; case 10: { yybegin(YYINITIAL); addToken(start,zzStartRead, Token.MARKUP_DTD); } case 134: break; case 61: { addToken(Token.SEPARATOR); yybegin(CSS_PROPERTY); } case 135: break; case 111: { start = zzMarkedPos-4; yybegin(HIDDEN_COMMENT); } case 136: break; case 4: { addToken(Token.MARKUP_TAG_DELIMITER); yybegin(INTAG); } case 137: break; case 124: { addToken(Token.RESERVED_WORD_2); } case 138: break; case 104: { addToken(start,zzStartRead+1, Token.COMMENT_MULTILINE); yybegin(cssPrevState); } case 139: break; case 101: { start = zzMarkedPos-2; cssPrevState = zzLexicalState; yybegin(CSS_C_STYLE_COMMENT); } case 140: break; case 41: { /* 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 141: break; case 5: { addToken(Token.WHITESPACE); } case 142: break; case 125: { addToken(zzStartRead,zzStartRead, Token.MARKUP_TAG_DELIMITER); addToken(zzMarkedPos-6,zzMarkedPos-1, Token.MARKUP_TAG_NAME); start = zzMarkedPos; yybegin(INTAG_SCRIPT); } case 143: break; case 103: { addToken(Token.REGEX); } case 144: break; case 42: { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addEndToken(INTERNAL_IN_JS_MLC); return firstToken; } case 145: break; case 129: { 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 146: break; case 117: { addToken(Token.FUNCTION); } case 147: break; case 93: { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_DOCUMENTATION); addToken(temp,zzMarkedPos-1, Token.COMMENT_MARKUP); start = zzMarkedPos; } case 148: break; case 8: { addToken(start,zzStartRead-1, Token.MARKUP_PROCESSING_INSTRUCTION); return firstToken; } case 149: break; case 36: { addToken(start,zzStartRead-1, Token.ERROR_STRING_DOUBLE); addEndToken(INTERNAL_IN_JS); return firstToken; } case 150: break; case 57: { start = zzMarkedPos-1; cssPrevState = zzLexicalState; yybegin(CSS_STRING); } case 151: break; case 52: { addToken(Token.ERROR_CHAR); } case 152: break; case 20: { /* Allowing JSP expressions, etc. */ } case 153: break; case 26: { start = zzMarkedPos-1; yybegin(INATTR_DOUBLE_STYLE); } case 154: break; case 119: { yybegin(YYINITIAL); addToken(start,zzStartRead+3, Token.MARKUP_COMMENT); } case 155: break; case 89: { /* Skip all escaped chars. */ } case 156: break; case 83: { addToken(Token.MARKUP_TAG_DELIMITER); yybegin(YYINITIAL); } case 157: break; case 29: { yybegin(INTAG_STYLE); addToken(start,zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); } case 158: break; case 116: { if(JavaScriptTokenMaker.isJavaScriptCompatible("1.6")){ addToken(Token.RESERVED_WORD);} else {addToken(Token.IDENTIFIER);} } case 159: break; case 109: { if(JavaScriptTokenMaker.isJavaScriptCompatible("1.7")){ addToken(Token.RESERVED_WORD);} else {addToken(Token.IDENTIFIER);} } case 160: break; case 66: { /*System.out.println("css_value: " + yytext());*/ addToken(Token.IDENTIFIER); } case 161: break; case 17: { /* A non-recognized HTML tag name */ yypushback(yylength()); yybegin(INTAG); } case 162: break; case 28: { addToken(Token.MARKUP_TAG_DELIMITER); yybegin(CSS, LANG_INDEX_CSS); } case 163: break; case 75: { addToken(start,zzStartRead, Token.LITERAL_CHAR); yybegin(cssPrevState); } case 164: break; case 27: { start = zzMarkedPos-1; yybegin(INATTR_SINGLE_STYLE); } case 165: break; case 54: { addToken(Token.IDENTIFIER); /* Needed as InTagIdentifier ignores it. */ } case 166: break; case 7: { addToken(start,zzStartRead-1, Token.MARKUP_COMMENT); return firstToken; } case 167: break; case 91: { /* Invalid latin-1 character \xXX */ validJSString = false; } case 168: break; case 25: { yybegin(INTAG_SCRIPT); addToken(start,zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); } case 169: break; case 37: { int type = validJSString ? Token.LITERAL_STRING_DOUBLE_QUOTE : Token.ERROR_STRING_DOUBLE; addToken(start,zzStartRead, type); yybegin(JAVASCRIPT); } case 170: break; case 114: { addToken(Token.COMMENT_MULTILINE); } case 171: break; case 47: { addToken(Token.ERROR_STRING_DOUBLE); addEndToken(INTERNAL_IN_JAVA_EXPRESSION - jspInState); return firstToken; } case 172: break; case 110: { start = zzMarkedPos-3; yybegin(JAVA_DOCCOMMENT); } case 173: break; case 80: { start = zzMarkedPos-2; yybegin(PI); } case 174: break; case 126: { 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 175: break; case 62: { /*System.out.println("css_property: " + yytext());*/ addToken(Token.IDENTIFIER); } case 176: break; case 9: { addToken(start,zzStartRead-1, Token.MARKUP_DTD); return firstToken; } case 177: break; case 77: { int count = yylength(); addToken(zzStartRead,zzStartRead, Token.MARKUP_TAG_DELIMITER); zzMarkedPos -= (count-1); //yypushback(count-1); yybegin(INTAG_CHECK_TAG_NAME); } case 178: break; case 73: { /* Skip escaped chars. */ } case 179: break; case 90: { /* Invalid Unicode character \\uXXXX */ validJSString = false; } case 180: break; case 123: { addToken(zzStartRead,zzStartRead, Token.MARKUP_TAG_DELIMITER); addToken(zzMarkedPos-5,zzMarkedPos-1, Token.MARKUP_TAG_NAME); start = zzMarkedPos; cssPrevState = zzLexicalState; yybegin(INTAG_STYLE); } case 181: break; case 94: { yybegin(JAVA_EXPRESSION); addToken(start,zzStartRead+1, Token.COMMENT_DOCUMENTATION); } case 182: break; case 81: { yybegin(YYINITIAL); addToken(start,zzStartRead+1, Token.MARKUP_PROCESSING_INSTRUCTION); } case 183: break; case 92: { yybegin(JAVASCRIPT); addToken(start,zzStartRead+1, Token.COMMENT_MULTILINE); } case 184: break; case 78: { addToken(Token.MARKUP_TAG_DELIMITER); jspInState = zzLexicalState; yybegin(JAVA_EXPRESSION); } case 185: break; case 31: { addEndToken(INTERNAL_IN_JS); return firstToken; } case 186: break; case 39: { addToken(start,zzStartRead-1, Token.ERROR_CHAR); addEndToken(INTERNAL_IN_JS); return firstToken; } case 187: break; case 44: { addToken(start,zzStartRead-1, Token.MARKUP_COMMENT); addEndToken(INTERNAL_IN_HIDDEN_COMMENT); return firstToken; } case 188: break; case 12: { addToken(Token.OPERATOR); } case 189: break; case 68: { addToken(Token.OPERATOR); yybegin(CSS_PROPERTY); } case 190: break; case 48: { addToken(Token.ERROR_CHAR); addEndToken(INTERNAL_IN_JAVA_EXPRESSION - jspInState); return firstToken; } case 191: break; case 112: { start = zzMarkedPos-4; yybegin(COMMENT); } case 192: break; case 107: { yybegin(YYINITIAL); addToken(start,zzStartRead+2, Token.MARKUP_COMMENT); } case 193: break; case 102: { addToken(Token.VARIABLE); } case 194: break; case 55: { /*System.out.println("CSS: " + yytext());*/ addToken(Token.IDENTIFIER); } case 195: break; case 97: { start = zzMarkedPos-2; yybegin(JAVA_MLC); } case 196: break; case 2: { addToken(Token.IDENTIFIER); } case 197: break; case 122: { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_MULTILINE); start = zzMarkedPos; } case 198: break; case 24: { addToken(Token.MARKUP_TAG_DELIMITER); yybegin(JAVASCRIPT, LANG_INDEX_JS); } case 199: break; case 96: { addToken(Token.COMMENT_EOL); addEndToken(INTERNAL_IN_JAVA_EXPRESSION - jspInState); return firstToken; } case 200: break; case 118: { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_EOL); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_EOL); start = zzMarkedPos; } case 201: break; case 64: { addToken(Token.SEPARATOR); yybegin(CSS); } case 202: break; case 128: { 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 203: break; case 32: { start = zzMarkedPos-1; validJSString = true; yybegin(JS_STRING); } case 204: break; case 45: { addToken(start,zzStartRead-1, Token.COMMENT_DOCUMENTATION); addEndToken(INTERNAL_IN_JAVA_DOCCOMMENT - jspInState); return firstToken; } case 205: break; case 72: { addToken(start,zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); yybegin(cssPrevState); } case 206: break; case 63: { addEndToken(INTERNAL_CSS_PROPERTY); return firstToken; } case 207: break; case 51: { addToken(Token.ERROR_STRING_DOUBLE); } case 208: break; case 40: { int type = validJSString ? Token.LITERAL_CHAR : Token.ERROR_CHAR; addToken(start,zzStartRead, type); yybegin(JAVASCRIPT); } case 209: break; case 106: { addToken(Token.MARKUP_TAG_DELIMITER); yybegin(JSP_DIRECTIVE); } case 210: break; case 33: { start = zzMarkedPos-1; validJSString = true; yybegin(JS_CHAR); } case 211: break; case 120: { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_DOCUMENTATION); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_DOCUMENTATION); start = zzMarkedPos; } case 212: break; case 85: { start = zzMarkedPos-2; yybegin(JS_MLC); } case 213: break; case 88: { addToken(Token.LITERAL_NUMBER_HEXADECIMAL); } case 214: break; case 70: { int temp = zzMarkedPos - 2; addToken(zzStartRead, temp, Token.FUNCTION); addToken(zzMarkedPos-1, zzMarkedPos-1, Token.SEPARATOR); zzStartRead = zzCurrentPos = zzMarkedPos; } case 215: break; case 99: { yybegin(JAVA_EXPRESSION); addToken(start,zzStartRead+1, Token.COMMENT_MULTILINE); } case 216: break; case 50: { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addEndToken(INTERNAL_IN_JAVA_MLC - jspInState); return firstToken; } case 217: break; case 49: { addToken(Token.ANNOTATION); } case 218: break; case 30: { addToken(Token.ERROR_IDENTIFIER); } case 219: break; case 67: { addEndToken(INTERNAL_CSS_VALUE); return firstToken; } case 220: break; case 113: { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.MARKUP_COMMENT); addHyperlinkToken(temp,zzMarkedPos-1, Token.MARKUP_COMMENT); start = zzMarkedPos; } case 221: break; case 6: { addToken(Token.MARKUP_ENTITY_REFERENCE); } case 222: break; case 115: { addToken(Token.LITERAL_BOOLEAN); } case 223: break; case 18: { /* Shouldn't happen */ yypushback(1); yybegin(INTAG); } case 224: break; case 3: { addNullToken(); return firstToken; } case 225: break; case 56: { addEndToken(INTERNAL_CSS); return firstToken; } case 226: break; case 127: { 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 227: break; case 58: { start = zzMarkedPos-1; cssPrevState = zzLexicalState; yybegin(CSS_CHAR_LITERAL); } case 228: break; case 53: { addToken(Token.RESERVED_WORD); } case 229: break; case 98: { addToken(Token.MARKUP_TAG_DELIMITER); start = zzMarkedPos; yybegin(jspInState); } case 230: break; case 13: { start = zzMarkedPos-1; yybegin(INATTR_DOUBLE); } case 231: break; case 100: { addToken(Token.LITERAL_CHAR); } case 232: break; case 16: { yybegin(YYINITIAL); addToken(Token.MARKUP_TAG_DELIMITER); } case 233: break; case 59: { addToken(Token.DATA_TYPE); } case 234: break; case 46: { addEndToken(INTERNAL_IN_JAVA_EXPRESSION - jspInState); return firstToken; } case 235: break; case 35: { addToken(Token.SEPARATOR); } case 236: break; case 105: { int count = yylength(); addToken(zzStartRead,zzStartRead+1, Token.MARKUP_TAG_DELIMITER); zzMarkedPos -= (count-2); //yypushback(count-2); yybegin(INTAG_CHECK_TAG_NAME); } case 237: break; case 71: { addToken(start,zzStartRead-1, Token.LITERAL_STRING_DOUBLE_QUOTE); addEndToken(INTERNAL_CSS_STRING - cssPrevState); return firstToken; } case 238: break; case 69: { /* End of a function */ addToken(Token.SEPARATOR); } case 239: break; case 19: { addToken(Token.MARKUP_TAG_NAME); } case 240: break; case 11: { addToken(Token.MARKUP_TAG_ATTRIBUTE); } case 241: break; case 121: { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_DOCUMENTATION); addToken(temp,zzMarkedPos-1, Token.COMMENT_KEYWORD); start = zzMarkedPos; } case 242: break; case 84: { start = zzMarkedPos-2; yybegin(JS_EOL_COMMENT); } case 243: 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 244: break; case 87: { addToken(Token.LITERAL_NUMBER_FLOAT); } case 245: break; case 14: { start = zzMarkedPos-1; yybegin(INATTR_SINGLE); } case 246: break; case 108: { 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; } } // 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 247: break; case 95: { addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); } case 248: break; case 76: { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addEndToken(INTERNAL_CSS_MLC - cssPrevState); return firstToken; } case 249: break; case 15: { addToken(Token.MARKUP_TAG_DELIMITER); } case 250: break; case 34: { addToken(Token.LITERAL_NUMBER_DECIMAL_INT); } case 251: break; case 79: { start = zzMarkedPos-2; yybegin(DTD); } case 252: break; case 82: { 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 253: break; case 21: { addToken(start,zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); yybegin(INTAG); } case 254: break; case 22: { start = zzMarkedPos-1; yybegin(INATTR_DOUBLE_SCRIPT); } case 255: break; case 43: { addToken(start,zzStartRead-1, Token.COMMENT_EOL); addEndToken(INTERNAL_IN_JS); return firstToken; } case 256: break; case 60: { /* Unknown pseudo class */ addToken(Token.DATA_TYPE); } case 257: break; case 1: { } case 258: 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 1644: break; case JS_CHAR: { addToken(start,zzStartRead-1, Token.ERROR_CHAR); addEndToken(INTERNAL_IN_JS); return firstToken; } case 1645: break; case JAVA_EXPRESSION: { addEndToken(INTERNAL_IN_JAVA_EXPRESSION - jspInState); return firstToken; } case 1646: break; case CSS_STRING: { addToken(start,zzStartRead-1, Token.LITERAL_STRING_DOUBLE_QUOTE); addEndToken(INTERNAL_CSS_STRING - cssPrevState); return firstToken; } case 1647: break; case HIDDEN_COMMENT: { addToken(start,zzStartRead-1, Token.MARKUP_COMMENT); addEndToken(INTERNAL_IN_HIDDEN_COMMENT); return firstToken; } case 1648: break; case JS_MLC: { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addEndToken(INTERNAL_IN_JS_MLC); return firstToken; } case 1649: break; case CSS_CHAR_LITERAL: { addToken(start,zzStartRead-1, Token.LITERAL_CHAR); addEndToken(INTERNAL_CSS_CHAR - cssPrevState); return firstToken; } case 1650: break; case JAVA_DOCCOMMENT: { yybegin(JAVA_EXPRESSION); addToken(start,zzEndRead, Token.COMMENT_DOCUMENTATION); addEndToken(INTERNAL_IN_JAVA_DOCCOMMENT - jspInState); return firstToken; } case 1651: break; case INTAG_SCRIPT: { addToken(zzMarkedPos,zzMarkedPos, INTERNAL_INTAG_SCRIPT); return firstToken; } case 1652: break; case CSS_PROPERTY: { addEndToken(INTERNAL_CSS_PROPERTY); return firstToken; } case 1653: break; case CSS_C_STYLE_COMMENT: { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addEndToken(INTERNAL_CSS_MLC - cssPrevState); return firstToken; } case 1654: break; case CSS: { addEndToken(INTERNAL_CSS); return firstToken; } case 1655: break; case CSS_VALUE: { addEndToken(INTERNAL_CSS_VALUE); return firstToken; } case 1656: break; case JSP_DIRECTIVE: { addToken(zzMarkedPos,zzMarkedPos, INTERNAL_IN_JSP_DIRECTIVE); return firstToken; } case 1657: break; case COMMENT: { addToken(start,zzStartRead-1, Token.MARKUP_COMMENT); return firstToken; } case 1658: break; case INATTR_DOUBLE_SCRIPT: { addToken(start,zzStartRead-1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); addEndToken(INTERNAL_ATTR_DOUBLE_QUOTE_SCRIPT); return firstToken; } case 1659: break; case PI: { addToken(start,zzStartRead-1, Token.MARKUP_PROCESSING_INSTRUCTION); return firstToken; } case 1660: break; case JAVASCRIPT: { addEndToken(INTERNAL_IN_JS); return firstToken; } case 1661: break; case INTAG: { addToken(zzMarkedPos,zzMarkedPos, INTERNAL_INTAG); return firstToken; } case 1662: break; case INTAG_CHECK_TAG_NAME: { addToken(zzMarkedPos,zzMarkedPos, INTERNAL_INTAG); return firstToken; } case 1663: break; case INATTR_SINGLE_STYLE: { addToken(start,zzStartRead-1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); addEndToken(INTERNAL_ATTR_SINGLE_QUOTE_STYLE); return firstToken; } case 1664: break; case DTD: { addToken(start,zzStartRead-1, Token.MARKUP_DTD); return firstToken; } case 1665: break; case JS_EOL_COMMENT: { addToken(start,zzStartRead-1, Token.COMMENT_EOL); addEndToken(INTERNAL_IN_JS); return firstToken; } case 1666: break; case INATTR_DOUBLE_STYLE: { addToken(start,zzStartRead-1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); addEndToken(INTERNAL_ATTR_DOUBLE_QUOTE_STYLE); return firstToken; } case 1667: break; case INATTR_SINGLE: { addToken(start,zzStartRead-1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); addEndToken(INTERNAL_ATTR_SINGLE); return firstToken; } case 1668: break; case YYINITIAL: { addNullToken(); return firstToken; } case 1669: break; case INATTR_DOUBLE: { addToken(start,zzStartRead-1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); addEndToken(INTERNAL_ATTR_DOUBLE); return firstToken; } case 1670: break; case JS_STRING: { addToken(start,zzStartRead-1, Token.ERROR_STRING_DOUBLE); addEndToken(INTERNAL_IN_JS); return firstToken; } case 1671: break; case JAVA_MLC: { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addEndToken(INTERNAL_IN_JAVA_MLC - jspInState); return firstToken; } case 1672: break; case INTAG_STYLE: { addToken(zzMarkedPos,zzMarkedPos, INTERNAL_INTAG_STYLE); return firstToken; } case 1673: break; default: return null; } } else { zzScanError(ZZ_NO_MATCH); } } } } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/JavaTokenMaker.flex0000644000175000001440000005415412202240132027406 0ustar benusers/* * 11/13/2004 * * JavaTokenMaker.java - Scanner for the Java programming language. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.*; /** * Scanner for the Java programming language.

* * 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * If you wish to regenerate this file yourself, keep in mind the following: *

    *
  • The generated JavaTokenMaker.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.
  • *
* * @author Robert Futrell * @version 0.5 * */ %% %public %class JavaTokenMaker %extends AbstractJFlexCTokenMaker %unicode %type org.fife.ui.rsyntaxtextarea.Token %{ /** * Constructor. This must be here because JFlex does not generate a * no-parameter constructor. */ public JavaTokenMaker() { } /** * Adds the token specified to the current linked list of tokens. * * @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. */ 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. * @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. */ @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 the text to place at the beginning and end of a * line to "comment" it in a this programming language. * * @return The start and end strings to add to a line to "comment" * it out. */ @Override public String[] getLineCommentStartAndEnd() { 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. * * @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) { resetTokenList(); this.offsetShift = -text.offset + startOffset; // 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; } s = text; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); return new TokenImpl(); } } /** * Refills the input buffer. * * @return true if EOF was reached, otherwise * false. * @exception IOException if any I/O-Error occurs. */ private boolean zzRefill() throws java.io.IOException { return zzCurrentPos>=s.offset+s.count; } /** * 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 */ public final void yyreset(java.io.Reader reader) throws java.io.IOException { // '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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = zzPushbackPos = s.offset; zzLexicalState = YYINITIAL; zzReader = reader; zzAtBOL = true; zzAtEOF = false; } %} Letter = ([A-Za-z]) LetterOrUnderscore = ({Letter}|"_") Underscores = ([_]+) NonzeroDigit = ([1-9]) BinaryDigit = ([0-1]) Digit = ("0"|{NonzeroDigit}) HexDigit = ({Digit}|[A-Fa-f]) OctalDigit = ([0-7]) AnyCharacterButApostropheOrBackSlash = ([^\\']) AnyCharacterButDoubleQuoteOrBackSlash = ([^\\\"\n]) EscapedSourceCharacter = ("u"{HexDigit}{HexDigit}{HexDigit}{HexDigit}) Escape = ("\\"(([btnfr\"'\\])|([0123]{OctalDigit}?{OctalDigit}?)|({OctalDigit}{OctalDigit}?)|{EscapedSourceCharacter})) NonSeparator = ([^\t\f\r\n\ \(\)\{\}\[\]\;\,\.\=\>\<\!\~\?\:\+\-\*\/\&\|\^\%\"\']|"#"|"\\") IdentifierStart = ({LetterOrUnderscore}|"$") IdentifierPart = ({IdentifierStart}|{Digit}|("\\"{EscapedSourceCharacter})) LineTerminator = (\n) WhiteSpace = ([ \t\f]) CharLiteral = ([\']({AnyCharacterButApostropheOrBackSlash}|{Escape})[\']) UnclosedCharLiteral = ([\'][^\'\n]*) ErrorCharLiteral = ({UnclosedCharLiteral}[\']) StringLiteral = ([\"]({AnyCharacterButDoubleQuoteOrBackSlash}|{Escape})*[\"]) UnclosedStringLiteral = ([\"]([\\].|[^\\\"])*[^\"]?) ErrorStringLiteral = ({UnclosedStringLiteral}[\"]) MLCBegin = "/*" MLCEnd = "*/" DocCommentBegin = "/**" LineCommentBegin = "//" DigitOrUnderscore = ({Digit}|[_]) DigitsAndUnderscoresEnd = ({DigitOrUnderscore}*{Digit}) IntegerHelper = (({NonzeroDigit}{DigitsAndUnderscoresEnd}?)|"0") IntegerLiteral = ({IntegerHelper}[lL]?) BinaryDigitOrUnderscore = ({BinaryDigit}|[_]) BinaryDigitsAndUnderscores = ({BinaryDigit}({BinaryDigitOrUnderscore}*{BinaryDigit})?) BinaryLiteral = ("0"[bB]{BinaryDigitsAndUnderscores}) HexDigitOrUnderscore = ({HexDigit}|[_]) HexDigitsAndUnderscores = ({HexDigit}({HexDigitOrUnderscore}*{HexDigit})?) OctalDigitOrUnderscore = ({OctalDigit}|[_]) OctalDigitsAndUnderscoresEnd= ({OctalDigitOrUnderscore}*{OctalDigit}) HexHelper = ("0"(([xX]{HexDigitsAndUnderscores})|({OctalDigitsAndUnderscoresEnd}))) HexLiteral = ({HexHelper}[lL]?) FloatHelper1 = ([fFdD]?) FloatHelper2 = ([eE][+-]?{Digit}+{FloatHelper1}) FloatLiteral1 = ({Digit}+"."({FloatHelper1}|{FloatHelper2}|{Digit}+({FloatHelper1}|{FloatHelper2}))) FloatLiteral2 = ("."{Digit}+({FloatHelper1}|{FloatHelper2})) FloatLiteral3 = ({Digit}+{FloatHelper2}) FloatLiteral = ({FloatLiteral1}|{FloatLiteral2}|{FloatLiteral3}|({Digit}+[fFdD])) ErrorNumberFormat = (({IntegerLiteral}|{HexLiteral}|{FloatLiteral}){NonSeparator}+) BooleanLiteral = ("true"|"false") Separator = ([\(\)\{\}\[\]]) Separator2 = ([\;,.]) NonAssignmentOperator = ("+"|"-"|"<="|"^"|"++"|"<"|"*"|">="|"%"|"--"|">"|"/"|"!="|"?"|">>"|"!"|"&"|"=="|":"|">>"|"~"|"|"|"&&"|">>>") AssignmentOperator = ("="|"-="|"*="|"/="|"|="|"&="|"^="|"+="|"%="|"<<="|">>="|">>>=") Operator = ({NonAssignmentOperator}|{AssignmentOperator}) CurrentBlockTag = ("author"|"deprecated"|"exception"|"param"|"return"|"see"|"serial"|"serialData"|"serialField"|"since"|"throws"|"version") ProposedBlockTag = ("category"|"example"|"tutorial"|"index"|"exclude"|"todo"|"internal"|"obsolete"|"threadsafety") BlockTag = ({CurrentBlockTag}|{ProposedBlockTag}) InlineTag = ("code"|"docRoot"|"inheritDoc"|"link"|"linkplain"|"literal"|"value") Identifier = ({IdentifierStart}{IdentifierPart}*) ErrorIdentifier = ({NonSeparator}+) Annotation = ("@"{Identifier}?) URLGenDelim = ([:\/\?#\[\]@]) URLSubDelim = ([\!\$&'\(\)\*\+,;=]) URLUnreserved = ({LetterOrUnderscore}|{Digit}|[\-\.\~]) URLCharacter = ({URLGenDelim}|{URLSubDelim}|{URLUnreserved}|[%]) URLCharacters = ({URLCharacter}*) URLEndCharacter = ([\/\$]|{Letter}|{Digit}) URL = (((https?|f(tp|ile))"://"|"www.")({URLCharacters}{URLEndCharacter})?) %state MLC %state DOCCOMMENT %state EOL_COMMENT %% { /* Keywords */ "abstract"| "assert" | "break" | "case" | "catch" | "class" | "const" | "continue" | "default" | "do" | "else" | "enum" | "extends" | "final" | "finally" | "for" | "goto" | "if" | "implements" | "import" | "instanceof" | "interface" | "native" | "new" | "null" | "package" | "private" | "protected" | "public" | "static" | "strictfp" | "super" | "switch" | "synchronized" | "this" | "throw" | "throws" | "transient" | "try" | "void" | "volatile" | "while" { addToken(Token.RESERVED_WORD); } "return" { addToken(Token.RESERVED_WORD_2); } /* Data types. */ "boolean" | "byte" | "char" | "double" | "float" | "int" | "long" | "short" { addToken(Token.DATA_TYPE); } /* Booleans. */ {BooleanLiteral} { addToken(Token.LITERAL_BOOLEAN); } /* java.lang classes */ "Appendable" | "AutoCloseable" | "CharSequence" | "Cloneable" | "Comparable" | "Iterable" | "Readable" | "Runnable" | "Thread.UncaughtExceptionHandler" | "Boolean" | "Byte" | "Character" | "Character.Subset" | "Character.UnicodeBlock" | "Class" | "ClassLoader" | "Compiler" | "Double" | "Enum" | "Float" | "InheritableThreadLocal" | "Integer" | "Long" | "Math" | "Number" | "Object" | "Package" | "Process" | "ProcessBuilder" | "ProcessBuilder.Redirect" | "Runtime" | "RuntimePermission" | "SecurityManager" | "Short" | "StackTraceElement" | "StrictMath" | "String" | "StringBuffer" | "StringBuilder" | "System" | "Thread" | "ThreadGroup" | "ThreadLocal" | "Throwable" | "Void" | "Character.UnicodeScript" | "ProcessBuilder.Redirect.Type" | "Thread.State" | "ArithmeticException" | "ArrayIndexOutOfBoundsException" | "ArrayStoreException" | "ClassCastException" | "ClassNotFoundException" | "CloneNotSupportedException" | "EnumConstantNotPresentException" | "Exception" | "IllegalAccessException" | "IllegalArgumentException" | "IllegalMonitorStateException" | "IllegalStateException" | "IllegalThreadStateException" | "IndexOutOfBoundsException" | "InstantiationException" | "InterruptedException" | "NegativeArraySizeException" | "NoSuchFieldException" | "NoSuchMethodException" | "NullPointerException" | "NumberFormatException" | "RuntimeException" | "SecurityException" | "StringIndexOutOfBoundsException" | "TypeNotPresentException" | "UnsupportedOperationException" | "AbstractMethodError" | "AssertionError" | "ClassCircularityError" | "ClassFormatError" | "Error" | "ExceptionInInitializerError" | "IllegalAccessError" | "IncompatibleClassChangeError" | "InstantiationError" | "InternalError" | "LinkageError" | "NoClassDefFoundError" | "NoSuchFieldError" | "NoSuchMethodError" | "OutOfMemoryError" | "StackOverflowError" | "ThreadDeath" | "UnknownError" | "UnsatisfiedLinkError" | "UnsupportedClassVersionError" | "VerifyError" | "VirtualMachineError" | /* java.io classes*/ "Closeable" | "DataInput" | "DataOutput" | "Externalizable" | "FileFilter" | "FilenameFilter" | "Flushable" | "ObjectInput" | "ObjectInputValidation" | "ObjectOutput" | "ObjectStreamConstants" | "Serializable" | "BufferedInputStream" | "BufferedOutputStream" | "BufferedReader" | "BufferedWriter" | "ByteArrayInputStream" | "ByteArrayOutputStream" | "CharArrayReader" | "CharArrayWriter" | "Console" | "DataInputStream" | "DataOutputStream" | "File" | "FileDescriptor" | "FileInputStream" | "FileOutputStream" | "FilePermission" | "FileReader" | "FileWriter" | "FilterInputStream" | "FilterOutputStream" | "FilterReader" | "FilterWriter" | "InputStream" | "InputStreamReader" | "LineNumberInputStream" | "LineNumberReader" | "ObjectInputStream" | "ObjectInputStream.GetField" | "ObjectOutputStream" | "ObjectOutputStream.PutField" | "ObjectStreamClass" | "ObjectStreamField" | "OutputStream" | "OutputStreamWriter" | "PipedInputStream" | "PipedOutputStream" | "PipedReader" | "PipedWriter" | "PrintStream" | "PrintWriter" | "PushbackInputStream" | "PushbackReader" | "RandomAccessFile" | "Reader" | "SequenceInputStream" | "SerializablePermission" | "StreamTokenizer" | "StringBufferInputStream" | "StringReader" | "StringWriter" | "Writer" | "CharConversionException" | "EOFException" | "FileNotFoundException" | "InterruptedIOException" | "InvalidClassException" | "InvalidObjectException" | "IOException" | "NotActiveException" | "NotSerializableException" | "ObjectStreamException" | "OptionalDataException" | "StreamCorruptedException" | "SyncFailedException" | "UnsupportedEncodingException" | "UTFDataFormatException" | "WriteAbortedException" | "IOError" | /* java.util classes */ "Collection" | "Comparator" | "Deque" | "Enumeration" | "EventListener" | "Formattable" | "Iterator" | "List" | "ListIterator" | "Map" | "Map.Entry" | "NavigableMap" | "NavigableSet" | "Observer" | "Queue" | "RandomAccess" | "Set" | "SortedMap" | "SortedSet" | "AbstractCollection" | "AbstractList" | "AbstractMap" | "AbstractMap.SimpleEntry" | "AbstractMap.SimpleImmutableEntry" | "AbstractQueue" | "AbstractSequentialList" | "AbstractSet" | "ArrayDeque" | "ArrayList" | "Arrays" | "BitSet" | "Calendar" | "Collections" | "Currency" | "Date" | "Dictionary" | "EnumMap" | "EnumSet" | "EventListenerProxy" | "EventObject" | "FormattableFlags" | "Formatter" | "GregorianCalendar" | "HashMap" | "HashSet" | "Hashtable" | "IdentityHashMap" | "LinkedHashMap" | "LinkedHashSet" | "LinkedList" | "ListResourceBundle" | "Locale" | "Locale.Builder" | "Objects" | "Observable" | "PriorityQueue" | "Properties" | "PropertyPermission" | "PropertyResourceBundle" | "Random" | "ResourceBundle" | "ResourceBundle.Control" | "Scanner" | "ServiceLoader" | "SimpleTimeZone" | "Stack" | "StringTokenizer" | "Timer" | "TimerTask" | "TimeZone" | "TreeMap" | "TreeSet" | "UUID" | "Vector" | "WeakHashMap" | "Formatter.BigDecimalLayoutForm" | "Locale.Category" | "ConcurrentModificationException" | "DuplicateFormatFlagsException" | "EmptyStackException" | "FormatFlagsConversionMismatchException" | "FormatterClosedException" | "IllegalFormatCodePointException" | "IllegalFormatConversionException" | "IllegalFormatException" | "IllegalFormatFlagsException" | "IllegalFormatPrecisionException" | "IllegalFormatWidthException" | "IllformedLocaleException" | "InputMismatchException" | "InvalidPropertiesFormatException" | "MissingFormatArgumentException" | "MissingFormatWidthException" | "MissingResourceException" | "NoSuchElementException" | "TooManyListenersException" | "UnknownFormatConversionException" | "UnknownFormatFlagsException" | "ServiceConfigurationError" { addToken(Token.FUNCTION); } {LineTerminator} { addNullToken(); return firstToken; } {Identifier} { addToken(Token.IDENTIFIER); } {WhiteSpace}+ { addToken(Token.WHITESPACE); } /* String/Character literals. */ {CharLiteral} { addToken(Token.LITERAL_CHAR); } {UnclosedCharLiteral} { addToken(Token.ERROR_CHAR); addNullToken(); return firstToken; } {ErrorCharLiteral} { addToken(Token.ERROR_CHAR); } {StringLiteral} { addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); } {UnclosedStringLiteral} { addToken(Token.ERROR_STRING_DOUBLE); addNullToken(); return firstToken; } {ErrorStringLiteral} { addToken(Token.ERROR_STRING_DOUBLE); } /* Comment literals. */ "/**/" { addToken(Token.COMMENT_MULTILINE); } {MLCBegin} { start = zzMarkedPos-2; yybegin(MLC); } {DocCommentBegin} { start = zzMarkedPos-3; yybegin(DOCCOMMENT); } {LineCommentBegin} { start = zzMarkedPos-2; yybegin(EOL_COMMENT); } /* Annotations. */ {Annotation} { addToken(Token.ANNOTATION); } /* Separators. */ {Separator} { addToken(Token.SEPARATOR); } {Separator2} { addToken(Token.IDENTIFIER); } /* Operators. */ {Operator} { addToken(Token.OPERATOR); } /* Numbers */ {IntegerLiteral} { addToken(Token.LITERAL_NUMBER_DECIMAL_INT); } {BinaryLiteral} { addToken(Token.LITERAL_NUMBER_DECIMAL_INT); } {HexLiteral} { addToken(Token.LITERAL_NUMBER_HEXADECIMAL); } {FloatLiteral} { addToken(Token.LITERAL_NUMBER_FLOAT); } {ErrorNumberFormat} { addToken(Token.ERROR_NUMBER_FORMAT); } {ErrorIdentifier} { addToken(Token.ERROR_IDENTIFIER); } /* Ended with a line not in a string or comment. */ <> { addNullToken(); return firstToken; } /* Catch any other (unhandled) characters and flag them as identifiers. */ . { addToken(Token.ERROR_IDENTIFIER); } } { [^hwf\n\*]+ {} {URL} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_MULTILINE); start = zzMarkedPos; } [hwf] {} \n { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); return firstToken; } {MLCEnd} { yybegin(YYINITIAL); addToken(start,zzStartRead+1, Token.COMMENT_MULTILINE); } \* {} <> { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); return firstToken; } } { [^hwf\@\{\n\<\*]+ {} {URL} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_DOCUMENTATION); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_DOCUMENTATION); start = zzMarkedPos; } [hwf] {} "@"{BlockTag} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_DOCUMENTATION); addToken(temp,zzMarkedPos-1, Token.COMMENT_KEYWORD); start = zzMarkedPos; } "@" {} "{@"{InlineTag}[^\}]*"}" { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_DOCUMENTATION); addToken(temp,zzMarkedPos-1, Token.COMMENT_KEYWORD); start = zzMarkedPos; } "{" {} \n { addToken(start,zzStartRead-1, Token.COMMENT_DOCUMENTATION); return firstToken; } "<"[/]?({Letter}[^\>]*)?">" { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_DOCUMENTATION); addToken(temp,zzMarkedPos-1, Token.COMMENT_MARKUP); start = zzMarkedPos; } \< {} {MLCEnd} { yybegin(YYINITIAL); addToken(start,zzStartRead+1, Token.COMMENT_DOCUMENTATION); } \* {} <> { yybegin(YYINITIAL); addToken(start,zzEndRead, Token.COMMENT_DOCUMENTATION); return firstToken; } } { [^hwf\n]+ {} {URL} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_EOL); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_EOL); start = zzMarkedPos; } [hwf] {} \n { addToken(start,zzStartRead-1, Token.COMMENT_EOL); addNullToken(); return firstToken; } <> { addToken(start,zzStartRead-1, Token.COMMENT_EOL); addNullToken(); return firstToken; } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/JavaTokenMaker.java0000644000175000001440000065316712202002502027377 0ustar benusers/* The following code was generated by JFlex 1.4.1 on 12/10/11 12:57 AM */ /* * 11/13/2004 * * JavaTokenMaker.java - Scanner for the Java programming language. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.*; /** * Scanner for the Java programming language.

* * 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * If you wish to regenerate this file yourself, keep in mind the following: *

    *
  • The generated JavaTokenMaker.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.
  • *
* * @author Robert Futrell * @version 0.5 * */ public class JavaTokenMaker extends AbstractJFlexCTokenMaker { /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ public static final int EOL_COMMENT = 3; public static final int DOCCOMMENT = 2; public static final int YYINITIAL = 0; public static final int MLC = 1; /** * Translates characters to character classes */ 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\4\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\115\1\107\1\104\2\1\1\26\1\110\1\111\1\112\1\114\1\120"+ "\1\74\1\102\1\105\1\106\1\116\1\117\1\31\1\1\1\121\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\113\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\122\1\51\1\44\1\54\uff81\0"; /** * Translates characters to character classes */ private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED); /** * Translates DFA states to action switch labels. */ private static final int [] ZZ_ACTION = zzUnpackAction(); private static final String ZZ_ACTION_PACKED_0 = "\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\40\2"+ "\1\0\1\10\1\2\1\26\10\2\1\26\14\2\1\12"+ "\56\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\61\2\1\35\17\2\1\1\10\2\1\36"+ "\37\2\1\36\30\2\37\0\1\1\2\17\12\2\1\4"+ "\3\2\1\6\1\37\3\2\1\36\3\2\1\36\2\2"+ "\1\35\4\2\2\36\6\2\1\40\37\2\1\1\51\2"+ "\1\0\32\2\2\0\1\41\2\0\1\42\10\0\1\43"+ "\17\0\1\44\1\1\2\2\1\36\10\2\1\4\1\26"+ "\1\6\35\2\1\26\25\2\1\1\11\2\1\36\27\2"+ "\1\36\6\2\1\0\32\2\35\0\1\1\14\2\1\4"+ "\1\2\1\6\1\36\33\2\1\45\16\2\1\36\1\1"+ "\11\2\1\36\26\2\1\36\10\2\1\0\2\2\1\36"+ "\10\2\1\36\13\2\22\0\13\2\1\0\37\2\1\36"+ "\2\2\1\1\40\2\1\0\11\2\1\0\23\2\1\36"+ "\7\2\2\0\1\43\6\0\12\2\2\0\75\2\2\0"+ "\7\2\1\0\33\2\11\0\4\2\1\36\4\2\2\0"+ "\5\2\1\36\10\2\1\36\6\2\1\36\43\2\2\0"+ "\6\2\1\36\26\2\5\0\4\2\1\0\2\2\1\36"+ "\2\0\3\2\1\0\51\2\2\0\27\2\5\0\3\2"+ "\2\0\1\2\2\0\3\2\1\0\1\36\11\2\1\36"+ "\14\2\1\36\12\2\2\0\14\2\1\36\4\2\2\0"+ "\2\2\2\0\1\2\2\0\3\2\1\0\5\2\1\36"+ "\3\2\1\0\1\2\1\36\2\2\1\36\16\2\1\0"+ "\13\2\1\36\3\2\1\36\4\2\2\0\1\2\1\0"+ "\2\2\1\0\2\2\1\36\6\2\1\0\12\2\1\0"+ "\21\2\2\0\3\2\1\0\4\2\1\36\1\2\1\0"+ "\12\2\1\0\15\2\1\36\2\0\3\2\1\0\3\2"+ "\1\0\1\2\1\0\11\2\1\0\12\2\2\0\2\2"+ "\1\0\2\2\1\0\1\2\1\0\7\2\1\0\6\2"+ "\2\0\1\2\1\0\1\2\1\0\1\2\1\0\4\2"+ "\1\0\3\2\1\36\1\2\3\0\1\2\1\0\1\2"+ "\1\0\1\2\1\0\2\2\1\0\3\2\1\0\1\36"+ "\3\0\1\2\1\0\1\2\2\0\2\2\1\0\2\2"+ "\5\0\1\2\1\0\1\2\2\0\1\2\6\0\1\2"+ "\1\0\1\2\16\0\1\36\23\0"; private static int [] zzUnpackAction() { int [] result = new int[1725]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } private static int zzUnpackAction(String packed, int offset, int [] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } 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\123\0\246\0\371\0\u014c\0\u019f\0\u01f2\0\u0245"+ "\0\u0298\0\u02eb\0\u033e\0\u0391\0\u03e4\0\u0437\0\u033e\0\u048a"+ "\0\u04dd\0\u0530\0\u0583\0\u05d6\0\u0629\0\u067c\0\u06cf\0\u0722"+ "\0\u0775\0\u07c8\0\u081b\0\u086e\0\u08c1\0\u0914\0\u0967\0\u033e"+ "\0\u033e\0\u09ba\0\u0a0d\0\u0a60\0\u033e\0\u0ab3\0\u0b06\0\u0b59"+ "\0\u0bac\0\u0bff\0\u0c52\0\u0ca5\0\u0cf8\0\u0d4b\0\u0d9e\0\u0df1"+ "\0\u0e44\0\u0e97\0\u0eea\0\u0f3d\0\u0f90\0\u0fe3\0\u1036\0\u1089"+ "\0\u10dc\0\u112f\0\u1182\0\u11d5\0\u1228\0\u127b\0\u12ce\0\u033e"+ "\0\u1321\0\u1374\0\u13c7\0\u141a\0\u146d\0\u033e\0\u14c0\0\u1513"+ "\0\u1566\0\u15b9\0\u160c\0\u165f\0\u16b2\0\u1705\0\u033e\0\u1758"+ "\0\u17ab\0\u17fe\0\u1851\0\u18a4\0\u18f7\0\u18a4\0\u18a4\0\u194a"+ "\0\u199d\0\u19f0\0\u1a43\0\u1a96\0\u1ae9\0\u1b3c\0\u1b8f\0\u1be2"+ "\0\u1c35\0\u1c88\0\u1cdb\0\u1d2e\0\u033e\0\u1d81\0\u1dd4\0\u1e27"+ "\0\u1e7a\0\u1ecd\0\u1f20\0\u1f73\0\u1fc6\0\u2019\0\u206c\0\u20bf"+ "\0\u033e\0\u033e\0\u2112\0\u2165\0\u21b8\0\u220b\0\u225e\0\u22b1"+ "\0\u2304\0\u2357\0\u23aa\0\u23fd\0\u2450\0\u24a3\0\u24f6\0\u2549"+ "\0\u259c\0\u25ef\0\u2642\0\u2695\0\u26e8\0\u273b\0\u278e\0\u27e1"+ "\0\u2834\0\u2887\0\u28da\0\u292d\0\u2980\0\u29d3\0\u2a26\0\u2a79"+ "\0\u2acc\0\u2b1f\0\u2b72\0\u0530\0\u2bc5\0\u2c18\0\u2c6b\0\u2cbe"+ "\0\u2d11\0\u2d64\0\u2db7\0\u2e0a\0\u2e5d\0\u2eb0\0\u2f03\0\u019f"+ "\0\u2f56\0\u2fa9\0\u2ffc\0\u304f\0\u30a2\0\u30f5\0\u3148\0\u319b"+ "\0\u31ee\0\u3241\0\u3294\0\u32e7\0\u333a\0\u338d\0\u33e0\0\u3433"+ "\0\u3486\0\u34d9\0\u352c\0\u357f\0\u35d2\0\u3625\0\u3678\0\u36cb"+ "\0\u371e\0\u3771\0\u37c4\0\u3817\0\u386a\0\u38bd\0\u3910\0\u3963"+ "\0\u39b6\0\u3a09\0\u3a5c\0\u3aaf\0\u3b02\0\u3b55\0\u3ba8\0\u3bfb"+ "\0\u3c4e\0\u3ca1\0\u3cf4\0\u3d47\0\u3d9a\0\u3ded\0\u3e40\0\u3e93"+ "\0\u3ee6\0\u3f39\0\u3f8c\0\u3fdf\0\u4032\0\u4085\0\u40d8\0\u412b"+ "\0\u417e\0\u41d1\0\u4224\0\u4277\0\u42ca\0\u033e\0\u431d\0\u4370"+ "\0\u43c3\0\u4416\0\u033e\0\u4469\0\u44bc\0\u033e\0\u450f\0\u4562"+ "\0\u45b5\0\u4608\0\u465b\0\u46ae\0\u4701\0\u4754\0\u47a7\0\u47fa"+ "\0\u484d\0\u48a0\0\u48f3\0\u4946\0\u4999\0\u49ec\0\u4a3f\0\u4a92"+ "\0\u4ae5\0\u4b38\0\u4b8b\0\u4bde\0\u4c31\0\u18a4\0\u4c84\0\u4cd7"+ "\0\u4d2a\0\u4d7d\0\u4dd0\0\u4e23\0\u4e76\0\u4ec9\0\u4f1c\0\u4f6f"+ "\0\u4fc2\0\u033e\0\u5015\0\u5068\0\u1d81\0\u50bb\0\u510e\0\u5161"+ "\0\u51b4\0\u5207\0\u525a\0\u52ad\0\u033e\0\u5300\0\u5353\0\u53a6"+ "\0\u53f9\0\u544c\0\u549f\0\u54f2\0\u5545\0\u5598\0\u55eb\0\u563e"+ "\0\u5691\0\u56e4\0\u5737\0\u578a\0\u57dd\0\u5830\0\u5883\0\u58d6"+ "\0\u5929\0\u597c\0\u59cf\0\u5a22\0\u5a75\0\u5ac8\0\u5b1b\0\u5b6e"+ "\0\u5bc1\0\u5c14\0\u5c67\0\u5cba\0\u5d0d\0\u5d60\0\u5db3\0\u5e06"+ "\0\u5e59\0\u5eac\0\u5eff\0\u5f52\0\u5fa5\0\u5ff8\0\u604b\0\u609e"+ "\0\u60f1\0\u6144\0\u6197\0\u61ea\0\u623d\0\u6290\0\u62e3\0\u6336"+ "\0\u6389\0\u63dc\0\u642f\0\u6482\0\u64d5\0\u6528\0\u657b\0\u65ce"+ "\0\u6621\0\u6674\0\u66c7\0\u671a\0\u676d\0\u67c0\0\u6813\0\u6866"+ "\0\u68b9\0\u690c\0\u695f\0\u69b2\0\u6a05\0\u6a58\0\u6aab\0\u6afe"+ "\0\u6b51\0\u019f\0\u6ba4\0\u6bf7\0\u6c4a\0\u6c9d\0\u6cf0\0\u6d43"+ "\0\u6d96\0\u6de9\0\u6e3c\0\u6e8f\0\u6ee2\0\u6f35\0\u6f88\0\u6fdb"+ "\0\u702e\0\u7081\0\u70d4\0\u7127\0\u717a\0\u71cd\0\u7220\0\u7273"+ "\0\u72c6\0\u7319\0\u736c\0\u73bf\0\u7412\0\u7465\0\u74b8\0\u750b"+ "\0\u755e\0\u75b1\0\u7604\0\u7657\0\u76aa\0\u76fd\0\u7750\0\u77a3"+ "\0\u77f6\0\u7849\0\u789c\0\u78ef\0\u7942\0\u7995\0\u79e8\0\u7a3b"+ "\0\u7a8e\0\u7ae1\0\u7b34\0\u7b87\0\u7bda\0\u7c2d\0\u7c80\0\u7cd3"+ "\0\u7d26\0\u7d79\0\u7dcc\0\u7e1f\0\u7e72\0\u7ec5\0\u7f18\0\u7f6b"+ "\0\u7fbe\0\u8011\0\u8064\0\u80b7\0\u810a\0\u815d\0\u81b0\0\u8203"+ "\0\u8256\0\u82a9\0\u82fc\0\u834f\0\u83a2\0\u83f5\0\u8448\0\u849b"+ "\0\u84ee\0\u8541\0\u8594\0\u85e7\0\u863a\0\u868d\0\u86e0\0\u8733"+ "\0\u8786\0\u87d9\0\u4c84\0\u882c\0\u887f\0\u88d2\0\u8925\0\u8978"+ "\0\u89cb\0\u8a1e\0\u8a71\0\u8ac4\0\u8b17\0\u8b6a\0\u8bbd\0\u8c10"+ "\0\u8c63\0\u8cb6\0\u8d09\0\u033e\0\u8d5c\0\u8daf\0\u8e02\0\u8e55"+ "\0\u8ea8\0\u8efb\0\u8f4e\0\u8fa1\0\u8ff4\0\u9047\0\u019f\0\u909a"+ "\0\u90ed\0\u9140\0\u9193\0\u91e6\0\u9239\0\u928c\0\u92df\0\u9332"+ "\0\u9385\0\u93d8\0\u942b\0\u019f\0\u947e\0\u94d1\0\u9524\0\u9577"+ "\0\u95ca\0\u961d\0\u9670\0\u96c3\0\u9716\0\u9769\0\u97bc\0\u980f"+ "\0\u9862\0\u98b5\0\u9908\0\u995b\0\u99ae\0\u9a01\0\u9a54\0\u9aa7"+ "\0\u9afa\0\u9b4d\0\u9ba0\0\u9bf3\0\u9c46\0\u9c99\0\u9cec\0\u9d3f"+ "\0\u9d92\0\u9de5\0\u9e38\0\u9e8b\0\u9ede\0\u9f31\0\u9f84\0\u9fd7"+ "\0\ua02a\0\ua07d\0\ua0d0\0\ua123\0\ua176\0\ua1c9\0\ua21c\0\ua26f"+ "\0\ua2c2\0\ua315\0\ua368\0\ua3bb\0\ua40e\0\ua461\0\ua4b4\0\ua507"+ "\0\ua55a\0\ua5ad\0\ua600\0\ua653\0\ua6a6\0\ua6f9\0\ua74c\0\ua79f"+ "\0\ua7f2\0\ua845\0\ua898\0\ua8eb\0\ua93e\0\ua991\0\ua9e4\0\uaa37"+ "\0\uaa8a\0\uaadd\0\uab30\0\uab83\0\uabd6\0\uac29\0\uac7c\0\uaccf"+ "\0\uad22\0\uad75\0\uadc8\0\uae1b\0\uae6e\0\uaec1\0\uaf14\0\uaf67"+ "\0\uafba\0\ub00d\0\ub060\0\ub0b3\0\ub106\0\ub159\0\ub1ac\0\ub1ff"+ "\0\ub252\0\ub2a5\0\ub2f8\0\ub34b\0\ub39e\0\ub3f1\0\ub444\0\ub497"+ "\0\ub4ea\0\ub53d\0\ub590\0\ub5e3\0\ub636\0\ub689\0\ub6dc\0\ub72f"+ "\0\ub782\0\ub7d5\0\ub828\0\ub87b\0\ub8ce\0\ub921\0\u033e\0\ub974"+ "\0\ub9c7\0\uba1a\0\uba6d\0\ubac0\0\ubb13\0\ubb66\0\ubbb9\0\ubc0c"+ "\0\ubc5f\0\ubcb2\0\ubd05\0\ubd58\0\ubdab\0\ubdfe\0\ube51\0\ubea4"+ "\0\ubef7\0\ubf4a\0\ubf9d\0\ubff0\0\uc043\0\uc096\0\uc0e9\0\uc13c"+ "\0\uc18f\0\uc1e2\0\uc235\0\uc288\0\uc2db\0\uc32e\0\uc381\0\uc3d4"+ "\0\uc427\0\uc47a\0\uc4cd\0\uc520\0\uc573\0\uc5c6\0\uc619\0\uc66c"+ "\0\uc6bf\0\uc712\0\uc765\0\uc7b8\0\uc80b\0\uc85e\0\uc8b1\0\uc904"+ "\0\uc957\0\uc9aa\0\uc9fd\0\uca50\0\ucaa3\0\ucaf6\0\ucb49\0\ucb9c"+ "\0\ucbef\0\ucc42\0\ucc95\0\u5bc1\0\ucce8\0\ucd3b\0\ucd8e\0\ucde1"+ "\0\uce34\0\uce87\0\uceda\0\ucf2d\0\ucf80\0\ucfd3\0\ud026\0\ud079"+ "\0\ud0cc\0\ud11f\0\ud172\0\ud1c5\0\ud218\0\ud26b\0\ud2be\0\ud311"+ "\0\ud364\0\ud3b7\0\ud40a\0\ud45d\0\ud4b0\0\ud503\0\ud556\0\ud5a9"+ "\0\ud5fc\0\ud64f\0\ud6a2\0\ud6f5\0\ud748\0\ud79b\0\ud7ee\0\ud841"+ "\0\ud894\0\ud8e7\0\ud93a\0\ud98d\0\ud9e0\0\uda33\0\uda86\0\udad9"+ "\0\udb2c\0\udb7f\0\udbd2\0\udc25\0\udc78\0\udccb\0\udd1e\0\udd71"+ "\0\uddc4\0\ude17\0\ude6a\0\udebd\0\udf10\0\udf63\0\udfb6\0\ue009"+ "\0\ue05c\0\ue0af\0\ue102\0\ue155\0\ue1a8\0\ue1fb\0\ue24e\0\ue2a1"+ "\0\ue2f4\0\ue347\0\ue39a\0\ue3ed\0\ue440\0\ue493\0\ue4e6\0\ue539"+ "\0\ue58c\0\ue5df\0\ue632\0\ue685\0\ue6d8\0\ue72b\0\ue77e\0\ue7d1"+ "\0\ue824\0\ue877\0\ue8ca\0\ue91d\0\ue970\0\ue9c3\0\ub590\0\uea16"+ "\0\ub689\0\uea69\0\ueabc\0\ueb0f\0\ueb62\0\uebb5\0\uec08\0\uec5b"+ "\0\uecae\0\ued01\0\ued54\0\ueda7\0\uedfa\0\uee4d\0\ueea0\0\ueef3"+ "\0\uef46\0\uef99\0\uefec\0\uf03f\0\uf092\0\uf0e5\0\uf138\0\uf18b"+ "\0\uf1de\0\ube51\0\uf231\0\uf284\0\uf2d7\0\uf32a\0\uf37d\0\uf3d0"+ "\0\uf423\0\uf476\0\uf4c9\0\uf51c\0\uf56f\0\uf5c2\0\uf615\0\uf668"+ "\0\uf6bb\0\uf70e\0\uf761\0\uf7b4\0\uf807\0\uf85a\0\uf8ad\0\uf900"+ "\0\uf953\0\uf9a6\0\uf9f9\0\ufa4c\0\ufa9f\0\ufaf2\0\ufb45\0\ufb98"+ "\0\ufbeb\0\ufc3e\0\ufc91\0\ufce4\0\ufd37\0\ufd8a\0\ufddd\0\ufe30"+ "\0\ufe83\0\ufed6\0\uff29\0\uff7c\0\uffcf\1\42\0\u019f\1\165"+ "\1\310\1\u011b\1\u016e\1\u01c1\1\u0214\1\u0267\1\u02ba\1\u030d"+ "\1\u0360\1\u03b3\1\u0406\1\u0459\1\u04ac\1\u04ff\1\u0552\1\u05a5"+ "\1\u05f8\1\u064b\1\u069e\1\u06f1\1\u0744\1\u0797\1\u07ea\1\u083d"+ "\1\u0890\1\u08e3\1\u0936\1\u0989\1\u09dc\1\u0a2f\1\u0a82\1\u0ad5"+ "\1\u0b28\1\u0b7b\1\u0bce\1\u0c21\1\u0c74\1\u0cc7\1\u0d1a\1\u0d6d"+ "\1\u0dc0\1\u0e13\1\u0e66\1\u0eb9\1\u0f0c\1\u0f5f\1\u0fb2\1\u1005"+ "\1\u1058\1\u10ab\1\u10fe\1\u1151\1\u11a4\1\u11f7\1\u124a\1\u129d"+ "\1\u12f0\1\u1343\1\u1396\1\u13e9\1\u143c\1\u148f\1\u14e2\1\u1535"+ "\1\u1588\1\u15db\1\u162e\1\u1681\1\u16d4\1\u1727\1\u177a\1\u17cd"+ "\1\u1820\1\u1873\1\u18c6\1\u1919\1\u196c\1\u19bf\1\u1a12\1\u1a65"+ "\1\u1ab8\1\u1b0b\1\u1b5e\1\u1bb1\1\u1c04\1\u1c57\1\u1caa\1\u1cfd"+ "\1\u1d50\1\u1da3\1\u1df6\1\u1e49\1\u1e9c\1\u1eef\1\u1f42\1\u1f95"+ "\1\u1fe8\1\u203b\1\u208e\1\u20e1\1\u2134\1\u2187\1\u21da\1\u222d"+ "\1\u2280\1\u22d3\1\u2326\1\u2379\1\u23cc\1\u241f\1\u2472\1\u24c5"+ "\1\u2518\1\u256b\1\u25be\1\u2611\1\u2664\1\u26b7\1\u270a\1\u275d"+ "\1\u27b0\1\u2803\1\u2856\1\u28a9\1\u28fc\1\u294f\1\u29a2\1\u29f5"+ "\1\u2a48\1\u2a9b\1\u2aee\1\u2b41\1\u2b94\1\u2be7\1\u2c3a\1\u2c8d"+ "\1\u2ce0\1\u2d33\1\u2d86\1\u2dd9\1\u2e2c\1\u2e7f\1\u2ed2\1\u2f25"+ "\1\u2f78\1\u2fcb\1\u301e\1\u3071\1\u30c4\1\u3117\1\u316a\1\u31bd"+ "\1\u3210\1\u3263\1\u32b6\1\u3309\1\u335c\1\u33af\1\u3402\1\u3455"+ "\1\u34a8\1\u34fb\1\u354e\1\u35a1\1\u35f4\1\u3647\1\u369a\1\u36ed"+ "\1\u3740\1\u3793\1\u37e6\1\u3839\1\u388c\1\u38df\1\u3932\1\u3985"+ "\1\u39d8\1\u3a2b\1\u3a7e\1\u3ad1\1\u3b24\1\u3b77\1\u3bca\1\u3c1d"+ "\1\u3c70\1\u3cc3\1\u13e9\1\u3d16\1\u3d69\1\u3dbc\1\u3e0f\1\u3e62"+ "\1\u3eb5\1\u3f08\1\u3f5b\1\u3fae\1\u4001\1\u4054\1\u40a7\1\u40fa"+ "\1\u414d\1\u41a0\1\u41f3\1\u4246\1\u4299\1\u42ec\1\u433f\1\u4392"+ "\1\u43e5\1\u4438\1\u448b\1\u44de\1\u4531\1\u4584\1\u45d7\1\u462a"+ "\1\u467d\1\u46d0\1\u4723\1\u4776\1\u47c9\1\u481c\1\u486f\1\u48c2"+ "\1\u4915\1\u4968\1\u49bb\1\u4a0e\1\u4a61\1\u4ab4\1\u4b07\1\u4b5a"+ "\1\u4bad\1\u4c00\1\u4c53\1\u4ca6\1\u4cf9\1\u4d4c\1\u4d9f\1\u4df2"+ "\1\u4e45\1\u4e98\1\u4eeb\1\u4f3e\1\u4f91\1\u4fe4\1\u5037\1\u508a"+ "\1\u50dd\1\u5130\1\u5183\1\u51d6\1\u5229\1\u527c\1\u52cf\1\u5322"+ "\1\u5375\1\u53c8\1\u541b\1\u546e\1\u54c1\1\u5514\1\u5567\1\u55ba"+ "\1\u560d\1\u5660\1\u56b3\1\u5706\1\u5759\1\u57ac\1\u57ff\1\u5852"+ "\1\u58a5\1\u58f8\1\u594b\1\u599e\1\u59f1\1\u5a44\1\u5a97\1\u5aea"+ "\1\u5b3d\1\u5b90\1\u5be3\1\u5c36\1\u5c89\1\u5cdc\1\u5d2f\1\u5d82"+ "\1\u5dd5\1\u5e28\1\u5e7b\1\u5ece\1\u5f21\1\u5f74\1\u5fc7\1\u601a"+ "\1\u606d\1\u60c0\1\u6113\1\u6166\1\u61b9\1\u620c\1\u625f\1\u62b2"+ "\1\u6305\1\u6358\1\u63ab\1\u63fe\1\u6451\1\u64a4\1\u64f7\1\u654a"+ "\1\u659d\1\u65f0\1\u6643\1\u6696\1\u66e9\1\u673c\1\u678f\1\u67e2"+ "\1\u6835\1\u6888\1\u68db\1\u692e\1\u6981\1\u69d4\1\u6a27\1\u6a7a"+ "\1\u6acd\1\u6b20\1\u6b73\1\u6bc6\1\u6c19\1\u6c6c\1\u6cbf\1\u6d12"+ "\1\u6d65\1\u6db8\1\u6e0b\1\u6e5e\1\u6eb1\1\u6f04\1\u6f57\1\u6faa"+ "\1\u6ffd\1\u7050\1\u70a3\1\u70f6\1\u7149\1\u719c\1\u71ef\1\u7242"+ "\1\u7295\1\u72e8\1\u733b\1\u738e\1\u73e1\1\u7434\1\u7487\1\u74da"+ "\1\u752d\1\u7580\1\u75d3\1\u7626\1\u7679\1\u76cc\1\u771f\1\u7772"+ "\1\u77c5\1\u7818\1\u786b\1\u78be\1\u7911\1\u7964\1\u79b7\1\u75d3"+ "\1\u7a0a\1\u7a5d\1\u7ab0\1\u7b03\1\u7b56\1\u7ba9\1\u7bfc\1\u7c4f"+ "\1\u7ca2\1\u7cf5\1\u7d48\1\u7d9b\1\u7dee\1\u7e41\1\u7e94\1\u7ee7"+ "\1\u7f3a\1\u7f8d\1\u7fe0\1\u8033\1\u8086\1\u80d9\1\u812c\1\u817f"+ "\1\u81d2\1\u8225\1\u8278\1\u82cb\1\u831e\1\u8371\1\u83c4\1\u8417"+ "\1\u846a\1\u84bd\1\u8510\1\u8563\1\u85b6\1\u8609\1\u865c\1\u86af"+ "\1\u8702\1\u8755\1\u87a8\0\u033e\1\u87fb\1\u884e\1\u88a1\1\u88f4"+ "\1\u8947\1\u899a\1\u89ed\1\u8a40\1\u8a93\1\u8ae6\1\u8b39\1\u8b8c"+ "\1\u8bdf\1\u8c32\1\u8c85\1\u8cd8\1\u8d2b\1\u8d7e\1\u8dd1\1\u8e24"+ "\1\u8e77\1\u8eca\1\u8f1d\1\u8f70\1\u8fc3\1\u9016\1\u9069\1\u90bc"+ "\1\u910f\1\u9162\1\u91b5\1\u9208\1\u925b\1\u92ae\1\u8d2b\1\u9301"+ "\1\u9354\1\u93a7\1\u93fa\1\u944d\1\u94a0\1\u94f3\1\u9546\1\u9599"+ "\1\u95ec\1\u963f\1\u9692\1\u96e5\1\u9738\1\u978b\1\u97de\1\u9831"+ "\1\u9884\1\u98d7\1\u992a\1\u997d\1\u99d0\1\u9a23\1\u9a76\1\u9ac9"+ "\1\u9b1c\1\u9b6f\1\u9bc2\1\u9c15\1\u9c68\1\u9cbb\1\u9d0e\1\u9d61"+ "\1\u9db4\1\u9e07\1\u9e5a\1\u9ead\1\u9f00\1\u9f53\1\u9fa6\1\u9ff9"+ "\1\ua04c\1\ua09f\1\ua0f2\1\ua145\1\ua198\1\ua1eb\1\ua23e\1\ua291"+ "\1\ua2e4\1\ua337\1\ua38a\1\ua3dd\1\ua430\1\ua483\1\ua4d6\1\ua529"+ "\1\ua57c\1\ua5cf\1\ua622\1\ua675\1\ua6c8\1\ua71b\1\ua76e\1\ua7c1"+ "\1\ua814\1\ua867\1\ua8ba\1\ua90d\1\ua960\1\ua9b3\1\uaa06\1\uaa59"+ "\1\uaaac\1\uaaff\1\uab52\1\uaba5\1\uabf8\1\uac4b\1\uac9e\1\uacf1"+ "\1\uad44\1\uad97\1\uadea\1\uae3d\1\uae90\1\uaee3\1\uaf36\1\uaf89"+ "\1\uafdc\1\ub02f\1\ub082\1\ub0d5\1\ub128\1\ub17b\1\ub1ce\1\ub221"+ "\1\ub274\1\ub2c7\1\ub31a\1\ub36d\1\ub3c0\1\ub413\1\ub466\1\ub4b9"+ "\1\ub50c\1\ub55f\1\ub5b2\1\ub605\1\ub658\1\ub6ab\1\ub6fe\1\ub751"+ "\1\ub7a4\1\ub7f7\1\ub84a\1\ub89d\1\ub8f0\1\ub943\1\ub996\1\ub9e9"+ "\1\uba3c\1\uba8f\1\ubae2\1\ubb35\1\ubb88\1\ubbdb\1\ubc2e\1\ubc81"+ "\1\ubcd4\1\ubd27\1\ubd7a\1\ubdcd\1\ube20\1\ube73\1\ubec6\1\ubf19"+ "\1\ubf6c\1\ubfbf\1\uc012\1\uc065\1\uc0b8\1\uc10b\1\uc15e\1\uc1b1"+ "\1\uc204\1\uc257\1\uc2aa\1\uc2fd\1\uc350\1\uc3a3\1\uc3f6\1\uc449"+ "\1\uc49c\1\uc4ef\1\uc542\1\uc595\1\uc5e8\1\uc63b\1\uc68e\1\uc6e1"+ "\1\uc734\1\uc787\1\uc7da\1\uc82d\1\uc880\1\u5a44\1\uc8d3\1\uc926"+ "\1\uc979\1\uc9cc\1\uca1f\1\uca72\1\ucac5\1\ucb18\1\ucb6b\1\ucbbe"+ "\1\ucc11\1\ucc64\1\uccb7\1\ucd0a\1\ucd5d\1\ucdb0\1\uce03\1\uce56"+ "\1\ucea9\1\ucefc\1\ucf4f\1\ucfa2\1\ucff5\1\ud048\1\ud09b\1\ud0ee"+ "\1\ud141\1\ud194\1\ud1e7\1\ud23a\1\ud28d\1\ud2e0\1\ud333\1\ud386"+ "\1\ud3d9\1\ud42c\1\ud47f\1\ud4d2\1\ud525\1\ud578\1\ud5cb\1\ud61e"+ "\1\ud671\1\ud6c4\1\ud717\1\ud76a\1\ud7bd\1\ud810\1\ud863\1\ud8b6"+ "\1\ud909\1\ud95c\1\ud9af\1\uda02\1\uda55\1\udaa8\1\udafb\1\udb4e"+ "\1\udba1\1\udbf4\1\udc47\1\udc9a\1\udced\1\udd40\1\udd93\1\udde6"+ "\1\ude39\1\ude8c\1\udedf\1\udf32\1\udf85\1\udfd8\1\ue02b\1\ue07e"+ "\1\ue0d1\1\ue124\1\ue177\1\ue1ca\1\ue21d\1\ue270\1\ue2c3\1\ue316"+ "\1\ue369\1\ue3bc\1\ue40f\1\ue462\1\ue4b5\1\ue508\1\ue55b\1\ue5ae"+ "\1\ue601\1\ue654\1\ue6a7\1\ue6fa\1\ue74d\1\ue7a0\1\ue7f3\1\ue846"+ "\1\ue899\1\ue8ec\1\ue93f\1\ue992\1\ue9e5\1\uea38\1\uea8b\1\ueade"+ "\1\ueb31\1\ueb84\1\uebd7\1\uec2a\1\uec7d\1\uecd0\1\ued23\1\ued76"+ "\1\uedc9\1\uee1c\1\uee6f\1\ueec2\1\uef15\1\uef68\1\uefbb\1\uf00e"+ "\1\uf061\1\uf0b4\1\uf107\1\uf15a\1\uf1ad\1\uf200\1\uf253\1\uf2a6"+ "\1\uf2f9\1\uf34c\1\uf39f\1\uf3f2\1\uf445\1\uf498\1\uf4eb\1\uf53e"+ "\1\uf591\1\uf5e4\1\uf637\1\uf68a\1\uf6dd\1\uf730\1\uf783\1\uf7d6"+ "\1\uf829\1\uf87c\1\uf8cf\1\uf922\1\uf975\1\uf9c8\1\ufa1b\1\ufa6e"+ "\1\ufac1\1\ufb14\1\ufb67\1\ufbba\1\ufc0d\1\ufc60\1\ufcb3\1\ufd06"+ "\1\ufd59\1\ufdac\1\ufdff\1\ufe52\1\ufea5\1\ufef8\1\uff4b\1\uff9e"+ "\1\ufff1\2\104\2\227\2\352\2\u013d\2\u0190\2\u01e3\2\u0236"+ "\2\u0289\2\u02dc\2\u032f\2\u0382\2\u03d5\2\u0428\2\u047b\2\u04ce"+ "\2\u0521\2\u0574\2\u05c7\2\u061a\2\u066d\2\u06c0\2\u0713\2\u0766"+ "\2\u07b9\2\u080c\2\u085f\2\u08b2\2\u0905\2\u0958\2\u09ab\2\u09fe"+ "\2\u0a51\2\u0aa4\2\u0af7\2\u0b4a\2\u0b9d\2\u0bf0\2\u0c43\2\u0c96"+ "\2\u0ce9\2\u0d3c\2\u0d8f\2\u0de2\2\u0e35\2\u0e88\2\u0edb\2\u0f2e"+ "\2\u0f81\2\u0fd4\2\u1027\2\u107a\2\u10cd\2\u1120\2\u1173\2\u11c6"+ "\2\u1219\2\u126c\2\u12bf\2\u1312\2\u1365\2\u13b8\2\u140b\2\u145e"+ "\2\u14b1\2\u1504\2\u1557\2\u15aa\2\u15fd\2\u1650\2\u16a3\2\u16f6"+ "\2\u1749\2\u179c\2\u17ef\2\u1842\2\u1895\2\u18e8\2\u193b\2\u198e"+ "\2\u19e1\2\u1a34\2\u1a87\2\u1ada\2\u1b2d\2\u1b80\2\u1bd3\2\u1c26"+ "\2\u1c79\2\u1ccc\2\u1d1f\2\u1d72\2\u1dc5\2\u1e18\2\u1e6b\2\u1ebe"+ "\2\u1f11\2\u1f64\2\u1fb7\2\u200a\2\u205d\2\u20b0\2\u2103\2\u2156"+ "\2\u21a9\2\u21fc\2\u224f\2\u22a2\2\u22f5"; private static int [] zzUnpackRowMap() { int [] result = new int[1725]; int offset = 0; offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result); return result; } private static int zzUnpackRowMap(String packed, int offset, int [] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ int l = packed.length(); while (i < l) { int high = packed.charAt(i++) << 16; result[j++] = high | packed.charAt(i++); } 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"+ "\1\6\1\72\1\73\1\74\1\75\1\76\1\6\1\40"+ "\11\77\1\100\3\77\1\101\7\77\1\102\31\77\1\103"+ "\10\77\1\104\32\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\23\105\1\115\11\116\1\117\3\116\1\120\41\116"+ "\1\121\10\116\1\122\32\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\22\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\22\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\22\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\22\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\22\6\1\0"+ "\10\144\1\145\1\146\1\147\110\144\123\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\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\3\6\1\153\1\154\1\6\13\0"+ "\1\6\1\155\4\6\1\156\10\6\1\5\1\0\22\6"+ "\1\0\11\16\1\157\1\160\3\16\1\161\104\16\23\0"+ "\1\20\123\0\1\162\1\163\22\0\1\45\122\0\1\45"+ "\52\0\1\5\7\6\2\0\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\22\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\6\6"+ "\13\0\1\6\1\167\4\6\1\170\5\6\1\171\2\6"+ "\1\5\1\0\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\172\4\6\13\0\1\6\1\173\12\6"+ "\1\174\2\6\1\5\1\0\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\175\1\6\13\0\1\6"+ "\1\176\4\6\1\177\10\6\1\5\1\0\22\6\1\0"+ "\1\5\7\6\2\0\1\123\1\6\1\200\1\6\1\0"+ "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\6"+ "\1\201\4\6\13\0\5\6\1\202\1\6\1\203\2\6"+ "\1\204\4\6\1\5\1\0\12\6\1\205\7\6\35\0"+ "\1\45\13\0\1\45\55\0\3\131\1\0\1\131\7\0"+ "\1\131\103\0\1\5\7\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\206\4\6\13\0\1\207\16\6\1\5\1\0\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\210"+ "\3\6\13\0\17\6\1\5\1\0\22\6\1\0\1\5"+ "\7\6\2\0\1\123\1\6\1\211\1\6\1\0\1\6"+ "\1\0\1\5\1\6\3\0\6\6\2\0\4\6\1\212"+ "\1\6\13\0\5\6\1\213\11\6\1\5\1\0\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\2\6\1\214\3\6\2\0"+ "\5\6\1\215\13\0\17\6\1\5\1\0\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\216\15\6\1\5\1\0\22\6\1\0\1\5\7\6"+ "\2\0\1\123\1\217\2\6\1\0\1\6\1\0\1\5"+ "\1\6\3\0\6\6\2\0\1\220\5\6\13\0\1\221"+ "\10\6\1\222\2\6\1\223\2\6\1\5\1\0\22\6"+ "\47\0\1\45\1\0\1\45\121\0\1\224\1\45\122\0"+ "\1\45\1\0\1\225\120\0\1\45\4\0\1\45\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\226\3\6"+ "\13\0\1\6\1\227\15\6\1\5\1\0\22\6\1\0"+ "\1\5\7\6\2\0\1\123\1\230\2\6\1\0\1\6"+ "\1\0\1\5\1\6\3\0\6\6\2\0\1\6\1\231"+ "\1\6\1\232\2\6\13\0\17\6\1\5\1\0\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\3\6\1\233"+ "\1\234\1\6\13\0\1\235\1\236\15\6\1\5\1\0"+ "\22\6\1\0\1\5\7\6\2\0\1\123\1\6\1\237"+ "\1\240\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"+ "\22\6\1\0\1\5\7\6\2\0\1\123\1\242\2\6"+ "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0"+ "\2\6\1\243\1\244\2\6\13\0\1\6\1\245\4\6"+ "\1\246\10\6\1\5\1\0\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\247\16\6\1\5"+ "\1\0\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\250\15\6\1\5\1\0\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\251\15\6\1\5\1\0\22\6\1\0\1\5"+ "\7\6\2\0\1\123\1\252\2\6\1\0\1\6\1\0"+ "\1\5\1\6\3\0\6\6\2\0\2\6\1\253\1\254"+ "\2\6\13\0\17\6\1\5\1\0\22\6\1\0\1\5"+ "\2\255\3\5\1\255\1\5\2\0\1\5\3\255\1\0"+ "\1\5\1\0\1\5\1\255\3\0\6\255\2\0\6\255"+ "\13\0\17\255\1\5\1\0\22\255\1\0\1\5\7\6"+ "\2\0\1\123\1\256\2\6\1\0\1\6\1\0\1\5"+ "\1\6\3\0\2\6\1\257\3\6\2\0\1\6\1\260"+ "\3\6\1\261\13\0\3\6\1\262\13\6\1\5\1\0"+ "\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\263"+ "\1\6\1\264\3\6\13\0\1\265\1\266\2\6\1\267"+ "\1\6\1\270\5\6\1\271\2\6\1\5\1\0\22\6"+ "\1\0\1\5\7\6\2\0\1\123\1\6\1\272\1\6"+ "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0"+ "\1\273\3\6\1\274\1\6\13\0\2\6\1\275\14\6"+ "\1\5\1\0\12\6\1\276\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\277\4\6\13\0\1\300"+ "\1\301\4\6\1\302\5\6\1\303\2\6\1\5\1\0"+ "\22\6\1\0\1\5\7\6\2\0\1\123\1\6\1\304"+ "\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\305"+ "\1\306\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\307\2\6\13\0\17\6\1\5\1\0\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\3\6\1\310"+ "\2\6\13\0\6\6\1\311\10\6\1\5\1\0\22\6"+ "\1\0\1\5\7\6\2\0\1\123\1\312\2\6\1\0"+ "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\2\6"+ "\1\313\1\314\2\6\13\0\1\6\1\315\15\6\1\5"+ "\1\0\22\6\1\0\1\5\7\6\2\0\1\123\1\316"+ "\2\6\1\0\1\6\1\0\1\5\1\6\3\0\2\6"+ "\1\317\3\6\2\0\6\6\13\0\3\6\1\320\13\6"+ "\1\5\1\0\22\6\1\0\1\5\7\6\2\0\1\123"+ "\1\321\2\6\1\0\1\6\1\0\1\5\1\6\3\0"+ "\6\6\2\0\1\6\1\322\1\6\1\323\2\6\13\0"+ "\6\6\1\324\10\6\1\5\1\0\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\325\4\6\13\0"+ "\17\6\1\5\1\0\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\326\3\6\13\0\1\6\1\327"+ "\4\6\1\330\10\6\1\5\1\0\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\331\1\332\3\6"+ "\13\0\17\6\1\5\1\0\22\6\1\0\1\5\7\6"+ "\2\0\1\123\1\333\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\22\6\1\0\11\77\1\0\3\77\1\0\7\77"+ "\1\0\31\77\1\0\10\77\1\0\32\77\36\0\1\334"+ "\26\0\1\335\61\0\1\336\134\0\1\337\154\0\1\340"+ "\32\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\23\105"+ "\37\0\1\341\26\0\1\342\61\0\1\343\77\0\1\344"+ "\4\0\1\344\4\0\3\344\6\0\1\345\1\0\6\344"+ "\2\0\6\344\6\0\1\346\4\0\17\344\2\0\22\344"+ "\37\0\1\347\154\0\1\350\70\0\1\351\1\352\1\353"+ "\1\354\1\0\1\355\14\0\1\356\1\357\1\360\1\361"+ "\1\0\1\362\3\0\1\363\127\0\1\364\24\0\11\116"+ "\1\0\3\116\1\0\41\116\1\0\10\116\1\0\32\116"+ "\36\0\1\365\26\0\1\366\73\0\1\367\154\0\1\370"+ "\32\0\10\5\2\0\1\5\1\371\2\5\1\0\1\5"+ "\1\0\2\5\3\0\6\5\2\0\6\5\13\0\20\5"+ "\1\0\22\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\22\124\1\0\2\124\1\125\3\372\1\124\1\372"+ "\2\0\4\124\1\0\1\372\1\0\2\124\3\0\6\124"+ "\2\0\6\124\13\0\20\124\1\0\22\124\1\0\3\124"+ "\3\373\1\124\1\373\2\0\4\124\1\0\1\373\1\0"+ "\2\124\3\0\6\124\1\374\1\0\6\124\2\0\1\374"+ "\10\0\20\124\1\0\22\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\22\124"+ "\1\0\2\124\1\132\1\124\2\375\1\124\1\375\2\0"+ "\4\124\1\0\1\375\1\0\2\124\3\0\6\124\2\0"+ "\6\124\13\0\20\124\1\0\22\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\22\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\376\3\124\1\126\1\130\1\0\1\131\2\124"+ "\1\130\1\124\1\376\1\124\13\0\2\124\1\126\5\124"+ "\1\126\7\124\1\0\22\124\1\0\4\124\2\377\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\22\124\1\0\3\124"+ "\5\u0100\2\0\3\124\1\u0100\1\0\1\u0100\1\0\2\124"+ "\3\0\1\124\2\u0100\1\124\2\u0100\2\0\2\124\2\u0100"+ "\2\124\13\0\2\124\1\u0100\1\124\1\u0100\3\124\1\u0100"+ "\7\124\1\0\1\124\1\u0100\20\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\u0101\4\6\13\0\17\6"+ "\1\5\1\0\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\u0102\1\6\13\0\17\6\1\5\1\0"+ "\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\3\6"+ "\1\u0103\2\6\13\0\1\6\1\u0104\15\6\1\5\1\0"+ "\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\3\6"+ "\1\u0105\2\6\13\0\17\6\1\5\1\0\22\6\1\0"+ "\1\5\7\6\2\0\1\123\1\6\1\u0106\1\6\1\0"+ "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\4\6"+ "\1\u0107\1\6\13\0\7\6\1\u0108\7\6\1\5\1\0"+ "\22\6\1\0\10\u0109\1\u010a\1\0\111\u0109\10\0\1\u010a"+ "\112\0\4\u0109\2\u010b\1\u0109\1\u010c\1\u010d\1\0\1\144"+ "\1\u010e\3\144\1\u010b\10\u0109\1\144\5\u0109\2\144\63\u0109"+ "\1\5\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\u010f\1\6"+ "\13\0\17\6\1\5\1\0\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\11\6\1\240\5\6"+ "\1\5\1\0\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\u0110\5\6\13\0\17\6\1\5\1\0\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\u0111"+ "\1\6\13\0\17\6\1\5\1\0\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\u0112"+ "\15\6\1\5\1\0\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\240\4\6\13\0\17\6\1\5"+ "\1\0\22\6\1\0\1\5\7\6\2\0\1\123\1\6"+ "\1\u0113\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\22\6"+ "\1\0\12\157\1\u0114\3\157\1\u0115\110\157\2\16\1\157"+ "\2\16\1\0\1\16\1\u0116\4\16\10\157\1\16\5\157"+ "\2\16\63\157\25\0\1\u0117\75\0\1\5\7\6\2\0"+ "\1\123\1\6\1\u0118\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\u0119"+ "\12\6\1\5\1\0\22\6\1\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\5\6\1\u011b\13\0\17\6"+ "\1\5\1\0\22\6\1\0\1\5\7\6\2\0\1\123"+ "\2\6\1\u011c\1\0\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\0\1\5\7\6\2\0\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\u011d\15\6\1\5\1\0\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\u011e\5\6\13\0\17\6"+ "\1\5\1\0\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\u011f\5\6\13\0\17\6\1\5\1\0\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\u0120"+ "\3\6\13\0\17\6\1\5\1\0\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\u0121"+ "\15\6\1\5\1\0\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\u0122\5\6\13\0\17\6\1\5\1\0"+ "\22\6\1\0\1\5\7\6\2\0\1\123\1\u0123\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\u0124\15\6\1\5\1\0\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\u0125"+ "\4\6\13\0\17\6\1\5\1\0\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\u0126\1\6\13\0"+ "\17\6\1\5\1\0\22\6\1\0\1\5\7\6\2\0"+ "\1\123\1\u0127\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"+ "\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\u0128\4\6\13\0\17\6\1\5\1\0\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\u0129\5\6\13\0"+ "\4\6\1\u012a\12\6\1\5\1\0\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\3\6\1\u012b"+ "\13\6\1\5\1\0\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\u012c\3\6\13\0\17\6\1\5"+ "\1\0\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\4\6\1\u012d"+ "\1\6\2\0\6\6\13\0\17\6\1\5\1\0\22\6"+ "\1\0\1\5\7\6\2\0\1\123\1\u012e\2\6\1\0"+ "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\3\6"+ "\1\u012f\2\6\13\0\14\6\1\240\2\6\1\5\1\0"+ "\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\u0130\4\6\13\0\6\6\1\u0131\10\6\1\5\1\0"+ "\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\u0132"+ "\5\6\13\0\17\6\1\5\1\0\22\6\1\0\1\5"+ "\7\6\2\0\1\123\1\u0133\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\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\5\6\1\u0134\13\0\17\6\1\5\1\0\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\u0135\5\6"+ "\13\0\17\6\1\5\1\0\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\5\6\1\u0136\13\0\17\6\1\5"+ "\1\0\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"+ "\5\6\1\u0137\13\0\17\6\1\5\1\0\22\6\1\0"+ "\1\5\7\6\2\0\1\123\1\6\1\u0138\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\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\3\6\1\u0139\13\6"+ "\1\5\1\0\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\u013a\1\6\1\u013b\2\6\13\0\17\6"+ "\1\5\1\0\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\u013c\15\6\1\5\1\0"+ "\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\u013d\10\6\1\5\1\0\22\6\1\0"+ "\1\5\7\6\2\0\1\123\1\6\1\u013e\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\22\6\51\0\1\45\1\0"+ "\1\22\50\0\1\5\7\6\2\0\1\123\2\6\1\u013f"+ "\1\0\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\0\1\5"+ "\7\6\2\0\1\123\1\u0140\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\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\2\6"+ "\1\u0141\3\6\2\0\6\6\13\0\17\6\1\5\1\0"+ "\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\u0142\4\6\1\u0143\10\6\1\5\1\0"+ "\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\4\6\1\u0144\12\6\1\5\1\0\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\u0145\4\6\1\u0134"+ "\13\0\17\6\1\5\1\0\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\3\6\1\u0146\2\6\13\0\17\6"+ "\1\5\1\0\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\3\6\1\u0147\2\6\13\0\17\6\1\5\1\0"+ "\22\6\1\0\1\5\7\6\2\0\1\123\1\6\1\u0148"+ "\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\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\u0149\4\6\1\u014a"+ "\13\0\17\6\1\5\1\0\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\3\6\1\u014b\13\6"+ "\1\5\1\0\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\3\6\1\u014c\13\6\1\5\1\0"+ "\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\17\6\1\5\1\0\3\6\1\u014d\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\1\u014e\5\6\13\0"+ "\17\6\1\5\1\0\22\6\1\0\1\5\7\6\2\0"+ "\1\123\1\u014f\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"+ "\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\4\6\1\u0150\12\6\1\5\1\0\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\u0151\10\6\1\5\1\0\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\u0152\1\6\13\0\6\6"+ "\1\u0153\10\6\1\5\1\0\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\u0154\5\6\13\0\17\6\1\5"+ "\1\0\22\6\1\0\1\5\7\6\2\0\1\123\1\6"+ "\1\u0155\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\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\3\6\1\u0156"+ "\1\6\1\u0157\13\0\17\6\1\5\1\0\22\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\22\6\1\0\1\5\7\255"+ "\2\0\1\u0159\3\255\1\0\1\255\1\0\1\5\1\255"+ "\3\0\6\255\2\0\6\255\13\0\17\255\1\5\1\0"+ "\22\255\1\0\1\5\7\6\2\0\1\123\3\6\1\0"+ "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\u015a"+ "\5\6\13\0\17\6\1\5\1\0\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\5\6\1\u015b\13\0\17\6"+ "\1\5\1\0\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\u015c\4\6\13\0\6\6\1\u015d\10\6"+ "\1\5\1\0\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\5\6\1\u015e\13\0\17\6\1\5\1\0\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"+ "\3\6\1\u015f\13\6\1\5\1\0\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\u0160\1\6\1\u0161"+ "\2\6\13\0\17\6\1\5\1\0\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\u0162\1\u0163\4\6\13\0"+ "\4\6\1\u0164\12\6\1\5\1\0\3\6\1\u0165\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\6\6\13\0"+ "\1\6\1\u0166\15\6\1\5\1\0\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\u0167\4\6\13\0"+ "\17\6\1\5\1\0\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\3\6\1\u0168\2\6\13\0\17\6\1\5"+ "\1\0\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\7\6\1\u0169\7\6\1\5\1\0\22\6"+ "\1\0\1\5\7\6\2\0\1\123\1\6\1\u016a\1\6"+ "\1\0\1\6\1\0\1\5\1\6\3\0\6\6\2\0"+ "\5\6\1\u016b\13\0\17\6\1\5\1\0\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\u016c\4\6\1\u016d"+ "\13\0\1\u016e\1\6\1\u016f\1\u0170\1\u0171\5\6\1\u0172"+ "\4\6\1\5\1\0\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\u0173\3\6\13\0\17\6\1\5"+ "\1\0\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\u0174\1\6\13\0\17\6\1\5\1\0\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\u0175"+ "\3\6\13\0\17\6\1\5\1\0\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\5\6\1\u0176\2\0\6\6\13\0\17\6"+ "\1\5\1\0\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\u0177\3\6\13\0\17\6\1\5\1\0"+ "\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\u0178\4\6\13\0\17\6\1\5\1\0\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\u0179\15\6\1\5\1\0\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\7\6\1\u017a\7\6"+ "\1\5\1\0\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\3\6\1\u017b\13\6\1\5\1\0"+ "\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\5\6"+ "\1\u017c\13\0\16\6\1\u017d\1\5\1\0\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\4\6\1\u017e\1\6\2\0\6\6"+ "\13\0\17\6\1\5\1\0\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\17\6\1\5\1\0"+ "\4\6\1\u017f\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\5\6\1\u0180\13\0\17\6\1\5\1\0\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\u0181\5\6"+ "\13\0\3\6\1\u0182\13\6\1\5\1\0\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\5\6\1\u0183\13\0"+ "\17\6\1\5\1\0\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\u0184\1\6\13\0\7\6\1\u0185"+ "\7\6\1\5\1\0\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\13\6\1\u0186\3\6\1\5"+ "\1\0\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\12\6\1\u0187\4\6\1\5\1\0\22\6"+ "\1\0\1\5\5\6\1\u0188\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\u0189\5\6\13\0\17\6\1\5\1\0\2\6\1\u018a"+ "\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\1\u018b"+ "\5\6\13\0\17\6\1\5\1\0\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\5\6\1\u018c\13\0\17\6"+ "\1\5\1\0\13\6\1\u018d\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\1\u018e\5\6\13\0\17\6\1\5"+ "\1\0\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"+ "\5\6\1\u018f\13\0\17\6\1\5\1\0\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\u0190\4\6\1\u0191\10\6\1\5\1\0\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\4\6"+ "\1\u0192\12\6\1\5\1\0\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\3\6\1\u0193\13\6"+ "\1\5\1\0\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\u0194\3\6\13\0\17\6\1\5\1\0"+ "\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\u0195\4\6\13\0\4\6\1\u0196\12\6\1\5\1\0"+ "\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\u0197\10\6\1\5\1\0\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\u0198\4\6"+ "\13\0\17\6\1\5\1\0\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\u0199\10\6"+ "\1\5\1\0\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\3\6\1\u019a\2\6\13\0\17\6\1\5\1\0"+ "\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\u014d\3\6\13\0\17\6\1\5\1\0\22\6\63\0"+ "\1\u019b\102\0\1\u019c\116\0\1\u019d\154\0\1\u019e\114\0"+ "\1\u019f\102\0\1\u01a0\60\0\52\344\1\346\50\344\1\0"+ "\1\344\4\0\1\344\4\0\3\344\10\0\6\344\2\0"+ "\6\344\6\0\1\346\4\0\17\344\2\0\22\344\37\0"+ "\1\u01a1\154\0\1\u01a2\45\0\1\u01a3\43\0\1\u01a4\1\u01a5"+ "\102\0\1\u01a6\146\0\1\u01a7\51\0\1\u01a8\147\0\1\u01a9"+ "\24\0\1\u01aa\65\0\1\u01ab\132\0\1\u01ac\123\0\1\u01ad"+ "\122\0\1\u01ae\75\0\1\u01af\146\0\1\u01b0\124\0\1\u01b1"+ "\16\0\1\u01b2\1\0\1\u01b3\1\0\1\u01b4\3\0\1\u01b5"+ "\113\0\1\u01b6\102\0\1\u01b7\116\0\1\u01b8\154\0\1\u01b9"+ "\32\0\3\5\5\u01ba\2\0\3\5\1\u01ba\1\0\1\u01ba"+ "\1\0\2\5\3\0\1\5\2\u01ba\1\5\2\u01ba\2\0"+ "\2\5\2\u01ba\2\5\13\0\2\5\1\u01ba\1\5\1\u01ba"+ "\3\5\1\u01ba\7\5\1\0\1\5\1\u01ba\20\5\1\0"+ "\2\124\1\125\3\372\1\124\1\372\2\0\4\124\1\0"+ "\1\372\1\0\2\124\3\0\1\127\5\124\2\0\4\124"+ "\1\127\1\124\13\0\20\124\1\0\22\124\1\0\3\124"+ "\3\373\1\124\1\373\2\0\3\124\1\126\1\0\1\373"+ "\1\0\2\124\3\0\4\124\1\126\1\124\2\0\6\124"+ "\13\0\2\124\1\126\5\124\1\126\7\124\1\0\22\124"+ "\4\0\3\373\1\0\1\373\7\0\1\373\103\0\2\124"+ "\1\132\1\124\2\375\1\124\1\375\2\0\4\124\1\0"+ "\1\375\1\0\2\124\3\0\1\376\5\124\2\0\4\124"+ "\1\376\1\124\13\0\20\124\1\0\22\124\1\0\2\124"+ "\1\u01bb\1\124\2\377\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\22\124\1\0\2\124\1\u01bc\5\u0100\2\0\3\124"+ "\1\u0100\1\0\1\u0100\1\0\2\124\3\0\1\376\2\u0100"+ "\1\124\2\u0100\2\0\2\124\2\u0100\1\376\1\124\13\0"+ "\2\124\1\u0100\1\124\1\u0100\3\124\1\u0100\7\124\1\0"+ "\1\124\1\u0100\20\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\u01bd\4\6\13\0\17\6\1\5\1\0"+ "\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\u01be\3\6\13\0\17\6\1\5\1\0\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\5\6\1\u01bf\13\0"+ "\17\6\1\5\1\0\22\6\1\0\1\5\7\6\2\0"+ "\1\123\1\6\1\u01c0\1\6\1\0\1\6\1\0\1\5"+ "\1\6\3\0\6\6\2\0\5\6\1\u01c1\13\0\17\6"+ "\1\5\1\0\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\u01c2\4\6\13\0\17\6\1\5\1\0"+ "\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\5\6"+ "\1\u01c3\13\0\4\6\1\u01c4\12\6\1\5\1\0\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\u01c5"+ "\1\6\13\0\17\6\1\5\1\0\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\3\6\1\u01c6"+ "\13\6\1\5\1\0\22\6\1\0\10\u0109\1\145\1\0"+ "\115\u0109\2\u010c\1\u0109\1\u010c\1\u010a\1\0\5\u0109\1\u010c"+ "\107\u0109\2\144\1\u0109\1\144\1\u010a\1\0\5\u0109\1\144"+ "\106\u0109\5\u01c7\1\145\1\0\3\u0109\1\u01c7\1\u0109\1\u01c7"+ "\7\u0109\2\u01c7\1\u0109\2\u01c7\4\u0109\2\u01c7\17\u0109\1\u01c7"+ "\1\u0109\1\u01c7\3\u0109\1\u01c7\11\u0109\1\u01c7\21\u0109\1\5"+ "\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\240\1\6\13\0"+ "\17\6\1\5\1\0\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\u01c8\10\6\1\5"+ "\1\0\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"+ "\5\6\1\u012e\13\0\17\6\1\5\1\0\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\3\6\1\u01c9\2\6"+ "\13\0\17\6\1\5\1\0\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\3\6\1\u01ca\2\6\13\0\17\6"+ "\1\5\1\0\22\6\1\0\11\157\1\0\114\157\5\u01cb"+ "\2\157\1\u0114\2\157\1\u01cb\1\u0115\1\u01cb\7\157\2\u01cb"+ "\1\157\2\u01cb\4\157\2\u01cb\17\157\1\u01cb\1\157\1\u01cb"+ "\3\157\1\u01cb\11\157\1\u01cb\21\157\24\0\1\u01cc\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\6\6\13\0\13\6"+ "\1\u0162\3\6\1\5\1\0\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\3\6\1\u01cd\2\6\13\0\17\6"+ "\1\5\1\0\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\u01ce\3\6\13\0\16\6\1\u01cf\1\5"+ "\1\0\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\u01d0\5\6\13\0\17\6\1\5\1\0\22\6\1\0"+ "\1\5\7\6\2\0\1\123\2\6\1\u01d1\1\0\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\0\1\5\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\u01d2\1\6\13\0\17\6\1\5"+ "\1\0\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\17\6\1\5\1\0\2\6\1\u01d3\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\2\6\1\u01d4"+ "\3\6\13\0\17\6\1\5\1\0\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\3\6\1\u01d5\2\6\13\0"+ "\17\6\1\5\1\0\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\u01d6\1\6\13\0\17\6\1\5"+ "\1\0\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\u01d7\3\6\13\0\17\6\1\5\1\0\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\5\6\1\u01d8"+ "\13\0\17\6\1\5\1\0\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\3\6\1\u01d9\2\6\13\0\17\6"+ "\1\5\1\0\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\7\6\1\u01da\7\6\1\5\1\0"+ "\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\u01db"+ "\1\6\1\u01dc\3\6\13\0\17\6\1\5\1\0\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"+ "\7\6\1\u01dd\7\6\1\5\1\0\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\u01de"+ "\15\6\1\5\1\0\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\u01df\3\6\13\0\17\6\1\5"+ "\1\0\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\u01e0\3\6\13\0\17\6\1\5\1\0\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\u01e1\5\6"+ "\13\0\17\6\1\5\1\0\22\6\1\0\1\5\7\6"+ "\2\0\1\123\1\6\1\u01e2\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\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\5\6"+ "\1\u01e3\2\0\6\6\13\0\17\6\1\5\1\0\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\u01e4"+ "\3\6\13\0\17\6\1\5\1\0\22\6\1\0\1\5"+ "\7\6\2\0\1\123\1\6\1\u01e5\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\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\u01e6\15\6\1\5"+ "\1\0\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"+ "\5\6\1\240\13\0\17\6\1\5\1\0\22\6\1\0"+ "\1\5\7\6\2\0\1\123\1\u01e7\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\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\7\6\1\240\7\6\1\5"+ "\1\0\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\240\3\6\13\0\17\6\1\5\1\0\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\u01e8"+ "\3\6\13\0\17\6\1\5\1\0\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\u01e9\5\6\13\0\17\6"+ "\1\5\1\0\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\u01ea\3\6\13\0\17\6\1\5\1\0"+ "\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\13\6\1\u01d7\3\6\1\5\1\0\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\155\3\6"+ "\13\0\17\6\1\5\1\0\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\u01eb\10\6"+ "\1\5\1\0\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\u01ec\5\6\13\0\17\6\1\5\1\0\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\u01c9"+ "\4\6\13\0\17\6\1\5\1\0\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\u0145\5\6\13\0\17\6"+ "\1\5\1\0\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\4\6\1\u01ed\12\6\1\5\1\0"+ "\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\3\6"+ "\1\u01ee\2\6\13\0\17\6\1\5\1\0\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\2\6\1\u01ef\3\6\2\0\6\6"+ "\13\0\17\6\1\5\1\0\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\u01ec\1\6\13\0\17\6"+ "\1\5\1\0\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\u01f0\5\6\13\0\17\6\1\5\1\0\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"+ "\12\6\1\u01f1\4\6\1\5\1\0\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\16\6\1\u01f2"+ "\1\5\1\0\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\4\6\1\u01f3\12\6\1\5\1\0"+ "\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\5\6"+ "\1\u0131\13\0\17\6\1\5\1\0\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\u01d7\4\6\13\0"+ "\17\6\1\5\1\0\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\u01f4\4\6\1\u01f5\13\0\17\6\1\5"+ "\1\0\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\u01f6\3\6\13\0\17\6\1\5\1\0\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\u01f7\5\6"+ "\13\0\17\6\1\5\1\0\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\u01f8\1\6\13\0\1\6"+ "\1\u01ea\15\6\1\5\1\0\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\u01f9\1\6\13\0\17\6"+ "\1\5\1\0\22\6\1\0\1\5\7\6\2\0\1\123"+ "\1\u01fa\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\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\u0162"+ "\1\u01fb\2\6\13\0\17\6\1\5\1\0\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\2\6\1\u01fc\3\6\2\0\6\6"+ "\13\0\17\6\1\5\1\0\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\u01fd\5\6\13\0\17\6\1\5"+ "\1\0\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\u0134\1\6\13\0\17\6\1\5\1\0\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\3\6\1\u01fe"+ "\2\6\13\0\17\6\1\5\1\0\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\2\6\1\240"+ "\14\6\1\5\1\0\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\240\15\6\1\5"+ "\1\0\22\6\1\0\1\5\7\6\2\0\1\123\1\6"+ "\1\u01ff\1\6\1\0\1\6\1\0\1\5\1\6\3\0"+ "\6\6\2\0\1\u0200\5\6\13\0\17\6\1\5\1\0"+ "\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\2\6\1\u0201\14\6\1\5\1\0\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\u0202\15\6\1\5\1\0\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\2\6\1\u0203\14\6"+ "\1\5\1\0\22\6\1\0\10\5\2\0\1\5\1\u0204"+ "\2\5\1\0\1\5\1\0\2\5\3\0\6\5\2\0"+ "\6\5\13\0\20\5\1\0\22\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\u0205\15\6"+ "\1\5\1\0\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\u0206\5\6\13\0\17\6\1\5\1\0\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\3\6\1\u0207"+ "\2\6\13\0\17\6\1\5\1\0\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\u0208\5\6\13\0\17\6"+ "\1\5\1\0\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\u0209\3\6\13\0\17\6\1\5\1\0"+ "\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\u020a\3\6\13\0\17\6\1\5\1\0\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\u020b\3\6"+ "\13\0\6\6\1\u020c\10\6\1\5\1\0\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\4\6"+ "\1\u020d\12\6\1\5\1\0\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\u020e\3\6"+ "\1\u020f\4\6\1\5\1\0\22\6\1\0\1\5\7\6"+ "\2\0\1\123\1\u0210\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\22\6\1\0\1\5\7\6\2\0\1\123\1\u0211"+ "\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\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\u01d9\4\6"+ "\13\0\17\6\1\5\1\0\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\u0212\5\6\13\0\17\6\1\5"+ "\1\0\22\6\1\0\1\5\7\6\2\0\1\123\1\6"+ "\1\u0213\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\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"+ "\3\6\1\u0214\13\6\1\5\1\0\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\4\6\1\u0215"+ "\12\6\1\5\1\0\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\u0216\5\6\13\0\17\6\1\5\1\0"+ "\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\u0217\3\6\13\0\17\6\1\5\1\0\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\u0218\5\6\13\0"+ "\17\6\1\5\1\0\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\u0219\3\6\13\0\17\6\1\5"+ "\1\0\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\u021a\3\6\13\0\17\6\1\5\1\0\22\6"+ "\1\0\1\5\7\6\2\0\1\123\1\u021b\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\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\u021c\15\6"+ "\1\5\1\0\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\3\6\1\u021d\2\6\13\0\17\6\1\5\1\0"+ "\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\u021e\4\6\13\0\17\6\1\5\1\0\22\6\1\0"+ "\1\5\7\6\2\0\1\123\2\6\1\u021f\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\22\6\1\0\1\5"+ "\7\6\2\0\1\123\1\6\1\u0221\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\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\201\4\6\13\0\5\6\1\u0222"+ "\11\6\1\5\1\0\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\u0223\3\6\13\0\17\6\1\5"+ "\1\0\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\u0224\3\6\13\0\1\6\1\u0225\15\6\1\5"+ "\1\0\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\17\6\1\5\1\0\10\6\1\u0226\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\u0227"+ "\3\6\13\0\17\6\1\5\1\0\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\u0228\3\6\13\0"+ "\17\6\1\5\1\0\22\6\1\0\1\5\7\6\2\0"+ "\1\123\1\u0229\2\6\1\0\1\6\1\0\1\5\1\6"+ "\3\0\6\6\2\0\3\6\1\u022a\2\6\13\0\17\6"+ "\1\5\1\0\22\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"+ "\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\10\6\1\u022c\6\6\1\5\1\0\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\10\6"+ "\1\u0162\6\6\1\5\1\0\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\u022d\16\6\1\5"+ "\1\0\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\u0162\16\6\1\5\1\0\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\1\0\1\u022e\6\6\13\0"+ "\17\6\1\5\1\0\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\5\6\1\u022f\13\0\17\6\1\5\1\0"+ "\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\u0230\1\6\13\0\17\6\1\5\1\0\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\2\6\1\u0231\3\6\2\0\6\6"+ "\13\0\17\6\1\5\1\0\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\3\6\1\u0232\2\6\13\0\17\6"+ "\1\5\1\0\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\u0233\10\6\1\5\1\0"+ "\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\u0234\1\6\13\0\17\6\1\5\1\0\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\17\6"+ "\1\5\1\0\1\6\1\u0235\1\u0236\17\6\1\0\1\5"+ "\7\6\2\0\1\123\1\u0237\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\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\3\6\1\u0238\13\6\1\5\1\0"+ "\12\6\1\u0239\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\u023a\3\6\13\0\17\6\1\5\1\0"+ "\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\u023b\3\6\13\0\17\6\1\5\1\0\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\u023c\10\6\1\5\1\0\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\u023d\16\6\1\5"+ "\1\0\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\3\6\1\u023e\1\u023f\12\6\1\5\1\0"+ "\22\6\1\0\1\5\7\6\2\0\1\123\1\6\1\u0240"+ "\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\u0241\15\6\1\5\1\0"+ "\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\16\6\1\u0242\1\5\1\0\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\u0243\3\6\13\0"+ "\17\6\1\5\1\0\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\13\6\1\u0244\3\6\1\5"+ "\1\0\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\u0245\10\6\1\5\1\0\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\u0128\5\6"+ "\13\0\17\6\1\5\1\0\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\2\6\1\u0162\14\6"+ "\1\5\1\0\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\u0246\5\6\13\0\17\6\1\5\1\0\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\u0247\5\6"+ "\13\0\17\6\1\5\1\0\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\16\6\1\u0248\1\5"+ "\1\0\22\6\57\0\1\u0249\104\0\1\u019b\144\0\1\u024a"+ "\75\0\1\u024b\143\0\1\u024c\104\0\1\u019f\144\0\1\u024d"+ "\75\0\1\u024e\123\0\1\u024f\123\0\1\u0250\144\0\1\u0251"+ "\77\0\1\u0252\125\0\1\u0253\21\0\1\u0254\75\0\1\u0255"+ "\123\0\1\u0256\1\u0257\76\0\1\u0258\151\0\1\u0259\141\0"+ "\1\u025a\77\0\1\u025b\121\0\1\u025c\122\0\1\u025d\22\0"+ "\1\u025e\100\0\1\u025f\150\0\1\u0260\115\0\1\u0261\122\0"+ "\1\u0262\56\0\1\u0263\147\0\1\u0264\137\0\1\u0265\104\0"+ "\1\u01b6\144\0\1\u0266\75\0\1\u0267\65\0\3\5\5\u0268"+ "\2\0\3\5\1\u0268\1\0\1\u0268\1\0\2\5\3\0"+ "\1\5\2\u0268\1\5\2\u0268\2\0\2\5\2\u0268\2\5"+ "\13\0\2\5\1\u0268\1\5\1\u0268\3\5\1\u0268\7\5"+ "\1\0\1\5\1\u0268\20\5\1\0\2\124\1\u01bc\5\u0100"+ "\2\0\3\124\1\u0100\1\0\1\u0100\1\0\2\124\3\0"+ "\1\124\2\u0100\1\124\2\u0100\2\0\2\124\2\u0100\2\124"+ "\13\0\2\124\1\u0100\1\124\1\u0100\3\124\1\u0100\7\124"+ "\1\0\1\124\1\u0100\20\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\u0269\3\6\13\0\17\6\1\5"+ "\1\0\22\6\1\0\1\5\7\6\2\0\1\123\1\6"+ "\1\u026a\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\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\5\6\1\u026b"+ "\13\0\17\6\1\5\1\0\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\u026c\3\6\13\0\17\6"+ "\1\5\1\0\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\u01ff\3\6\13\0\17\6\1\5\1\0"+ "\22\6\1\0\1\5\5\6\1\u026d\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\u026e\2\6\13\0\17\6\1\5\1\0"+ "\1\6\1\u026f\1\u0270\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\u01fc\15\6\1\5"+ "\1\0\22\6\1\0\1\5\7\6\2\0\1\123\1\u0271"+ "\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\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\u0272\3\6"+ "\13\0\17\6\1\5\1\0\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\3\6\1\u0173\2\6\13\0\6\6"+ "\1\u0273\10\6\1\5\1\0\22\6\1\0\3\u0109\5\u0274"+ "\1\145\1\0\3\u0109\1\u0274\1\u0109\1\u0274\7\u0109\2\u0274"+ "\1\u0109\2\u0274\4\u0109\2\u0274\17\u0109\1\u0274\1\u0109\1\u0274"+ "\3\u0109\1\u0274\11\u0109\1\u0274\21\u0109\1\5\7\6\2\0"+ "\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\u0134\4\6\1\5"+ "\1\0\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\u01d7\5\6\13\0\17\6\1\5\1\0\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\u0275\1\6"+ "\13\0\17\6\1\5\1\0\22\6\1\0\3\157\5\u0276"+ "\2\157\1\u0114\2\157\1\u0276\1\u0115\1\u0276\7\157\2\u0276"+ "\1\157\2\u0276\4\157\2\u0276\17\157\1\u0276\1\157\1\u0276"+ "\3\157\1\u0276\11\157\1\u0276\21\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\4\6\1\u0277\1\6\13\0\17\6\1\5"+ "\1\0\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\17\6\1\5\1\0\11\6\1\u0278\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\2\6\1\u0279"+ "\1\u027a\2\6\13\0\17\6\1\5\1\0\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\15\6"+ "\1\u027b\1\6\1\5\1\0\4\6\1\u027c\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\u027d\3\6"+ "\13\0\17\6\1\5\1\0\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\u027e\3\6\13\0\17\6"+ "\1\5\1\0\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\u01d9\3\6\13\0\17\6\1\5\1\0"+ "\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\17\6\1\5\1\0\1\6\1\u027f\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\240\1\5\1\0\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\u0280\3\6\13\0\17\6\1\5"+ "\1\0\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\u01ff\16\6\1\5\1\0\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\u0162\5\6\13\0"+ "\17\6\1\5\1\0\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\3\6\1\u0281\2\6\13\0\17\6\1\5"+ "\1\0\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\u0282\3\6\13\0\17\6\1\5\1\0\22\6"+ "\1\0\1\5\7\6\2\0\1\123\1\6\1\u0283\1\6"+ "\1\0\1\6\1\0\1\5\1\6\3\0\4\6\1\u0284"+ "\1\6\2\0\6\6\13\0\10\6\1\u0285\4\6\1\u0286"+ "\1\6\1\5\1\0\4\6\1\u0287\4\6\1\u0288\1\u0289"+ "\1\6\1\u028a\2\6\1\u028b\2\6\1\0\1\5\5\6"+ "\1\u028c\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\u028d\3\6"+ "\13\0\17\6\1\5\1\0\2\6\1\u01d3\5\6\1\u028e"+ "\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\u0162\4\6\13\0\17\6\1\5\1\0\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\u028f\4\6"+ "\13\0\17\6\1\5\1\0\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\3\6\1\u0290\13\6"+ "\1\5\1\0\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\14\6\1\u0291\2\6\1\5\1\0"+ "\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\u0292"+ "\5\6\13\0\17\6\1\5\1\0\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\5\6\1\u0222"+ "\11\6\1\5\1\0\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\5\6\1\u0293\13\0\17\6\1\5\1\0"+ "\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\11\6\1\u0294\5\6\1\5\1\0\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\u0295\4\6"+ "\13\0\17\6\1\5\1\0\22\6\1\0\1\5\7\6"+ "\2\0\1\123\1\6\1\u0296\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\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\u0297\4\6\13\0\17\6\1\5\1\0"+ "\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\u01f5\4\6\13\0\17\6\1\5\1\0\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\4\6"+ "\1\u0298\12\6\1\5\1\0\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\u0299\10\6"+ "\1\5\1\0\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\u029a\16\6\1\5\1\0\22\6"+ "\1\0\1\5\7\6\2\0\1\123\1\u029b\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\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\u0122\1\6\13\0\17\6"+ "\1\5\1\0\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\u029c\3\6\13\0\17\6\1\5\1\0"+ "\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\3\6"+ "\1\u029d\2\6\13\0\17\6\1\5\1\0\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\3\6\1\u029e\2\6"+ "\13\0\17\6\1\5\1\0\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\240\16\6\1\5"+ "\1\0\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\u029f\10\6\1\5\1\0\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\240\5\6"+ "\13\0\17\6\1\5\1\0\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\u02a0\4\6\13\0\17\6"+ "\1\5\1\0\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\3\6\1\u02a1\2\6\13\0\17\6\1\5\1\0"+ "\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\u02a2\3\6\13\0\17\6\1\5\1\0\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\u02a3\10\6\1\5\1\0\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\u0162\3\6\13\0\17\6"+ "\1\5\1\0\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\17\6\1\5\1\0\4\6\1\u02a4"+ "\5\6\1\u02a5\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\4\6\1\u01fa\1\6\13\0\17\6\1\5\1\0"+ "\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\u02a6\10\6\1\5\1\0\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\247\5\6\13\0"+ "\17\6\1\5\1\0\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\3\6\1\u014f\2\6\13\0\17\6\1\5"+ "\1\0\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\u02a7\10\6\1\5\1\0\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\u01de"+ "\1\u014f\2\6\13\0\17\6\1\5\1\0\22\6\1\0"+ "\1\5\7\6\2\0\1\123\1\u02a8\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\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\u02a9\15\6\1\5"+ "\1\0\22\6\1\0\3\5\5\u02aa\2\0\3\5\1\u02aa"+ "\1\0\1\u02aa\1\0\2\5\3\0\1\5\2\u02aa\1\5"+ "\2\u02aa\2\0\2\5\2\u02aa\2\5\13\0\2\5\1\u02aa"+ "\1\5\1\u02aa\3\5\1\u02aa\7\5\1\0\1\5\1\u02aa"+ "\20\5\1\0\1\5\5\6\1\u02ab\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\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\u02ac\4\6"+ "\13\0\17\6\1\5\1\0\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\14\6\1\u02ad\2\6"+ "\1\5\1\0\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\u02ae\16\6\1\5\1\0\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\u02af"+ "\4\6\13\0\17\6\1\5\1\0\22\6\1\0\1\5"+ "\7\6\2\0\1\123\1\6\1\u02b0\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\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\3\6\1\u02b1\2\6\13\0\17\6\1\5"+ "\1\0\22\6\1\0\1\5\7\6\2\0\1\123\1\6"+ "\1\u02b2\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\u02b3\12\6\1\5"+ "\1\0\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\16\6\1\u02b4\1\5\1\0\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\3\6\1\u02b5\2\6"+ "\13\0\17\6\1\5\1\0\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\u02b6\10\6"+ "\1\5\1\0\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\u02b7\4\6\13\0\17\6\1\5\1\0"+ "\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\u02b8\3\6\13\0\17\6\1\5\1\0\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\u02b9\3\6"+ "\13\0\17\6\1\5\1\0\22\6\1\0\1\5\7\6"+ "\2\0\1\123\1\6\1\u02ba\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\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\u02bb\1\6\13\0\17\6\1\5\1\0"+ "\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\4\6\1\u02bc\1\6"+ "\2\0\6\6\13\0\17\6\1\5\1\0\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\u02bd\3\6"+ "\13\0\17\6\1\5\1\0\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\u02be\4\6\13\0\13\6"+ "\1\u02ba\3\6\1\5\1\0\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\3\6\1\u02bf\2\6\13\0\17\6"+ "\1\5\1\0\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\u02c0\4\6\13\0\17\6\1\5\1\0"+ "\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\5\6\1\u02c1\11\6\1\5\1\0\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\u02c2\5\6\13\0"+ "\17\6\1\5\1\0\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\7\6\1\u02c3\7\6\1\5"+ "\1\0\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\u02c4\1\6\13\0\17\6\1\5\1\0\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\3\6\1\u02c5"+ "\2\6\13\0\17\6\1\5\1\0\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\u02c6"+ "\15\6\1\5\1\0\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\13\6\1\u02c7\3\6\1\5"+ "\1\0\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\u02c8\5\6\13\0\17\6\1\5\1\0\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\4\6"+ "\1\u02c9\12\6\1\5\1\0\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\17\6\1\5\1\0"+ "\2\6\1\u01d3\5\6\1\u028e\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\u02ca\2\6\13\0\17\6"+ "\1\5\1\0\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\11\6\1\u01ff\5\6\1\5\1\0"+ "\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\3\6"+ "\1\u02cb\2\6\13\0\17\6\1\5\1\0\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\u02cc\4\6"+ "\13\0\17\6\1\5\1\0\21\6\1\u02cd\1\0\1\5"+ "\7\6\2\0\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\u02ce\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\3\6\1\u02cf\13\6\1\5"+ "\1\0\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\u02d0\5\6\13\0\17\6\1\5\1\0\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\u02d1\15\6\1\5\1\0\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\3\6\1\u02d2\2\6\13\0\17\6"+ "\1\5\1\0\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\u01ff\5\6\13\0\17\6\1\5\1\0\2\6"+ "\1\u01d3\5\6\1\u028e\11\6\34\0\1\u02d3\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\6\6\1\u02d4"+ "\10\6\1\5\1\0\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\17\6\1\5\1\0\14\6"+ "\1\u02d5\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"+ "\2\6\1\u02d6\3\6\13\0\17\6\1\5\1\0\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\u02d7\5\6"+ "\13\0\17\6\1\5\1\0\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\13\6\1\u02d8\3\6"+ "\1\5\1\0\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\3\6\1\u02d9\2\6\13\0\17\6\1\5\1\0"+ "\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\4\6\1\u02da\12\6\1\5\1\0\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\u02db\3\6"+ "\13\0\17\6\1\5\1\0\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\4\6\1\u02dc\12\6"+ "\1\5\1\0\22\6\1\0\1\5\7\6\2\0\1\123"+ "\1\u02dd\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\22\6"+ "\1\0\1\5\7\6\2\0\1\123\2\6\1\u02de\1\0"+ "\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\0\1\5\7\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\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\4\6\1\u02e0\12\6\1\5\1\0"+ "\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\u02e1\15\6\1\5\1\0\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\2\6\1\u02e2\3\6\2\0\6\6"+ "\13\0\17\6\1\5\1\0\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\u02e3\3\6\13\0\17\6"+ "\1\5\1\0\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\u02e4\3\6\13\0\17\6\1\5\1\0"+ "\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\u02e5"+ "\5\6\13\0\17\6\1\5\1\0\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\u02e6\4\6\13\0"+ "\17\6\1\5\1\0\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\3\6\1\u02e7\2\6\13\0\17\6\1\5"+ "\1\0\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\2\6\1\u02e8\14\6\1\5\1\0\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\u02e9\15\6\1\5\1\0\22\6\1\0\1\5"+ "\7\6\2\0\1\123\2\6\1\u02ea\1\0\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\0\1\5\7\6\2\0\1\123"+ "\1\u02eb\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\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\u02ec"+ "\3\6\13\0\17\6\1\5\1\0\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\17\6\1\5"+ "\1\0\7\6\1\u02ed\12\6\25\0\1\u02ee\141\0\1\u019b"+ "\12\0\1\u0249\45\0\1\u024b\1\u02ef\5\u024b\1\u02ef\2\0"+ "\3\u024b\1\0\1\u024b\1\0\1\u02ef\1\u024b\1\0\1\u024b"+ "\1\u02ef\6\u024b\2\u02ef\6\u024b\1\0\2\u02ef\1\0\1\u02ef"+ "\2\0\4\u02ef\17\u024b\2\u02ef\22\u024b\25\0\1\u02f0\141\0"+ "\1\u019f\12\0\1\u024c\45\0\1\u024e\1\u02f1\5\u024e\1\u02f1"+ "\2\0\3\u024e\1\0\1\u024e\1\0\1\u02f1\1\u024e\1\0"+ "\1\u024e\1\u02f1\6\u024e\2\u02f1\6\u024e\1\0\2\u02f1\1\0"+ "\1\u02f1\2\0\4\u02f1\17\u024e\2\u02f1\22\u024e\61\0\1\u02f2"+ "\102\0\1\u02f3\17\0\1\u02f4\122\0\1\u0257\55\0\1\u02f5"+ "\175\0\1\u02f6\74\0\1\u02f7\1\0\1\u02f8\137\0\1\u02f9"+ "\130\0\1\u02fa\120\0\1\u02fb\117\0\1\u02fc\101\0\1\u02fd"+ "\124\0\1\u02fe\121\0\1\u02ff\122\0\1\u0300\122\0\1\u0301"+ "\125\0\1\u0302\73\0\1\u0303\21\0\1\u0304\147\0\1\u0305"+ "\120\0\1\u0306\120\0\1\u0307\105\0\1\u0308\104\0\1\u0309"+ "\141\0\1\u01b6\12\0\1\u0265\45\0\1\u0267\1\u030a\5\u0267"+ "\1\u030a\2\0\3\u0267\1\0\1\u0267\1\0\1\u030a\1\u0267"+ "\1\0\1\u0267\1\u030a\6\u0267\2\u030a\6\u0267\1\0\2\u030a"+ "\1\0\1\u030a\2\0\4\u030a\17\u0267\2\u030a\22\u0267\1\0"+ "\3\5\5\u030b\2\0\3\5\1\u030b\1\0\1\u030b\1\0"+ "\2\5\3\0\1\5\2\u030b\1\5\2\u030b\2\0\2\5"+ "\2\u030b\2\5\13\0\2\5\1\u030b\1\5\1\u030b\3\5"+ "\1\u030b\7\5\1\0\1\5\1\u030b\20\5\1\0\1\5"+ "\7\6\2\0\1\123\1\6\1\u030c\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\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\2\6\1\u030d\14\6\1\5"+ "\1\0\22\6\1\0\1\5\5\6\1\u030e\1\6\2\0"+ "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0"+ "\1\u030f\3\6\1\u0310\1\6\2\0\6\6\13\0\17\6"+ "\1\5\1\0\11\6\1\u0288\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\3\6\1\u014f\2\6\13\0\17\6"+ "\1\5\1\0\11\6\1\u0311\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\u0312\15\6"+ "\1\5\1\0\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\4\6\1\u0313\12\6\1\5\1\0"+ "\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\u0314\4\6\13\0\17\6\1\5\1\0\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\u0315\3\6"+ "\13\0\17\6\1\5\1\0\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\u0316\4\6\13\0\17\6"+ "\1\5\1\0\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\4\6\1\u0317\12\6\1\5\1\0"+ "\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\u02ba\1\6\13\0\17\6\1\5\1\0\22\6\1\0"+ "\3\u0109\5\u0318\1\145\1\0\3\u0109\1\u0318\1\u0109\1\u0318"+ "\7\u0109\2\u0318\1\u0109\2\u0318\4\u0109\2\u0318\17\u0109\1\u0318"+ "\1\u0109\1\u0318\3\u0109\1\u0318\11\u0109\1\u0318\21\u0109\1\5"+ "\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\u0319\1\6\13\0"+ "\17\6\1\5\1\0\22\6\1\0\3\157\5\u031a\2\157"+ "\1\u0114\2\157\1\u031a\1\u0115\1\u031a\7\157\2\u031a\1\157"+ "\2\u031a\4\157\2\u031a\17\157\1\u031a\1\157\1\u031a\3\157"+ "\1\u031a\11\157\1\u031a\21\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\u031b\3\6\13\0\17\6\1\5\1\0"+ "\22\6\1\0\1\5\7\6\2\0\1\123\1\u031c\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\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\2\6\1\u031d"+ "\14\6\1\5\1\0\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\13\6\1\u031e\3\6\1\5"+ "\1\0\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\u031f\3\6\13\0\17\6\1\5\1\0\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\u0320\5\6"+ "\13\0\17\6\1\5\1\0\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\u0193\4\6\13\0\17\6"+ "\1\5\1\0\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\3\6\1\u0321\2\6\13\0\17\6\1\5\1\0"+ "\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\u0322\4\6\13\0\17\6\1\5\1\0\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\3\6\1\u0323\2\6"+ "\13\0\17\6\1\5\1\0\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\u0324\5\6\13\0\17\6\1\5"+ "\1\0\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\u02e8\4\6\13\0\17\6\1\5\1\0\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\3\6\1\u0325"+ "\2\6\13\0\17\6\1\5\1\0\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\u0326"+ "\10\6\1\5\1\0\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\u0327\3\6\13\0\17\6\1\5"+ "\1\0\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\u0328\3\6\13\0\17\6\1\5\1\0\22\6"+ "\1\0\1\5\7\6\2\0\1\123\1\6\1\u0329\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\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\u032a"+ "\15\6\1\5\1\0\22\6\1\0\1\5\7\6\2\0"+ "\1\123\1\u032b\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"+ "\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\u032c\3\6\13\0\17\6\1\5\1\0\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\u032d\4\6"+ "\13\0\17\6\1\5\1\0\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\u032e\15\6"+ "\1\5\1\0\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\u032f\4\6\13\0\17\6\1\5\1\0"+ "\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\3\6"+ "\1\u0330\2\6\13\0\17\6\1\5\1\0\22\6\1\0"+ "\1\5\7\6\2\0\1\123\1\6\1\u0331\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\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\u0332\5\6\13\0\17\6\1\5"+ "\1\0\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\17\6\1\5\1\0\2\6\1\u0333\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\u0334\5\6\2\0\6\6"+ "\13\0\17\6\1\5\1\0\12\6\1\u0335\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\u0336\10\6\1\5\1\0\22\6\1\0\1\5\7\6"+ "\2\0\1\123\1\6\1\u0337\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\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\2\6\1\u0131\14\6\1\5\1\0"+ "\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\3\6"+ "\1\u0338\2\6\13\0\17\6\1\5\1\0\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\u0339\5\6\13\0"+ "\17\6\1\5\1\0\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\4\6\1\240\12\6\1\5"+ "\1\0\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\u033a\4\6\13\0\17\6\1\5\1\0\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\u01f5"+ "\1\6\13\0\17\6\1\5\1\0\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\4\6\1\u033b"+ "\12\6\1\5\1\0\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\u0134\5\6\13\0\17\6\1\5\1\0"+ "\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\13\6\1\u0134\3\6\1\5\1\0\22\6\1\0"+ "\1\5\7\6\2\0\1\123\1\6\1\u033c\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\22\6\1\0\1\5\7\6"+ "\2\0\1\123\2\6\1\u033d\1\0\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\0\1\5\7\6\2\0\1\123\1\6"+ "\1\u033e\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\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"+ "\7\6\1\u033f\7\6\1\5\1\0\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\4\6\1\u0340"+ "\12\6\1\5\1\0\22\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\22\6\1\0\1\5\7\6\2\0\1\123\1\u0342"+ "\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\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\u0343\15\6\1\5\1\0\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\7\6\1\u0344\7\6"+ "\1\5\1\0\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\u0345\4\6\13\0\17\6\1\5\1\0"+ "\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\7\6\1\u0346\7\6\1\5\1\0\22\6\1\0"+ "\3\5\5\u0347\2\0\3\5\1\u0347\1\0\1\u0347\1\0"+ "\2\5\3\0\1\5\2\u0347\1\5\2\u0347\2\0\2\5"+ "\2\u0347\2\5\13\0\2\5\1\u0347\1\5\1\u0347\3\5"+ "\1\u0347\7\5\1\0\1\5\1\u0347\20\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\u0348\1\6\13\0"+ "\17\6\1\5\1\0\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\3\6\1\u0349\2\6\13\0\17\6\1\5"+ "\1\0\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\u034a\5\6"+ "\2\0\5\6\1\u0162\13\0\10\6\1\u034b\6\6\1\5"+ "\1\0\2\6\1\u034c\1\6\1\u034d\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\6\6\13\0\7\6\1\u034e"+ "\7\6\1\5\1\0\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\u034f\5\6\13\0\17\6\1\5\1\0"+ "\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\2\6\1\u01ff\14\6\1\5\1\0\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\7\6"+ "\1\u0350\7\6\1\5\1\0\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\13\6\1\u0351\3\6"+ "\1\5\1\0\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\u0352\5\6\13\0\17\6\1\5\1\0\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"+ "\17\6\1\5\1\0\5\6\1\u0353\4\6\1\u0354\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\4\6\1\u0355"+ "\1\6\13\0\17\6\1\5\1\0\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\4\6\1\u0356"+ "\12\6\1\5\1\0\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\u0357\10\6\1\5"+ "\1\0\22\6\1\0\1\5\7\6\2\0\1\123\1\6"+ "\1\u0358\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\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"+ "\2\6\1\u0223\14\6\1\5\1\0\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\u01de\3\6\13\0"+ "\17\6\1\5\1\0\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\u0359\3\6\13\0\17\6\1\5"+ "\1\0\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"+ "\3\6\1\u035a\2\6\13\0\17\6\1\5\1\0\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"+ "\7\6\1\u0162\7\6\1\5\1\0\22\6\1\0\1\5"+ "\7\6\2\0\1\123\1\6\1\u035b\1\6\1\0\1\6"+ "\1\0\1\5\1\6\3\0\6\6\2\0\1\6\1\u035c"+ "\4\6\13\0\17\6\1\5\1\0\22\6\1\0\1\5"+ "\7\6\2\0\1\123\1\6\1\u035d\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\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\u035e\10\6\1\5"+ "\1\0\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\17\6\1\5\1\0\12\6\1\u035f\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"+ "\17\6\1\5\1\0\2\6\1\u0360\5\6\1\u0361\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"+ "\3\6\1\u0362\13\6\1\5\1\0\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\u0363"+ "\10\6\1\5\1\0\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"+ "\2\6\1\u01fc\3\6\2\0\1\u0128\5\6\13\0\17\6"+ "\1\5\1\0\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\u0364\4\6\13\0\17\6\1\5\1\0"+ "\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\3\6"+ "\1\u0365\2\6\13\0\17\6\1\5\1\0\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\u0366\10\6\1\5\1\0\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\u0367\3\6\13\0\17\6"+ "\1\5\1\0\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\2\6\1\u0368\14\6\1\5\1\0"+ "\22\6\1\0\1\5\7\6\2\0\1\123\1\6\1\u0369"+ "\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\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\17\6"+ "\1\5\1\0\5\6\1\u036a\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\1\6\1\u036b\15\6"+ "\1\5\1\0\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\u036c\15\6\1\5\1\0"+ "\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\3\6\1\u036d\13\6\1\5\1\0\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\u036e\10\6\1\5\1\0\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\11\6\1\u036f\5\6"+ "\1\5\1\0\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\u0370\5\6\13\0\17\6\1\5\1\0\22\6"+ "\15\0\1\u0371\106\0\1\5\7\6\2\0\1\123\1\6"+ "\1\u0372\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\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\u0373\15\6\1\5\1\0\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\u0374\4\6\13\0"+ "\17\6\1\5\1\0\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\u0375\10\6\1\5"+ "\1\0\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"+ "\3\6\1\u0376\2\6\13\0\17\6\1\5\1\0\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\5\6\1\u0377"+ "\13\0\17\6\1\5\1\0\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\u0378\5\6\13\0\17\6\1\5"+ "\1\0\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\u0379\4\6\13\0\17\6\1\5\1\0\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\u037a\16\6\1\5\1\0\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\u037b\5\6\13\0\17\6\1\5"+ "\1\0\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\17\6\1\5\1\0\10\6\1\u037c\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"+ "\12\6\1\u0201\4\6\1\5\1\0\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\u037d\5\6\13\0\17\6"+ "\1\5\1\0\22\6\1\0\1\5\7\6\2\0\1\123"+ "\1\6\1\u037e\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"+ "\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\3\6"+ "\1\u037f\2\6\13\0\17\6\1\5\1\0\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\u0380\4\6"+ "\13\0\17\6\1\5\1\0\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\5\6\1\u0381\13\0\17\6\1\5"+ "\1\0\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\17\6\1\5\1\0\2\6\1\u0382\14\6"+ "\1\u028b\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"+ "\6\6\13\0\6\6\1\u0383\10\6\1\5\1\0\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"+ "\13\6\1\u01fa\3\6\1\5\1\0\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\15\6\1\u0286"+ "\1\6\1\5\1\0\4\6\1\u0287\5\6\1\u0289\4\6"+ "\1\u028b\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\6\1\u0384\4\6\13\0\17\6\1\5\1\0\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"+ "\14\6\1\u0385\2\6\1\5\1\0\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\3\6\1\u0386\2\6\13\0"+ "\17\6\1\5\1\0\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\u0162\4\6\13\0\17\6\1\5"+ "\1\0\1\6\1\u0387\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\3\6\1\u0388\2\6\13\0\17\6\1\5"+ "\1\0\22\6\25\0\1\u024b\122\0\1\u024e\135\0\1\u0389"+ "\124\0\1\u038a\151\0\1\u038b\71\0\1\u038c\145\0\1\u038d"+ "\122\0\1\u038e\53\0\1\u038f\167\0\1\u0390\103\0\1\u0391"+ "\121\0\1\u0257\124\0\1\u0392\120\0\1\u0393\150\0\1\u0257"+ "\126\0\1\u0394\67\0\1\u0395\147\0\1\u0257\123\0\1\u0396"+ "\132\0\1\u0397\65\0\1\u0398\156\0\1\u0399\66\0\1\u0397"+ "\122\0\1\u039a\75\0\1\u0306\133\0\1\u0267\76\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\20\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\u039b\12\6"+ "\1\5\1\0\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\3\6\1\u01de\2\6\13\0\17\6\1\5\1\0"+ "\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\3\6"+ "\1\u039c\2\6\13\0\6\6\1\u039d\10\6\1\5\1\0"+ "\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\u0328\15\6\1\5\1\0\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\u039e\15\6\1\5\1\0\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\u039f\15\6"+ "\1\5\1\0\22\6\1\0\1\5\7\6\2\0\1\123"+ "\1\6\1\u03a0\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"+ "\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\u03a1"+ "\5\6\13\0\17\6\1\5\1\0\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\u03a2\4\6\13\0"+ "\17\6\1\5\1\0\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\17\6\1\5\1\0\3\6"+ "\1\u03a3\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"+ "\1\6\1\u03a4\4\6\13\0\17\6\1\5\1\0\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\u03a5\5\6"+ "\13\0\17\6\1\5\1\0\22\6\1\0\3\u0109\5\144"+ "\1\145\1\0\3\u0109\1\144\1\u0109\1\144\7\u0109\2\144"+ "\1\u0109\2\144\4\u0109\2\144\17\u0109\1\144\1\u0109\1\144"+ "\3\u0109\1\144\11\u0109\1\144\21\u0109\1\5\7\6\2\0"+ "\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\240\2\6\1\5"+ "\1\0\22\6\1\0\3\157\5\16\2\157\1\u0114\2\157"+ "\1\16\1\u0115\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\21\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\u03a6"+ "\6\6\13\0\17\6\1\5\1\0\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\7\6\1\u03a7"+ "\7\6\1\5\1\0\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\u034a\5\6\2\0\6\6\13\0\17\6\1\5\1\0"+ "\7\6\1\u03a8\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\u0385\3\6\13\0\17\6\1\5\1\0"+ "\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\5\6"+ "\1\u03a9\13\0\17\6\1\5\1\0\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\u03aa\3\6\13\0"+ "\17\6\1\5\1\0\22\6\1\0\1\5\7\6\2\0"+ "\1\123\1\6\1\u0162\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\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\u03ab\4\6\13\0\17\6\1\5\1\0\22\6"+ "\1\0\1\5\7\6\2\0\1\123\1\6\1\u01d7\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\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\4\6\1\u03ac\1\6\2\0\1\u03ad\5\6"+ "\13\0\17\6\1\5\1\0\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\7\6\1\u03ae\7\6"+ "\1\5\1\0\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\u03af\1\6\13\0\17\6\1\5\1\0"+ "\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\5\6"+ "\1\u03b0\13\0\17\6\1\5\1\0\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\3\6\1\u03b1\2\6\13\0"+ "\17\6\1\5\1\0\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\3\6\1\u03b2\13\6\1\5"+ "\1\0\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\u03b3\5\6\13\0\17\6\1\5\1\0\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\u0329\5\6\13\0"+ "\17\6\1\5\1\0\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\u03b4\4\6\13\0\17\6\1\5"+ "\1\0\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\u03af\10\6\1\5\1\0\22\6"+ "\1\0\1\5\7\6\2\0\1\123\1\6\1\u03b5\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\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\3\6\1\u03b6\2\6\13\0"+ "\17\6\1\5\1\0\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\3\6\1\u0162\13\6\1\5"+ "\1\0\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"+ "\3\6\1\u03b7\2\6\13\0\17\6\1\5\1\0\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\u03b8\10\6\1\5\1\0\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\u03b9\5\6\13\0\17\6"+ "\1\5\1\0\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\u03ba\10\6\1\5\1\0"+ "\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\2\6\1\u03bb\3\6"+ "\2\0\6\6\13\0\17\6\1\5\1\0\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\u03bc\3\6"+ "\13\0\17\6\1\5\1\0\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\4\6\1\u01f5\12\6"+ "\1\5\1\0\22\6\1\0\1\5\7\6\2\0\1\123"+ "\2\6\1\u03bd\1\0\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\0\1\5\7\6\2\0\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\u03be\15\6\1\5\1\0\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\u03bf\5\6\13\0\17\6"+ "\1\5\1\0\22\6\1\0\1\5\7\6\2\0\1\123"+ "\1\u0134\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\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\3\6\1\u03c0"+ "\2\6\13\0\17\6\1\5\1\0\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\4\6\1\u03c1"+ "\12\6\1\5\1\0\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\u03c2\3\6\13\0\17\6\1\5"+ "\1\0\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"+ "\3\6\1\u03c3\2\6\13\0\17\6\1\5\1\0\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"+ "\3\6\1\u03c4\13\6\1\5\1\0\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\u0341\5\6\13\0\17\6"+ "\1\5\1\0\22\6\1\0\1\5\7\6\2\0\1\123"+ "\1\6\1\u03c5\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"+ "\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\u03c6\3\6\13\0\17\6\1\5\1\0\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\4\6"+ "\1\u03c7\12\6\1\5\1\0\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\17\6\1\5\1\0"+ "\1\6\1\u03c8\20\6\1\0\3\5\5\u03c9\2\0\3\5"+ "\1\u03c9\1\0\1\u03c9\1\0\2\5\3\0\1\5\2\u03c9"+ "\1\5\2\u03c9\2\0\2\5\2\u03c9\2\5\13\0\2\5"+ "\1\u03c9\1\5\1\u03c9\3\5\1\u03c9\7\5\1\0\1\5"+ "\1\u03c9\20\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\u03ca\15\6\1\5\1\0\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"+ "\4\6\1\u03cb\12\6\1\5\1\0\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\u03cc"+ "\10\6\1\5\1\0\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\243\3\6\13\0\17\6\1\5"+ "\1\0\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\u03cd\5\6\13\0\17\6\1\5\1\0\22\6\1\0"+ "\1\5\7\6\2\0\1\123\1\6\1\u03ce\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\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\u03cf\3\6\13\0\17\6"+ "\1\5\1\0\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\u03d0\10\6\1\5\1\0"+ "\22\6\1\0\1\5\5\6\1\u03d1\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\u03d2"+ "\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\1\6\1\u03d3\4\6"+ "\2\0\6\6\13\0\15\6\1\u0286\1\6\1\5\1\0"+ "\4\6\1\u034d\1\u03d2\11\6\1\u028b\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\6\6\13\0\17\6\1\5"+ "\1\0\10\6\1\u03d4\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\u03d5\4\6\13\0\17\6\1\5"+ "\1\0\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\12\6\1\u03d6\4\6\1\5\1\0\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\u03d7\10\6\1\5\1\0\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\u03d8\3\6\13\0"+ "\17\6\1\5\1\0\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\u03d9\5\6\13\0\17\6\1\5\1\0"+ "\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\4\6\1\u03da\12\6\1\5\1\0\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\17\6"+ "\1\5\1\0\5\6\1\u03db\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\u03dc\10\6"+ "\1\5\1\0\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\3\6\1\u03dd\2\6\13\0\17\6\1\5\1\0"+ "\22\6\1\0\1\5\7\6\2\0\1\123\1\u03de\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\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\u03df\5\6\13\0\17\6"+ "\1\5\1\0\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\u03e0\5\6\13\0\17\6\1\5\1\0\22\6"+ "\1\0\1\5\7\6\2\0\1\123\1\u03e1\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\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\u03e2\5\6\13\0\17\6\1\5"+ "\1\0\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\u03e3\10\6\1\5\1\0\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\3\6\1\u03e4"+ "\2\6\13\0\17\6\1\5\1\0\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\2\6\1\u03e5"+ "\14\6\1\5\1\0\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\7\6\1\u03e6\7\6\1\5"+ "\1\0\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\u03e7\1\6\13\0\17\6\1\5\1\0\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\u03e8\5\6"+ "\13\0\17\6\1\5\1\0\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\3\6\1\u03b6\13\6"+ "\1\5\1\0\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\u03e9"+ "\5\6\1\0\1\u03ea\6\6\13\0\10\6\1\u03eb\6\6"+ "\1\5\1\0\15\6\1\u03ec\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\6\6\13\0\14\6\1\u03ed\2\6"+ "\1\5\1\0\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\3\6\1\u03ee\2\6\13\0\17\6\1\5\1\0"+ "\22\6\1\0\1\5\7\6\2\0\1\123\1\6\1\u01fa"+ "\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\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\u03ef\5\6\13\0"+ "\17\6\1\5\1\0\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\u03f0\15\6\1\5"+ "\1\0\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"+ "\5\6\1\u03f1\13\0\17\6\1\5\1\0\22\6\1\0"+ "\1\5\7\6\2\0\1\123\1\6\1\u03f2\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\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\3\6\1\u03f3\2\6\13\0\17\6"+ "\1\5\1\0\22\6\37\0\1\u03f4\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\13\6\1\u03f5\3\6"+ "\1\5\1\0\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\u03f6\10\6\1\5\1\0"+ "\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\4\6\1\u03f7\1\6"+ "\2\0\6\6\13\0\17\6\1\5\1\0\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\12\6"+ "\1\u03f8\4\6\1\5\1\0\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\2\6\1\u03f9\3\6\2\0\6\6\13\0\17\6"+ "\1\5\1\0\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\5\6\1\u03fa\13\0\17\6\1\5\1\0\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\u03fb\10\6\1\5\1\0\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\u03fc"+ "\10\6\1\5\1\0\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"+ "\4\6\1\u03fd\1\u03fe\2\0\6\6\13\0\17\6\1\5"+ "\1\0\10\6\1\u03ff\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\u0400\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"+ "\2\6\1\u0401\3\6\13\0\17\6\1\5\1\0\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\5\6\1\u0162"+ "\13\0\17\6\1\5\1\0\2\6\1\u0402\1\6\1\u0403"+ "\5\6\1\u0404\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\u0405\2\6\13\0\17\6\1\5\1\0"+ "\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\4\6\1\u0406\12\6\1\5\1\0\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\u0407\5\6\13\0"+ "\17\6\1\5\1\0\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\5\6\1\u0408\13\0\17\6\1\5\1\0"+ "\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\u0409"+ "\5\6\13\0\17\6\1\5\1\0\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\u040a\5\6\13\0\17\6"+ "\1\5\1\0\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\u040b\10\6\1\5\1\0"+ "\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\5\6\1\u040c\2\0"+ "\6\6\13\0\17\6\1\5\1\0\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\u040d\1\6\13\0"+ "\17\6\1\5\1\0\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"+ "\2\6\1\u040e\3\6\2\0\6\6\13\0\17\6\1\5"+ "\1\0\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"+ "\5\6\1\u040f\13\0\17\6\1\5\1\0\22\6\66\0"+ "\1\u0410\116\0\1\u0411\104\0\1\u0257\73\0\1\u0257\150\0"+ "\1\u02fb\116\0\1\u0302\145\0\1\u02fb\100\0\1\u0257\125\0"+ "\1\u0412\120\0\1\u0413\145\0\1\u0414\117\0\1\u0415\56\0"+ "\1\u0410\166\0\1\u038c\42\0\44\u0397\1\u0257\56\u0397\37\0"+ "\1\u0416\143\0\1\u0417\101\0\1\u0418\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\14\6\1\u0162\2\6"+ "\1\5\1\0\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\5\6\1\u0419\13\0\17\6\1\5\1\0\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\u041a"+ "\4\6\13\0\17\6\1\5\1\0\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\u041b\4\6\13\0"+ "\17\6\1\5\1\0\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\u041c\5\6\13\0\17\6\1\5\1\0"+ "\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\12\6\1\u041d\4\6\1\5\1\0\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\u041e\3\6"+ "\13\0\17\6\1\5\1\0\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\3\6\1\u041f\2\6\13\0\17\6"+ "\1\5\1\0\22\6\1\0\1\5\7\6\2\0\1\123"+ "\1\u0420\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\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\u0421"+ "\3\6\13\0\17\6\1\5\1\0\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\u0422"+ "\10\6\1\5\1\0\22\6\7\0\1\u0423\20\0\1\u0424"+ "\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\u0425\3\6\2\0"+ "\6\6\13\0\17\6\1\5\1\0\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\3\6\1\u0426\2\6\13\0"+ "\17\6\1\5\1\0\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\u0427\15\6\1\5"+ "\1\0\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\u0428\4\6\13\0\17\6\1\5\1\0\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\3\6\1\u0429"+ "\2\6\13\0\17\6\1\5\1\0\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\u042a\1\6\13\0"+ "\17\6\1\5\1\0\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\u042b\1\u042c\2\6\13\0\17\6"+ "\1\5\1\0\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\u042d\3\6\13\0\17\6\1\5\1\0"+ "\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\u02ba"+ "\5\6\13\0\17\6\1\5\1\0\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\4\6\1\u042e"+ "\12\6\1\5\1\0\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\2\6\1\u02ba\14\6\1\5"+ "\1\0\22\6\1\0\1\5\7\6\2\0\1\123\1\u042f"+ "\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\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\4\6\1\u0430\1\6\2\0\6\6"+ "\13\0\17\6\1\5\1\0\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\7\6\1\u0431\7\6"+ "\1\5\1\0\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\5\6\1\u0432\13\0\17\6\1\5\1\0\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\u0433\5\6"+ "\13\0\17\6\1\5\1\0\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\u0434\1\6\13\0\17\6"+ "\1\5\1\0\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\u0435\15\6\1\5\1\0"+ "\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\3\6"+ "\1\u0436\2\6\13\0\17\6\1\5\1\0\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\5\6\1\u0437\13\0"+ "\17\6\1\5\1\0\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\17\6\1\5\1\0\13\6"+ "\1\u0438\6\6\1\0\1\5\7\6\2\0\1\123\1\6"+ "\1\u01f5\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\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"+ "\3\6\1\240\13\6\1\5\1\0\22\6\1\0\1\5"+ "\7\6\2\0\1\123\1\6\1\u0439\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\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\u0153\3\6\13\0\17\6\1\5"+ "\1\0\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\4\6\1\u0134\12\6\1\5\1\0\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\u043a"+ "\3\6\13\0\17\6\1\5\1\0\22\6\1\0\1\5"+ "\7\6\2\0\1\123\1\6\1\u043b\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\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\u043c\5\6\13\0\17\6\1\5\1\0"+ "\22\6\1\0\1\5\7\6\2\0\1\123\1\u043d\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\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\3\6\1\u043e\2\6\13\0"+ "\17\6\1\5\1\0\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"+ "\5\6\1\u01e3\2\0\6\6\13\0\17\6\1\5\1\0"+ "\14\6\1\u028a\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\2\6\1\u043f\3\6\13\0\17\6\1\5\1\0"+ "\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\4\6\1\u0440\12\6\1\5\1\0\22\6\1\0"+ "\3\5\5\255\2\0\3\5\1\255\1\0\1\255\1\0"+ "\2\5\3\0\1\5\2\255\1\5\2\255\2\0\2\5"+ "\2\255\2\5\13\0\2\5\1\255\1\5\1\255\3\5"+ "\1\255\7\5\1\0\1\5\1\255\20\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\u01c1\13\0\17\6"+ "\1\5\1\0\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\u0441\5\6\13\0\17\6\1\5\1\0\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\5\6\1\u01d9"+ "\13\0\17\6\1\5\1\0\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\u0442\15\6"+ "\1\5\1\0\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\2\6\1\u016f\14\6\1\5\1\0"+ "\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\u0443"+ "\5\6\13\0\17\6\1\5\1\0\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\u0444"+ "\15\6\1\5\1\0\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\u0445\15\6\1\5"+ "\1\0\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\u0446\15\6\1\5\1\0\22\6"+ "\1\0\1\5\7\6\2\0\1\123\1\u0447\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\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\3\6\1\u0448\2\6\13\0\17\6"+ "\1\5\1\0\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\3\6\1\u0449\2\6\13\0\17\6\1\5\1\0"+ "\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\u044a\3\6\13\0\17\6\1\5\1\0\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\17\6"+ "\1\5\1\0\1\u044b\21\6\1\0\1\5\5\6\1\u044c"+ "\1\6\2\0\1\123\3\6\1\0\1\6\1\0\1\5"+ "\1\6\3\0\1\u030f\5\6\2\0\6\6\13\0\17\6"+ "\1\5\1\0\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\14\6\1\u044d\2\6\1\5\1\0"+ "\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\u044e\3\6\13\0\17\6\1\5\1\0\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\u044f\10\6\1\5\1\0\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\u0450\1\6\13\0\17\6"+ "\1\5\1\0\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\u0385\1\6\13\0\17\6\1\5\1\0"+ "\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\3\6\1\u0451\13\6\1\5\1\0\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\u0452\10\6\1\5\1\0\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\3\6\1\u0453\2\6\13\0\17\6"+ "\1\5\1\0\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\u0454\5\6\13\0\17\6\1\5\1\0\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\u0455"+ "\4\6\13\0\17\6\1\5\1\0\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\5\6\1\u0456\13\0\17\6"+ "\1\5\1\0\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\u0457\5\6\13\0\17\6\1\5\1\0\22\6"+ "\1\0\1\5\5\6\1\u0458\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\12\6\1\u0459\1\6"+ "\1\u045a\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"+ "\2\6\1\u045b\3\6\13\0\17\6\1\5\1\0\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\4\6\1\u045c\1\6\2\0"+ "\6\6\13\0\17\6\1\5\1\0\1\6\1\u045d\1\u045e"+ "\2\6\1\u045f\2\6\1\u0460\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\14\6\1\u0248\2\6"+ "\1\5\1\0\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\u0461\15\6\1\5\1\0"+ "\22\6\103\0\1\u0462\3\0\1\u0463\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\2\6\1\u03d4\3\6\13\0\17\6"+ "\1\5\1\0\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\u0464\4\6\13\0\17\6\1\5\1\0"+ "\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\u0465\5\6\2\0"+ "\6\6\13\0\17\6\1\5\1\0\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\5\6\1\u0466\13\0\17\6"+ "\1\5\1\0\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\17\6\1\5\1\0\14\6\1\u0467"+ "\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\u0468\4\6\13\0\17\6\1\5\1\0\22\6\1\0"+ "\1\5\7\6\2\0\1\123\2\6\1\u0469\1\0\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\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\u046a\1\u040c\2\0\6\6\13\0\17\6\1\5"+ "\1\0\22\6\40\0\1\u046b\63\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\u046c\1\6\2\0\6\6\13\0\15\6\1\u046d"+ "\1\6\1\5\1\0\22\6\1\0\1\5\7\6\2\0"+ "\1\123\1\6\1\u046e\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\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\u046f\15\6\1\5\1\0\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\u0470"+ "\3\6\13\0\17\6\1\5\1\0\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\u0177\1\6\13\0"+ "\17\6\1\5\1\0\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\10\6\1\u0471\6\6\1\5"+ "\1\0\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\12\6\1\u0472\4\6\1\5\1\0\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\3\6\1\u0473"+ "\2\6\13\0\17\6\1\5\1\0\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\u0474"+ "\10\6\1\5\1\0\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\u0475\1\6\13\0\17\6\1\5"+ "\1\0\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\u0476\3\6\13\0\17\6\1\5\1\0\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\u0477\5\6"+ "\13\0\17\6\1\5\1\0\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\7\6\1\u0478\7\6"+ "\1\5\1\0\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\u0479\5\6\13\0\17\6\1\5\1\0\22\6"+ "\1\0\1\5\7\6\2\0\1\123\1\6\1\u047a\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\22\6\1\0\1\5"+ "\7\6\2\0\1\123\1\u047b\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\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\u047c\1\6\13\0\17\6\1\5\1\0"+ "\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\16\6\1\u047d\1\5\1\0\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\u047e"+ "\5\6\1\u047f\2\6\1\5\1\0\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\6\1\u0480\4\6\2\0\6\6\13\0"+ "\17\6\1\5\1\0\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\u0481\4\6\13\0\17\6\1\5"+ "\1\0\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\14\6\1\u0482\2\6\1\5\1\0\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\3\6\1\u0483"+ "\2\6\13\0\17\6\1\5\1\0\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\201\4\6\13\0"+ "\17\6\1\5\1\0\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\17\6\1\5\1\0\10\6"+ "\1\u0484\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\1\6\1\u0485\15\6\1\5\1\0\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\u0486\16\6\1\5\1\0\22\6\42\0\1\u0487\124\0"+ "\1\u0488\111\0\1\u0489\34\0\1\u048a\71\0\1\u02fb\125\0"+ "\1\u048b\120\0\1\u048c\124\0\1\u048d\141\0\1\u048e\127\0"+ "\1\u048f\35\0\1\5\7\6\2\0\1\123\3\6\1\0"+ "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\u012d"+ "\5\6\13\0\17\6\1\5\1\0\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\4\6\1\u0490"+ "\12\6\1\5\1\0\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\7\6\1\u0491\7\6\1\5"+ "\1\0\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\17\6\1\5\1\0\2\6\1\u0492\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\2\6\1\u0493"+ "\3\6\13\0\17\6\1\5\1\0\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\u0494\4\6\13\0"+ "\17\6\1\5\1\0\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\14\6\1\u0495\2\6\1\5"+ "\1\0\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\u0496\3\6\13\0\17\6\1\5\1\0\22\6"+ "\1\0\1\5\7\6\2\0\1\123\1\6\1\u0497\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\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\u0498"+ "\15\6\1\5\1\0\22\6\42\0\1\u0499\74\0\1\u049a"+ "\107\0\1\5\7\6\2\0\1\123\3\6\1\0\1\6"+ "\1\0\1\5\1\6\3\0\6\6\2\0\2\6\1\u049b"+ "\3\6\13\0\17\6\1\5\1\0\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\5\6\1\u049c\13\0\17\6"+ "\1\5\1\0\22\6\1\0\1\5\7\6\2\0\1\123"+ "\1\u049d\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\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\3\6\1\u0196"+ "\2\6\13\0\17\6\1\5\1\0\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\14\6\1\u049e"+ "\2\6\1\5\1\0\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\3\6\1\u049f\2\6\13\0\17\6\1\5"+ "\1\0\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\u04a0\4\6\13\0\17\6\1\5\1\0\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\2\6\1\u04a1\3\6\2\0"+ "\6\6\13\0\17\6\1\5\1\0\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\4\6\1\u0284\1\6\2\0\6\6\13\0"+ "\17\6\1\5\1\0\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\u04a2\4\6\13\0\17\6\1\5"+ "\1\0\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\u04a3\5\6\13\0\17\6\1\5\1\0\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\u04a4\15\6\1\5\1\0\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\u04a5\10\6"+ "\1\5\1\0\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\u04a6\5\6\13\0\17\6\1\5\1\0\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\u04a7\10\6\1\5\1\0\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\u04a8"+ "\10\6\1\5\1\0\22\6\1\0\1\5\7\6\2\0"+ "\1\123\1\6\1\u04a9\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\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\4\6\1\u04aa\12\6\1\5\1\0\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\u04ab\5\6"+ "\13\0\17\6\1\5\1\0\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\u04ac\3\6\13\0\17\6"+ "\1\5\1\0\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\u04ad\10\6\1\5\1\0"+ "\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\u04ae\15\6\1\5\1\0\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\u0131\5\6\13\0"+ "\17\6\1\5\1\0\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\u04af\3\6\13\0\17\6\1\5"+ "\1\0\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\u04b0\5\6\13\0\17\6\1\5\1\0\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\u039b\4\6"+ "\13\0\17\6\1\5\1\0\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\6\1\u04b1\4\6\2\0\6\6\13\0\17\6"+ "\1\5\1\0\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\4\6\1\u04b2\12\6\1\5\1\0"+ "\22\6\1\0\1\5\5\6\1\u04b3\1\6\2\0\1\123"+ "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\1\u034a"+ "\5\6\2\0\6\6\13\0\17\6\1\5\1\0\2\6"+ "\1\u04b4\5\6\1\u04b5\7\6\1\76\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\1\6\1\u0472\4\6\13\0"+ "\17\6\1\5\1\0\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\u04b6\10\6\1\5"+ "\1\0\22\6\1\0\1\5\7\6\2\0\1\123\1\6"+ "\1\u0385\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\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\u04b7"+ "\4\6\13\0\17\6\1\5\1\0\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\16\6\1\u04b8"+ "\1\5\1\0\22\6\1\0\1\5\7\6\2\0\1\123"+ "\2\6\1\u04b9\1\0\1\6\1\0\1\5\1\6\3\0"+ "\6\6\2\0\6\6\13\0\6\6\1\u04ba\10\6\1\5"+ "\1\0\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\u0181\5\6\13\0\17\6\1\5\1\0\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\4\6"+ "\1\u04bb\12\6\1\5\1\0\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\u04bc\4\6\13\0\17\6"+ "\1\5\1\0\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\3\6\1\u04bd\2\6\13\0\17\6\1\5\1\0"+ "\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\u04be\15\6\1\5\1\0\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\5\6\1\u01e3\2\0\6\6\13\0"+ "\17\6\1\5\1\0\10\6\1\u04bf\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\4\6\1\u0287\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\6\6\13\0\7\6\1\u04c0\7\6\1\5"+ "\1\0\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\u04c1\3\6\13\0\17\6\1\5\1\0\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\u04c2\5\6"+ "\13\0\17\6\1\5\1\0\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\3\6\1\u04c3\2\6\13\0\17\6"+ "\1\5\1\0\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\2\6"+ "\1\u04c4\3\6\2\0\6\6\13\0\17\6\1\5\1\0"+ "\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\17\6\1\5\1\0\12\6\1\u04c5\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\u04c6\3\6"+ "\13\0\17\6\1\5\1\0\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\7\6\1\u04c7\7\6"+ "\1\5\1\0\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\u04c8\10\6\1\5\1\0"+ "\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\u04c9\1\6\13\0\17\6\1\5\1\0\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\2\6\1\u04ca\3\6\2\0\6\6"+ "\13\0\17\6\1\5\1\0\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\u04cb\4\6\13\0\17\6"+ "\1\5\1\0\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\2\6\1\u04cc\14\6\1\5\1\0"+ "\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\u04cd\15\6\1\5\1\0\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\u04ce\4\6"+ "\13\0\4\6\1\u04cf\12\6\1\5\1\0\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\u04d0\5\6\13\0"+ "\17\6\1\5\1\0\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\u04d1\16\6\1\5\1\0"+ "\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\u04d2\15\6\1\5\1\0\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\4\6"+ "\1\u04d3\12\6\1\5\1\0\22\6\37\0\1\u04d4\100\0"+ "\1\u04d5\106\0\1\5\7\6\2\0\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\u04d6\15\6\1\5\1\0\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\u04d7\10\6\1\5\1\0\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\16\6\1\u0162\1\5"+ "\1\0\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\u04d8\4\6\13\0\17\6\1\5\1\0\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\u04d9\5\6"+ "\13\0\17\6\1\5\1\0\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\u04da\10\6"+ "\1\5\1\0\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\u04db\15\6\1\5\1\0"+ "\22\6\74\0\1\u04dc\27\0\1\5\7\6\2\0\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\u04dd\15\6\1\5\1\0"+ "\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\u04de\3\6\13\0\17\6\1\5\1\0\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\u04df\5\6\13\0"+ "\17\6\1\5\1\0\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\u04e0\4\6\13\0\17\6\1\5"+ "\1\0\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\17\6\1\5\1\0\1\6\1\u04e1\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\u04e2"+ "\3\6\13\0\17\6\1\5\1\0\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\u012d\3\6\13\0"+ "\17\6\1\5\1\0\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\u04e3\1\6\13\0\17\6\1\5"+ "\1\0\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\u04e4\3\6\13\0\17\6\1\5\1\0\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\u04e5"+ "\3\6\13\0\17\6\1\5\1\0\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\u04e6\5\6\13\0\17\6"+ "\1\5\1\0\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\u04e7\4\6\13\0\17\6\1\5\1\0"+ "\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\u04e8\15\6\1\5\1\0\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\u04e9\4\6"+ "\13\0\17\6\1\5\1\0\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\3\6\1\u04ea\13\6"+ "\1\5\1\0\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\u04eb\5\6\13\0\17\6\1\5\1\0\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"+ "\10\6\1\u04ec\6\6\1\5\1\0\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\15\6\1\u0286"+ "\1\6\1\5\1\0\4\6\1\u0287\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\u04ed\3\6\13\0"+ "\17\6\1\5\1\0\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\15\6\1\u027b\1\6\1\5"+ "\1\0\14\6\1\u028a\5\6\1\0\1\5\7\6\2\0"+ "\1\123\1\u04ee\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"+ "\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\u04ef\3\6\13\0\17\6\1\5\1\0\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\17\6"+ "\1\5\1\0\20\6\1\76\1\6\1\0\1\5\7\6"+ "\2\0\1\123\1\6\1\u04f0\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\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\3\6\1\u04f1\2\6\13\0\17\6\1\5\1\0"+ "\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\u04f2\4\6\13\0\17\6\1\5\1\0\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\17\6"+ "\1\5\1\0\10\6\1\u028e\11\6\43\0\1\u0257\121\0"+ "\1\u04f3\146\0\1\u04f4\76\0\1\u04f5\117\0\1\u04f6\157\0"+ "\1\u0257\71\0\1\u0397\116\0\1\u0397\122\0\1\u04f7\64\0"+ "\1\5\7\6\2\0\1\123\1\u04f8\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\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\3\6\1\u04f9\2\6\13\0\17\6\1\5"+ "\1\0\22\6\1\0\1\5\7\6\2\0\1\123\1\u04fa"+ "\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\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\u04fb\4\6"+ "\13\0\17\6\1\5\1\0\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\1\0\1\u04fc\6\6\13\0\17\6\1\5"+ "\1\0\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\15\6\1\u0286\1\6\1\5\1\0\17\6"+ "\1\u028b\2\6\1\0\1\5\7\6\2\0\1\123\1\6"+ "\1\u04fd\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\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\u04fe\5\6"+ "\13\0\17\6\1\5\1\0\22\6\1\0\1\5\7\6"+ "\2\0\1\123\1\6\1\u04ff\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\22\6\37\0\1\u0500\151\0\1\u0501\35\0"+ "\1\5\7\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\u047d\4\6"+ "\13\0\17\6\1\5\1\0\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\u0223\16\6\1\5"+ "\1\0\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\u0502\4\6\13\0\17\6\1\5\1\0\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"+ "\17\6\1\5\1\0\4\6\1\u0287\5\6\1\u0289\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\u0503\3\6\1\5\1\0\22\6\1\0\1\5"+ "\5\6\1\u0504\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\u0505\6\6"+ "\13\0\17\6\1\5\1\0\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\u0506\1\6\13\0\17\6"+ "\1\5\1\0\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\u0507\10\6\1\5\1\0"+ "\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\17\6\1\5\1\0\2\6\1\u0382\17\6\1\0"+ "\1\5\7\6\2\0\1\123\1\u0508\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\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\5\6\1\u0509\13\0\17\6\1\5\1\0"+ "\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\3\6"+ "\1\u050a\2\6\13\0\17\6\1\5\1\0\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\u0321\15\6\1\5\1\0\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\17\6\1\5\1\0"+ "\1\u01ff\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\17\6\1\5\1\0\4\6\1\u050b\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\6\6\13\0"+ "\16\6\1\u012d\1\5\1\0\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\u050c\3\6\13\0\17\6"+ "\1\5\1\0\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\4\6\1\u01d9\12\6\1\5\1\0"+ "\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\17\6\1\5\1\0\1\u03bf\21\6\1\0\1\5"+ "\7\6\2\0\1\123\2\6\1\240\1\0\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\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\u050d\1\6\2\0\6\6\13\0\17\6\1\5\1\0"+ "\22\6\1\0\1\5\7\6\2\0\1\123\1\u050e\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\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\u050f\3\6\13\0"+ "\17\6\1\5\1\0\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\u0510\15\6\1\5"+ "\1\0\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\u0511\3\6\13\0\17\6\1\5\1\0\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\u0512"+ "\1\u0513\2\6\13\0\17\6\1\5\1\0\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\4\6"+ "\1\u012d\12\6\1\5\1\0\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\u0514\4\6\13\0\17\6"+ "\1\5\1\0\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\u0515\3\6\13\0\17\6\1\5\1\0"+ "\22\6\1\0\1\5\7\6\2\0\1\123\2\6\1\u0516"+ "\1\0\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\0\1\5"+ "\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\u03b1\1\6\13\0"+ "\17\6\1\5\1\0\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\u0517\3\6\13\0\17\6\1\5"+ "\1\0\22\6\1\0\1\5\7\6\2\0\1\123\2\6"+ "\1\u0518\1\0\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\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\u0519\3\6\2\0\6\6"+ "\13\0\17\6\1\5\1\0\22\6\1\0\1\5\7\6"+ "\2\0\1\123\1\6\1\u051a\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\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\3\6\1\u051b\2\6\13\0\17\6\1\5\1\0"+ "\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\u051c\3\6\13\0\17\6\1\5\1\0\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\2\6"+ "\1\u012d\14\6\1\5\1\0\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\u051d\3\6\13\0\17\6"+ "\1\5\1\0\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\u051e\5\6\13\0\17\6\1\5\1\0\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\u051f"+ "\1\6\13\0\17\6\1\5\1\0\22\6\1\0\1\5"+ "\7\6\2\0\1\123\2\6\1\u0520\1\0\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\0\1\5\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\u0521\2\6\13\0\17\6\1\5\1\0"+ "\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\3\6"+ "\1\u0522\2\6\13\0\17\6\1\5\1\0\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\2\6\1\u0523\3\6\2\0\6\6"+ "\13\0\17\6\1\5\1\0\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\3\6\1\u0524\2\6\13\0\17\6"+ "\1\5\1\0\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\17\6\1\5\1\0\13\6\1\u0525"+ "\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\1\6\1\u0526\15\6\1\5\1\0\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\u0527\5\6\2\0\6\6\13\0"+ "\17\6\1\5\1\0\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\u0528\4\6\13\0\17\6\1\5"+ "\1\0\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\13\6\1\u0529\3\6\1\5\1\0\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"+ "\4\6\1\u052a\12\6\1\5\1\0\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\3\6\1\u052b\2\6\13\0"+ "\17\6\1\5\1\0\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\u052c\4\6\13\0\17\6\1\5"+ "\1\0\22\6\1\0\1\5\7\6\2\0\1\123\1\6"+ "\1\u052d\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\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\3\6\1\u052e"+ "\2\6\13\0\17\6\1\5\1\0\22\6\42\0\1\u052f"+ "\144\0\1\u0530\37\0\1\5\7\6\2\0\1\123\1\u0330"+ "\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\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\5\6\1\u0531\13\0"+ "\17\6\1\5\1\0\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\u0532\3\6\13\0\17\6\1\5"+ "\1\0\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\u0533\3\6\13\0\17\6\1\5\1\0\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\u0534"+ "\3\6\13\0\17\6\1\5\1\0\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\u0535\4\6\13\0"+ "\17\6\1\5\1\0\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\u0536\4\6\13\0\17\6\1\5"+ "\1\0\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"+ "\5\6\1\u0537\13\0\17\6\1\5\1\0\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\u0538\3\6"+ "\13\0\17\6\1\5\1\0\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\7\6\1\u0539\7\6"+ "\1\5\1\0\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\u053a\4\6\13\0\17\6\1\5\1\0"+ "\22\6\1\0\1\5\7\6\2\0\1\123\2\6\1\u053b"+ "\1\0\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\0\1\5"+ "\7\6\2\0\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\u053c"+ "\10\6\1\5\1\0\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\u053d\1\6\13\0\17\6\1\5"+ "\1\0\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\7\6\1\u053e\7\6\1\5\1\0\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\u053f\16\6\1\5\1\0\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\u0540\3\6\13\0\17\6"+ "\1\5\1\0\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\u02ea\4\6\13\0\17\6\1\5\1\0"+ "\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\u0541\3\6\13\0\17\6\1\5\1\0\22\6\1\0"+ "\1\5\7\6\2\0\1\123\1\u0542\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\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\3\6\1\u0543\13\6\1\5"+ "\1\0\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"+ "\3\6\1\u0544\2\6\13\0\17\6\1\5\1\0\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\5\6\1\u0162"+ "\13\0\17\6\1\5\1\0\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\u0545\10\6"+ "\1\5\1\0\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\3\6\1\u02bd\2\6\13\0\17\6\1\5\1\0"+ "\22\6\1\0\1\5\5\6\1\u0546\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\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\4\6"+ "\1\u0547\12\6\1\5\1\0\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\u0450\5\6\13\0\17\6\1\5"+ "\1\0\22\6\16\0\1\u0548\145\0\1\u0549\120\0\1\u054a"+ "\124\0\1\u054b\151\0\1\u054c\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\u054d\1\6\13\0\17\6\1\5"+ "\1\0\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\u0385\5\6\13\0\17\6\1\5\1\0\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\3\6"+ "\1\u054e\13\6\1\5\1\0\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\5\6\1\u054f\13\0\17\6\1\5"+ "\1\0\22\6\103\0\1\u0550\3\0\1\u0551\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\6\6\13\0\4\6\1\u01fa"+ "\12\6\1\5\1\0\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\17\6\1\5\1\0\10\6"+ "\1\u0552\11\6\41\0\1\u0553\124\0\1\u0554\60\0\1\5"+ "\7\6\2\0\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\u0555"+ "\12\6\1\5\1\0\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\5\6\1\u0556\13\0\17\6\1\5\1\0"+ "\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\u0557\1\6\13\0\17\6\1\5\1\0\22\6\30\0"+ "\1\u0558\73\0\1\5\7\6\2\0\1\123\3\6\1\0"+ "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\2\6"+ "\1\u0559\3\6\13\0\17\6\1\5\1\0\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\3\6"+ "\1\u0196\13\6\1\5\1\0\22\6\1\0\1\5\7\6"+ "\2\0\1\123\1\6\1\u04c1\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\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\5\6\1\u0433\13\0\17\6\1\5\1\0\22\6"+ "\1\0\1\5\7\6\2\0\1\123\1\6\1\u055a\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\22\6\1\0\1\5"+ "\7\6\2\0\1\123\1\6\1\u055b\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\22\6\1\0\1\5\7\6\2\0"+ "\1\123\1\6\1\u055c\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\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\u055d\15\6\1\5\1\0\22\6"+ "\1\0\1\5\7\6\2\0\1\123\1\6\1\u055e\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\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\5\6\1\u055f\13\0\17\6"+ "\1\5\1\0\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\u0560\1\6\13\0\17\6\1\5\1\0"+ "\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\u0162"+ "\5\6\13\0\17\6\1\5\1\0\3\6\1\u0561\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\1\u0562\5\6"+ "\13\0\17\6\1\5\1\0\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\3\6\1\u0563\13\6"+ "\1\5\1\0\22\6\1\0\1\5\7\6\2\0\1\123"+ "\1\u0564\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\22\6"+ "\1\0\1\5\7\6\2\0\1\123\1\6\1\u0565\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\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\u0566\3\6\13\0"+ "\17\6\1\5\1\0\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"+ "\5\6\1\u0567\2\0\6\6\13\0\17\6\1\5\1\0"+ "\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\u0568\1\6\13\0\17\6\1\5\1\0\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\u0569\1\6"+ "\13\0\17\6\1\5\1\0\22\6\1\0\1\5\7\6"+ "\2\0\1\123\2\6\1\u056a\1\0\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\0\1\5\7\6\2\0\1\123\1\6"+ "\1\u056b\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\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"+ "\17\6\1\5\1\0\21\6\1\u02cd\1\0\1\5\7\6"+ "\2\0\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\u056c\14\6"+ "\1\5\1\0\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\u056d\10\6\1\5\1\0"+ "\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\u056e\3\6\13\0\17\6\1\5\1\0\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\6\1\u056f\4\6\2\0\6\6"+ "\13\0\17\6\1\5\1\0\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\7\6\1\u0570\7\6"+ "\1\5\1\0\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\u0571\5\6\13\0\17\6\1\5\1\0\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\u0572"+ "\1\6\13\0\17\6\1\5\1\0\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\5\6\1\u0573\13\0\17\6"+ "\1\5\1\0\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\u0574\3\6\13\0\17\6\1\5\1\0"+ "\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\3\6\1\u0575\13\6\1\5\1\0\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\u0576\15\6\1\5\1\0\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\7\6\1\u0577\7\6"+ "\1\5\1\0\22\6\1\0\1\5\7\6\2\0\1\123"+ "\1\u04e5\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\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\u0578"+ "\3\6\13\0\17\6\1\5\1\0\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\u0472\5\6\13\0\17\6"+ "\1\5\1\0\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\u0579\3\6\13\0\17\6\1\5\1\0"+ "\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\u057a\10\6\1\5\1\0\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\u0162\1\6"+ "\13\0\17\6\1\5\1\0\22\6\37\0\1\u057b\125\0"+ "\1\u057c\61\0\1\5\7\6\2\0\1\123\3\6\1\0"+ "\1\6\1\0\1\5\1\6\3\0\6\6\2\0\1\u057d"+ "\5\6\13\0\17\6\1\5\1\0\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\5\6\1\u053e\13\0\17\6"+ "\1\5\1\0\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\2\6\1\u057e\14\6\1\5\1\0"+ "\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\2\6\1\u057f\14\6\1\5\1\0\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\7\6"+ "\1\u0580\7\6\1\5\1\0\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\7\6\1\u0581\7\6"+ "\1\5\1\0\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\u0582\15\6\1\5\1\0"+ "\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\u012d\4\6\13\0\17\6\1\5\1\0\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\3\6\1\u0419\2\6"+ "\13\0\17\6\1\5\1\0\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\u0583\4\6\13\0\17\6"+ "\1\5\1\0\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\4\6"+ "\1\u0584\1\6\2\0\6\6\13\0\17\6\1\5\1\0"+ "\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\17\6\1\5\1\0\1\u0585\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\2\6\1\276"+ "\14\6\1\5\1\0\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\u0586\3\6\13\0\17\6\1\5"+ "\1\0\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\u053d\15\6\1\5\1\0\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\3\6\1\u0587"+ "\2\6\13\0\17\6\1\5\1\0\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\3\6\1\u0588\2\6\13\0"+ "\17\6\1\5\1\0\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\u0589\5\6\13\0\17\6\1\5\1\0"+ "\22\6\1\0\1\5\7\6\2\0\1\123\1\u058a\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\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\u058b\5\6\13\0\17\6"+ "\1\5\1\0\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\u058c\1\6\13\0\17\6\1\5\1\0"+ "\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\3\6"+ "\1\140\2\6\13\0\17\6\1\5\1\0\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\u058d"+ "\16\6\1\5\1\0\22\6\41\0\1\u058e\124\0\1\u054b"+ "\121\0\1\u0257\142\0\1\u0257\121\0\1\u058f\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\u0590\2\6\13\0"+ "\17\6\1\5\1\0\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\3\6\1\u040e\13\6\1\5"+ "\1\0\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\u0591\10\6\1\5\1\0\22\6"+ "\14\0\1\u0592\123\0\1\u0593\106\0\1\5\7\6\2\0"+ "\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\u0594\15\6\1\5"+ "\1\0\22\6\73\0\1\u0595\111\0\1\u0596\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\2\6\1\u0597\3\6\13\0"+ "\17\6\1\5\1\0\22\6\1\0\1\5\5\6\1\u0598"+ "\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\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\u0599\15\6\1\5\1\0\22\6"+ "\66\0\1\u059a\35\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\u059b"+ "\1\6\2\0\6\6\13\0\17\6\1\5\1\0\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\u0228\5\6"+ "\13\0\17\6\1\5\1\0\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\17\6\1\5\1\0"+ "\4\6\1\u059c\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\u059d\3\6\13\0\17\6\1\5\1\0"+ "\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\u059e\4\6\13\0\17\6\1\5\1\0\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\2\6"+ "\1\u059f\14\6\1\5\1\0\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\5\6\1\u05a0\13\0\17\6\1\5"+ "\1\0\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\u05a1\1\6\13\0\17\6\1\5\1\0\22\6"+ "\1\0\1\5\7\6\2\0\1\123\1\u05a2\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\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\u05a3\16\6\1\5"+ "\1\0\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\1\0"+ "\1\u05a4\6\6\13\0\17\6\1\5\1\0\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\3\6"+ "\1\u04f2\13\6\1\5\1\0\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\u05a5\10\6"+ "\1\5\1\0\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\u05a6\4\6\13\0\17\6\1\5\1\0"+ "\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\u05a7\1\6\13\0\17\6\1\5\1\0\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\u05a8\15\6\1\5\1\0\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\u05a9\3\6\13\0\17\6"+ "\1\5\1\0\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\u05aa\10\6\1\5\1\0"+ "\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\3\6"+ "\1\u05ab\2\6\13\0\17\6\1\5\1\0\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\5\6\1\u01e3\2\0\6\6\13\0"+ "\17\6\1\5\1\0\4\6\1\u05ac\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\6\6\13\0\1\6\1\u05ad"+ "\15\6\1\5\1\0\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\17\6\1\5\1\0\5\6"+ "\1\u05ae\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\1\6\1\u05af\15\6\1\5\1\0\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"+ "\15\6\1\u0286\1\6\1\5\1\0\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\4\6\1\u05b0"+ "\12\6\1\5\1\0\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\u05b1\3\6\13\0\17\6\1\5"+ "\1\0\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"+ "\5\6\1\u012d\13\0\17\6\1\5\1\0\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\4\6"+ "\1\u0419\12\6\1\5\1\0\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\u05b2\3\6\13\0\17\6"+ "\1\5\1\0\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\4\6\1\u05b3\12\6\1\5\1\0"+ "\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\3\6"+ "\1\u05b4\2\6\13\0\17\6\1\5\1\0\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\5\6\1\u05b5\13\0"+ "\17\6\1\5\1\0\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\3\6\1\u05b6\2\6\13\0\17\6\1\5"+ "\1\0\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\u05b7\5\6\13\0\17\6\1\5\1\0\22\6\41\0"+ "\1\u04dc\75\0\1\u05b8\107\0\1\5\7\6\2\0\1\123"+ "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\6\6"+ "\2\0\2\6\1\u05b9\3\6\13\0\17\6\1\5\1\0"+ "\22\6\1\0\1\5\5\6\1\u05ba\1\6\2\0\1\123"+ "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\5\6"+ "\1\u05bb\2\0\6\6\13\0\17\6\1\5\1\0\12\6"+ "\1\u05bc\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\1\u05bd\5\6"+ "\2\0\6\6\13\0\17\6\1\5\1\0\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\3\6\1\u05be\2\6"+ "\13\0\17\6\1\5\1\0\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\3\6\1\u05bf\2\6\13\0\17\6"+ "\1\5\1\0\22\6\1\0\1\5\7\6\2\0\1\123"+ "\1\u05c0\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\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\3\6\1\u05c1"+ "\2\6\13\0\17\6\1\5\1\0\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\u05c2"+ "\15\6\1\5\1\0\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\3\6\1\u05c3\2\6\13\0\17\6\1\5"+ "\1\0\22\6\1\0\1\5\7\6\2\0\1\123\1\6"+ "\1\u0419\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\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"+ "\7\6\1\u05c4\7\6\1\5\1\0\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\7\6\1\u05c5"+ "\7\6\1\5\1\0\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\17\6\1\5\1\0\2\6"+ "\1\u05c6\13\6\1\u05c7\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\1\u05c8\5\6\13\0\17\6\1\5\1\0"+ "\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\3\6"+ "\1\u012d\2\6\13\0\17\6\1\5\1\0\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\2\6"+ "\1\u05c9\14\6\1\5\1\0\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\u05ca\10\6"+ "\1\5\1\0\22\6\37\0\1\u048c\147\0\1\u0397\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\1\6\1\u05cb\4\6"+ "\13\0\17\6\1\5\1\0\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\u05cc\15\6"+ "\1\5\1\0\22\6\31\0\1\u05cd\157\0\1\u05ce\35\0"+ "\1\5\7\6\2\0\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\u05cf\14\6\1\5\1\0\22\6\61\0\1\u03f4\102\0"+ "\1\u05d0\62\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\u05d1\4\6"+ "\2\0\6\6\13\0\17\6\1\5\1\0\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\u05d2\15\6\1\5\1\0\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\5\6\1\u0450\13\0\17\6\1\5"+ "\1\0\22\6\73\0\1\u05d3\30\0\1\5\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\u05d4\1\6\13\0\17\6\1\5"+ "\1\0\22\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\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\u05d6"+ "\4\6\13\0\17\6\1\5\1\0\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\7\6\1\u05d7"+ "\7\6\1\5\1\0\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\u05d8\1\6\13\0\17\6\1\5"+ "\1\0\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\4\6\1\u05d9"+ "\1\6\2\0\6\6\13\0\17\6\1\5\1\0\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\u05da"+ "\3\6\13\0\17\6\1\5\1\0\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\u05db\3\6\13\0"+ "\17\6\1\5\1\0\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"; private static final String ZZ_TRANS_PACKED_1 = "\2\0\6\6\13\0\1\6\1\u05dc\15\6\1\5\1\0"+ "\22\6\103\0\1\u05dd\20\0\1\5\7\6\2\0\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\u02ba\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\2\6\1\u05de"+ "\3\6\13\0\17\6\1\5\1\0\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\11\6\1\u0385"+ "\5\6\1\5\1\0\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\17\6\1\5\1\0\14\6"+ "\1\u028a\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\13\6\1\u05df\3\6\1\5\1\0\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"+ "\13\6\1\u02ba\3\6\1\5\1\0\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\17\6\1\5"+ "\1\0\12\6\1\u012d\7\6\1\0\1\5\7\6\2\0"+ "\1\123\1\6\1\276\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\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\u05e0\16\6\1\5\1\0\22\6\1\0"+ "\1\5\7\6\2\0\1\123\1\u05e1\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\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\u012d\16\6\1\5\1\0"+ "\22\6\1\0\1\5\5\6\1\u05e2\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\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\u05e3\4\6"+ "\13\0\17\6\1\5\1\0\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\3\6\1\u05e4\2\6\13\0\17\6"+ "\1\5\1\0\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\u05e5\5\6\13\0\17\6\1\5\1\0\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\5\6\1\276"+ "\13\0\17\6\1\5\1\0\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\2\6\1\u05e6\14\6"+ "\1\5\1\0\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\u05e7\15\6\1\5\1\0"+ "\22\6\73\0\1\u05e8\30\0\1\5\7\6\2\0\1\123"+ "\1\6\1\u05e9\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"+ "\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\u05ea\1\6\13\0\17\6\1\5\1\0\22\6\1\0"+ "\1\5\7\6\2\0\1\123\1\6\1\u05eb\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\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\3\6\1\u05ec\13\6"+ "\1\5\1\0\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\u05ed\10\6\1\5\1\0"+ "\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\u05ee"+ "\5\6\13\0\17\6\1\5\1\0\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\u05ef\5\6\13\0\17\6"+ "\1\5\1\0\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\u05f0\4\6\13\0\17\6\1\5\1\0"+ "\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\14\6\1\u05f1\2\6\1\5\1\0\22\6\1\0"+ "\1\5\7\6\2\0\1\123\1\u05f2\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\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"+ "\2\6\1\u05e4\3\6\2\0\6\6\13\0\17\6\1\5"+ "\1\0\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\17\6\1\5\1\0\17\6\1\u028b\2\6"+ "\1\0\1\5\5\6\1\u05f3\1\6\2\0\1\123\3\6"+ "\1\0\1\6\1\0\1\5\1\6\3\0\4\6\1\u05f4"+ "\1\u01e3\2\0\6\6\13\0\17\6\1\5\1\0\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\u05f5\5\6"+ "\13\0\17\6\1\5\1\0\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\3\6\1\u05f6\2\6\13\0\17\6"+ "\1\5\1\0\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\17\6\1\5\1\0\2\6\1\u05f7"+ "\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\2\6"+ "\1\u05f8\3\6\13\0\17\6\1\5\1\0\22\6\1\0"+ "\1\5\7\6\2\0\1\123\1\6\1\u031e\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\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\u05f9\10\6"+ "\1\5\1\0\22\6\1\0\1\5\7\6\2\0\1\123"+ "\1\6\1\u012d\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"+ "\22\6\44\0\1\u05fa\142\0\1\u05fb\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\6\6\13\0\6\6\1\u05fc\10\6"+ "\1\5\1\0\22\6\40\0\1\u04dc\63\0\1\5\7\6"+ "\2\0\1\123\1\u05fd\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\22\6\1\0\1\5\7\6\2\0\1\123\1\6"+ "\1\u05fe\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\22\6"+ "\70\0\1\u05ff\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"+ "\3\6\1\u0600\2\6\13\0\17\6\1\5\1\0\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\u0601\10\6\1\5\1\0\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\17\6\1\5"+ "\1\0\14\6\1\u0602\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\3\6\1\u0603\2\6\13\0\17\6\1\5"+ "\1\0\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\u0604\3\6\13\0\17\6\1\5\1\0\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\u01fc\10\6\1\5\1\0\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\4\6\1\u03b6"+ "\12\6\1\5\1\0\22\6\1\0\1\5\7\6\2\0"+ "\1\123\1\6\1\u0605\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\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\2\6\1\u0385\14\6\1\5\1\0\22\6"+ "\66\0\1\u0606\35\0\1\5\7\6\2\0\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\u0607\7\6\1\5\1\0\22\6"+ "\1\0\1\5\7\6\2\0\1\123\1\u0608\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\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\u0609\4\6\13\0\17\6"+ "\1\5\1\0\22\6\1\0\1\5\7\6\2\0\1\123"+ "\1\6\1\u060a\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"+ "\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\u060b\1\6\13\0\17\6\1\5\1\0\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\u060c\5\6\13\0"+ "\17\6\1\5\1\0\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\u0472\1\6\13\0\17\6\1\5"+ "\1\0\22\6\1\0\1\5\5\6\1\u060d\1\6\2\0"+ "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0"+ "\4\6\1\u060e\1\u01e3\2\0\6\6\13\0\17\6\1\5"+ "\1\0\14\6\1\u060f\2\6\1\u0610\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\6\6\13\0\17\6\1\5"+ "\1\0\2\6\1\u045e\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\1\6\1\u05e6\4\6\13\0\17\6\1\5"+ "\1\0\22\6\60\0\1\u0611\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\2\6\1\u0612\3\6\13\0\17\6\1\5"+ "\1\0\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"+ "\3\6\1\u0613\2\6\13\0\17\6\1\5\1\0\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"+ "\4\6\1\u0614\12\6\1\5\1\0\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\u0615\3\6\13\0"+ "\17\6\1\5\1\0\22\6\1\0\1\5\7\6\2\0"+ "\1\123\1\6\1\u0616\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\22\6\1\0\1\5\5\6\1\u026d\1\6\2\0"+ "\1\123\3\6\1\0\1\6\1\0\1\5\1\6\3\0"+ "\4\6\1\u060e\1\6\2\0\6\6\13\0\17\6\1\5"+ "\1\0\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\17\6\1\5\1\0\1\6\1\u0617\15\6"+ "\1\u0610\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"+ "\6\6\13\0\4\6\1\u0472\12\6\1\5\1\0\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"+ "\17\6\1\5\1\0\2\6\1\u0618\17\6\1\0\1\5"+ "\7\6\2\0\1\123\1\6\1\u05dc\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\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\u0619\1\6\13\0\1\6\1\u061a"+ "\15\6\1\5\1\0\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\u061b\10\6\1\5"+ "\1\0\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\u061c\4\6\13\0\17\6\1\5\1\0\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\u061d"+ "\1\6\13\0\17\6\1\5\1\0\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\u061e\5\6\13\0\17\6"+ "\1\5\1\0\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\u061f\4\6\13\0\17\6\1\5\1\0"+ "\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\u02ea"+ "\5\6\13\0\17\6\1\5\1\0\22\6\41\0\1\u0620"+ "\142\0\1\u0621\42\0\1\5\7\6\2\0\1\123\2\6"+ "\1\u0622\1\0\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\0"+ "\1\5\7\6\2\0\1\123\1\6\1\u0623\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\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\12\6\1\u0624\4\6"+ "\1\5\1\0\22\6\41\0\1\u0625\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\13\6\1\u04ed\3\6"+ "\1\5\1\0\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\u0626\5\6\13\0\17\6\1\5\1\0\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\u0627"+ "\4\6\13\0\17\6\1\5\1\0\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\u0628\5\6\13\0\17\6"+ "\1\5\1\0\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"+ "\1\0\1\u0629\6\6\13\0\17\6\1\5\1\0\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\u062a\5\6"+ "\13\0\17\6\1\5\1\0\22\6\67\0\1\u062b\34\0"+ "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0"+ "\1\5\1\6\3\0\6\6\2\0\2\6\1\u062c\3\6"+ "\13\0\17\6\1\5\1\0\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\u062d\4\6\13\0\17\6"+ "\1\5\1\0\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\u062e\3\6\13\0\17\6\1\5\1\0"+ "\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\2\6\1\u0573\14\6\1\5\1\0\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\3\6\1\u062f\2\6"+ "\13\0\17\6\1\5\1\0\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\u0630\10\6"+ "\1\5\1\0\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\u0631\15\6\1\5\1\0"+ "\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\u0632\1\6\13\0\17\6\1\5\1\0\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\u0633\4\6"+ "\13\0\17\6\1\5\1\0\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\u0634\10\6"+ "\1\5\1\0\22\6\37\0\1\u0635\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\u0573\4\6\13\0\17\6"+ "\1\5\1\0\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\5\6\1\u0636\13\0\17\6\1\5\1\0\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\u0637\15\6\1\5\1\0\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\u0638\4\6\13\0"+ "\17\6\1\5\1\0\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\16\6\1\u0385\1\5\1\0"+ "\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\u04ce\4\6\13\0\17\6\1\5\1\0\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\u0639\10\6\1\5\1\0\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\3\6\1\u063a\2\6\13\0\17\6"+ "\1\5\1\0\22\6\1\0\1\5\7\6\2\0\1\123"+ "\1\6\1\u063b\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"+ "\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\u063c\3\6\13\0\17\6\1\5\1\0\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\u063d\3\6"+ "\13\0\17\6\1\5\1\0\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\u063e\10\6"+ "\1\5\1\0\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"+ "\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\1\0\1\u0640"+ "\6\6\13\0\17\6\1\5\1\0\22\6\37\0\1\u04dc"+ "\145\0\1\u0641\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\6\6\1\u0642\10\6\1\5\1\0\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"+ "\2\6\1\u01fc\14\6\1\5\1\0\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\u0643\3\6\13\0"+ "\17\6\1\5\1\0\22\6\64\0\1\u0644\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\6\6\13\0\6\6\1\u0645"+ "\10\6\1\5\1\0\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\u0646\15\6\1\5"+ "\1\0\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\4\6\1\u060e"+ "\1\6\2\0\6\6\13\0\17\6\1\5\1\0\22\6"+ "\7\0\1\u0647\114\0\1\5\7\6\2\0\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\u0648\10\6\1\5\1\0\22\6"+ "\63\0\1\u0649\40\0\1\5\7\6\2\0\1\123\1\6"+ "\1\u01d9\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\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\3\6\1\u02af"+ "\2\6\13\0\17\6\1\5\1\0\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\3\6\1\u064a\2\6\13\0"+ "\17\6\1\5\1\0\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\5\6\1\u064b\13\0\17\6\1\5\1\0"+ "\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\u064c\3\6\13\0\17\6\1\5\1\0\22\6\1\0"+ "\1\5\7\6\2\0\1\123\1\6\1\u03a0\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\u064d\14\6\1\5\1\0\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\3\6\1\u064e\2\6"+ "\13\0\17\6\1\5\1\0\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\u064f\3\6\13\0\17\6"+ "\1\5\1\0\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\2\6\1\u0650\14\6\1\5\1\0"+ "\22\6\34\0\1\u0651\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\5\6\1\u0652\13\0\17\6\1\5\1\0\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"+ "\2\6\1\u0653\14\6\1\5\1\0\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\3\6\1\u0654\2\6\13\0"+ "\17\6\1\5\1\0\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\17\6\1\5\1\0\1\u0472"+ "\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\5\6"+ "\1\u04ed\13\0\17\6\1\5\1\0\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\5\6\1\u0655\13\0\17\6"+ "\1\5\1\0\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\u0197\1\6\13\0\17\6\1\5\1\0"+ "\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\3\6"+ "\1\u0656\2\6\13\0\17\6\1\5\1\0\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\2\6"+ "\1\u032f\14\6\1\5\1\0\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\u0657\3\6\13\0\17\6"+ "\1\5\1\0\22\6\75\0\1\u0658\66\0\1\u0659\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\4\6"+ "\1\u0638\12\6\1\5\1\0\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\u065a\4\6\13\0\17\6"+ "\1\5\1\0\22\6\66\0\1\u065b\35\0\1\5\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\u065c\2\6\13\0\17\6"+ "\1\5\1\0\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\5\6\1\u039b\11\6\1\5\1\0"+ "\22\6\61\0\1\u065d\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\u065e\2\6\13\0\17\6\1\5\1\0"+ "\22\6\43\0\1\u065f\60\0\1\5\7\6\2\0\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\u0660\14\6\1\5\1\0"+ "\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\5\6"+ "\1\u0661\13\0\17\6\1\5\1\0\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\5\6\1\u03f3\13\0\17\6"+ "\1\5\1\0\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\u0662\3\6\13\0\17\6\1\5\1\0"+ "\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\13\6\1\u0573\3\6\1\5\1\0\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\4\6"+ "\1\u0663\12\6\1\5\1\0\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\u05b0\5\6\13\0\17\6\1\5"+ "\1\0\22\6\65\0\1\u0664\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\6\6\13\0\17\6\1\5\1\0\16\6"+ "\1\u0665\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"+ "\6\6\13\0\6\6\1\u0666\10\6\1\5\1\0\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\u054f\5\6"+ "\13\0\17\6\1\5\1\0\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\u0667\5\6\13\0\17\6\1\5"+ "\1\0\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\7\6\1\u0668\7\6\1\5\1\0\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\3\6\1\u0669"+ "\2\6\13\0\17\6\1\5\1\0\22\6\41\0\1\u066a"+ "\111\0\1\u066b\52\0\1\u066c\20\0\1\5\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\u066d\13\0\17\6\1\5\1\0"+ "\22\6\67\0\1\u066e\34\0\1\5\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\u066f\1\6\13\0\17\6\1\5\1\0"+ "\22\6\15\0\1\u0670\106\0\1\5\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\u0671\1\6\13\0\17\6\1\5\1\0"+ "\22\6\41\0\1\u0672\62\0\1\5\7\6\2\0\1\123"+ "\3\6\1\0\1\6\1\0\1\5\1\6\3\0\1\u03e9"+ "\5\6\2\0\6\6\13\0\17\6\1\5\1\0\22\6"+ "\1\0\1\5\5\6\1\u0673\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\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\17\6\1\5"+ "\1\0\14\6\1\u0674\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\u04fb\10\6\1\5"+ "\1\0\22\6\64\0\1\u0675\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\u0676\3\6\13\0\17\6\1\5"+ "\1\0\22\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\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\3\6\1\u0678"+ "\2\6\13\0\17\6\1\5\1\0\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\1\0\1\u0679\6\6\13\0\17\6"+ "\1\5\1\0\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\7\6\1\u067a\7\6\1\5\1\0"+ "\22\6\62\0\1\u067b\103\0\1\u067c\143\0\1\u067d\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\6\6\13\0\6\6"+ "\1\u067e\10\6\1\5\1\0\22\6\42\0\1\u067f\61\0"+ "\1\5\7\6\2\0\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\u0680\10\6\1\5\1\0\22\6\37\0\1\u0681\64\0"+ "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0"+ "\1\5\1\6\3\0\1\u034a\5\6\2\0\6\6\13\0"+ "\17\6\1\5\1\0\22\6\34\0\1\u02d3\50\0\1\u0682"+ "\16\0\1\5\7\6\2\0\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\u0683\16\6\1\5\1\0\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\u0684\15\6"+ "\1\5\1\0\22\6\41\0\1\u0685\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\1\6\1\u0686\4\6\13\0\17\6"+ "\1\5\1\0\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\13\6\1\u012d\3\6\1\5\1\0"+ "\22\6\1\0\1\5\7\6\2\0\1\123\1\6\1\u0687"+ "\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\22\6\116\0"+ "\1\u0688\5\0\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\u0689"+ "\6\6\13\0\17\6\1\5\1\0\22\6\66\0\1\u068a"+ "\115\0\1\u068b\101\0\1\u068c\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\1\6\1\u068d\15\6\1\5"+ "\1\0\22\6\43\0\1\u068e\60\0\1\5\7\6\2\0"+ "\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\u068f"+ "\21\6\40\0\1\u0690\151\0\1\u0691\34\0\1\5\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\u0692\2\6\13\0\17\6"+ "\1\5\1\0\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\u0586\10\6\1\5\1\0"+ "\22\6\63\0\1\u0693\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\5\6\1\u034f\13\0\17\6\1\5\1\0\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\u04ed\5\6"+ "\13\0\17\6\1\5\1\0\22\6\41\0\1\u0694\176\0"+ "\1\u0695\45\0\1\u0696\146\0\1\u0697\124\0\1\u0698\35\0"+ "\1\5\7\6\2\0\1\123\1\6\1\u0699\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\22\6\27\0\1\u069a\74\0"+ "\1\5\7\6\2\0\1\123\3\6\1\0\1\6\1\0"+ "\1\5\1\6\3\0\6\6\2\0\2\6\1\u069b\3\6"+ "\13\0\17\6\1\5\1\0\22\6\61\0\1\u069c\130\0"+ "\1\u069d\34\0\1\5\7\6\2\0\1\123\1\6\1\u027a"+ "\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\22\6\37\0"+ "\1\u069e\122\0\1\u069f\77\0\1\u0694\147\0\1\u06a0\157\0"+ "\1\u04dc\107\0\1\u0620\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\17\6\1\5\1\0\10\6\1\u0361"+ "\11\6\42\0\1\u06a1\61\0\1\5\7\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\u0385\4\6\13\0\17\6\1\5\1\0"+ "\22\6\43\0\1\u04dc\73\0\1\u06a2\174\0\1\u06a3\67\0"+ "\1\u06a4\153\0\1\u06a5\132\0\1\u06a6\65\0\1\u06a7\144\0"+ "\1\u06a8\127\0\1\u06a9\73\0\1\u06aa\144\0\1\u06ab\103\0"+ "\1\u06ac\75\0\1\u06ad\146\0\1\u06ae\117\0\1\u06af\100\0"+ "\1\u06b0\137\0\1\u06b1\201\0\1\u06b2\55\0\1\u06b3\165\0"+ "\1\u06b4\53\0\1\u06b5\126\0\1\u06b6\121\0\1\u06b7\142\0"+ "\1\u04dc\134\0\1\u06b8\61\0\1\u06b9\130\0\1\u022e\76\0"+ "\1\u06ba\170\0\1\u057b\120\0\1\u06bb\123\0\1\u06bc\100\0"+ "\1\u06bd\125\0\1\u0596\146\0\1\u04dc\34\0"; private static int [] zzUnpackTrans() { int [] result = new int[140104]; int offset = 0; offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result); 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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); value--; do result[j++] = value; while (--count > 0); } return j; } /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; private static final int ZZ_PUSHBACK_2BIG = 2; /* error messages for the codes above */ private static final String ZZ_ERROR_MSG[] = { "Unkown internal scanner error", "Error: could not match input", "Error: pushback value was too large" }; /** * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute(); private static final String ZZ_ATTRIBUTE_PACKED_0 = "\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\41\1\1\0\107\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\205\1\37\0\22\1\1\11"+ "\141\1\1\0\32\1\2\0\1\1\2\0\1\1\10\0"+ "\1\11\17\0\154\1\1\0\32\1\35\0\146\1\1\0"+ "\27\1\22\0\13\1\1\0\103\1\1\0\11\1\1\0"+ "\33\1\2\0\1\1\6\0\12\1\2\0\75\1\2\0"+ "\7\1\1\0\33\1\11\0\11\1\2\0\71\1\2\0"+ "\6\1\1\11\26\1\5\0\4\1\1\0\3\1\2\0"+ "\3\1\1\0\51\1\2\0\27\1\5\0\3\1\2\0"+ "\1\1\2\0\3\1\1\0\42\1\2\0\21\1\2\0"+ "\2\1\2\0\1\1\2\0\3\1\1\0\11\1\1\0"+ "\23\1\1\0\24\1\2\0\1\1\1\0\2\1\1\0"+ "\11\1\1\0\12\1\1\0\21\1\2\0\3\1\1\0"+ "\6\1\1\0\12\1\1\0\16\1\2\0\3\1\1\0"+ "\3\1\1\0\1\1\1\0\11\1\1\0\12\1\2\0"+ "\2\1\1\0\2\1\1\0\1\1\1\0\7\1\1\0"+ "\6\1\2\0\1\1\1\0\1\1\1\0\1\1\1\0"+ "\4\1\1\0\5\1\3\0\1\1\1\0\1\1\1\0"+ "\1\1\1\0\2\1\1\0\3\1\1\0\1\1\3\0"+ "\1\1\1\0\1\1\2\0\2\1\1\0\2\1\5\0"+ "\1\1\1\0\1\1\2\0\1\1\6\0\1\1\1\0"+ "\1\1\16\0\1\1\23\0"; private static int [] zzUnpackAttribute() { int [] result = new int[1725]; int offset = 0; offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result); return result; } private static int zzUnpackAttribute(String packed, int offset, int [] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } return j; } /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ private int zzState; /** the current lexical state */ private int zzLexicalState = YYINITIAL; /** this buffer contains the current text to be matched and is the source of the yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ private int zzMarkedPos; /** the current text position in the buffer */ private int zzCurrentPos; /** startRead marks the beginning of the yytext() string in the buffer */ private int zzStartRead; /** endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** 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. */ public JavaTokenMaker() { } /** * Adds the token specified to the current linked list of tokens. * * @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. */ 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. * @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. */ @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 the text to place at the beginning and end of a * line to "comment" it in a this programming language. * * @return The start and end strings to add to a line to "comment" * it out. */ @Override public String[] getLineCommentStartAndEnd() { 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. * * @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) { resetTokenList(); this.offsetShift = -text.offset + startOffset; // 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; } s = text; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); return new TokenImpl(); } } /** * Refills the input buffer. * * @return true if EOF was reached, otherwise * false. * @exception IOException if any I/O-Error occurs. */ private boolean zzRefill() throws java.io.IOException { return zzCurrentPos>=s.offset+s.count; } /** * 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 */ public final void yyreset(java.io.Reader reader) throws java.io.IOException { // '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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = s.offset; zzLexicalState = YYINITIAL; 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. */ 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. */ 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 * @return the unpacked character translation table */ private static char [] zzUnpackCMap(String packed) { char [] map = new char[0x10000]; int i = 0; /* index in packed string */ int j = 0; /* index in unpacked array */ while (i < 192) { int count = packed.charAt(i++); char value = packed.charAt(i++); do map[j++] = value; while (--count > 0); } return map; } /** * Closes the input stream. */ public final void yyclose() throws java.io.IOException { zzAtEOF = true; /* indicate end of file */ zzEndRead = zzStartRead; /* invalidate buffer */ if (zzReader != null) zzReader.close(); } /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } /** * Enters a 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 yylength()-1. * * @return the character at position pos */ public final char yycharat(int pos) { return zzBuffer[zzStartRead+pos]; } /** * Returns the length of the matched text region. */ public final int yylength() { return zzMarkedPos-zzStartRead; } /** * Reports an error that occured while scanning. * * In a wellformed scanner (no or only correct usage of * yypushback(int) and a match-all fallback rule) this method * will only be called with things that "Can't Possibly Happen". * If this method is called, something is seriously wrong * (e.g. a JFlex bug producing a faulty scanner etc.). * * Usual syntax/scanner level error handling should be done * in error fallback rules. * * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; try { message = ZZ_ERROR_MSG[errorCode]; } catch (ArrayIndexOutOfBoundsException e) { message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR]; } throw new Error(message); } /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * * @param number the number of characters to be read again. * This number must not be greater than yylength()! */ public void yypushback(int number) { if ( number > yylength() ) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } /** * Resumes scanning until the next regular expression is matched, * the end of input is encountered or an I/O-Error occurs. * * @return the next token * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; int zzAction; // cached fields: int zzCurrentPosL; int zzMarkedPosL; int zzEndReadL = zzEndRead; char [] zzBufferL = zzBuffer; char [] zzCMapL = ZZ_CMAP; int [] zzTransL = ZZ_TRANS; int [] zzRowMapL = ZZ_ROWMAP; int [] zzAttrL = ZZ_ATTRIBUTE; while (true) { zzMarkedPosL = zzMarkedPos; zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; else if (zzAtEOF) { zzInput = YYEOF; break zzForAction; } else { // store back cached positions zzCurrentPos = zzCurrentPosL; zzMarkedPos = zzMarkedPosL; boolean eof = zzRefill(); // get translated positions and possibly new buffer zzCurrentPosL = zzCurrentPos; zzMarkedPosL = zzMarkedPos; zzBufferL = zzBuffer; zzEndReadL = zzEndRead; if (eof) { zzInput = YYEOF; break zzForAction; } else { zzInput = zzBufferL[zzCurrentPosL++]; } } int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ]; if (zzNext == -1) break zzForAction; zzState = zzNext; int zzAttributes = zzAttrL[zzState]; if ( (zzAttributes & 1) == 1 ) { zzAction = zzState; zzMarkedPosL = zzCurrentPosL; if ( (zzAttributes & 8) == 8 ) break zzForAction; } } } // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { case 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 1726: break; case DOCCOMMENT: { yybegin(YYINITIAL); addToken(start,zzEndRead, Token.COMMENT_DOCUMENTATION); return firstToken; } case 1727: break; case YYINITIAL: { addNullToken(); return firstToken; } case 1728: break; case MLC: { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); return firstToken; } case 1729: break; default: return null; } } else { zzScanError(ZZ_NO_MATCH); } } } } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/TclTokenMaker.flex0000644000175000001440000003777512202237656027302 0ustar benusers/* * 10/03/2007 * * TclTokenMaker.java - Scanner for the Tcl programming language. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.*; /** * Scanner for the Tcl programming language.

* * 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * 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.
  • *
  • You should NOT call yylex() on the generated scanner * directly; rather, you should use getTokenList as you would * with any other TokenMaker instance.
  • *
* * @author Robert Futrell * @version 0.5 * */ %% %public %class TclTokenMaker %extends AbstractJFlexCTokenMaker %unicode %type org.fife.ui.rsyntaxtextarea.Token %{ /** * Constructor. This must be here because JFlex does not generate a * no-parameter constructor. */ public TclTokenMaker() { } /** * Adds the token specified to the current linked list of tokens. * * @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. */ 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. */ @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 text to place at the beginning and end of a * line to "comment" it in a this programming language. * * @return The start and end strings to add to a line to "comment" * it out. */ @Override public String[] getLineCommentStartAndEnd() { 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. * * @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) { resetTokenList(); this.offsetShift = -text.offset + startOffset; // Start off in the proper state. int state = Token.NULL; s = text; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); return new TokenImpl(); } } /** * Refills the input buffer. * * @return true if EOF was reached, otherwise * false. * @exception IOException if any I/O-Error occurs. */ private boolean zzRefill() throws java.io.IOException { return zzCurrentPos>=s.offset+s.count; } /** * 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 */ public final void yyreset(java.io.Reader reader) throws java.io.IOException { // '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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = zzPushbackPos = s.offset; zzLexicalState = YYINITIAL; zzReader = reader; zzAtBOL = true; zzAtEOF = false; } %} Letter = [A-Za-z] NonzeroDigit = [1-9] Digit = ("0"|{NonzeroDigit}) HexDigit = ({Digit}|[A-Fa-f]) OctalDigit = ([0-7]) EscapedSourceCharacter = ("u"{HexDigit}{HexDigit}{HexDigit}{HexDigit}) NonSeparator = ([^\t\f\r\n\ \(\)\{\}\[\]\;\,\.\=\>\<\!\~\?\:\+\-\*\/\&\|\^\%\"\']|"#"|"\\") IdentifierStart = ({Letter}|"_"|"$") IdentifierPart = ({IdentifierStart}|{Digit}|("\\"{EscapedSourceCharacter})) LineTerminator = (\n) WhiteSpace = ([ \t\f]) UnclosedStringLiteral = ([\"]([\\].|[^\\\"])*[^\"]?) StringLiteral = ({UnclosedStringLiteral}[\"]) LineCommentBegin = "#" IntegerHelper1 = (({NonzeroDigit}{Digit}*)|"0") IntegerHelper2 = ("0"(([xX]{HexDigit}+)|({OctalDigit}*))) IntegerLiteral = ({IntegerHelper1}[lL]?) HexLiteral = ({IntegerHelper2}[lL]?) FloatHelper1 = ([fFdD]?) FloatHelper2 = ([eE][+-]?{Digit}+{FloatHelper1}) FloatLiteral1 = ({Digit}+"."({FloatHelper1}|{FloatHelper2}|{Digit}+({FloatHelper1}|{FloatHelper2}))) FloatLiteral2 = ("."{Digit}+({FloatHelper1}|{FloatHelper2})) FloatLiteral3 = ({Digit}+{FloatHelper2}) FloatLiteral = ({FloatLiteral1}|{FloatLiteral2}|{FloatLiteral3}|({Digit}+[fFdD])) ErrorNumberFormat = (({IntegerLiteral}|{HexLiteral}|{FloatLiteral}){NonSeparator}+) Separator = ([\(\)\{\}\[\]]) Separator2 = ([\;,.]) Operator = ("="|"!"|"+"|"-"|"*"|"/"|">"=?|"<"=?|"%"|"&"|"|"|"^"|"~") Identifier = ({IdentifierStart}{IdentifierPart}*) ErrorIdentifier = ({NonSeparator}+) %% /* Keywords */ "append" { addToken(Token.RESERVED_WORD); } "array" { addToken(Token.RESERVED_WORD); } "auto_mkindex" { addToken(Token.RESERVED_WORD); } "concat" { addToken(Token.RESERVED_WORD); } "console" { addToken(Token.RESERVED_WORD); } "eval" { addToken(Token.RESERVED_WORD); } "expr" { addToken(Token.RESERVED_WORD); } "format" { addToken(Token.RESERVED_WORD); } "global" { addToken(Token.RESERVED_WORD); } "set" { addToken(Token.RESERVED_WORD); } "trace" { addToken(Token.RESERVED_WORD); } "unset" { addToken(Token.RESERVED_WORD); } "upvar" { addToken(Token.RESERVED_WORD); } "join" { addToken(Token.RESERVED_WORD); } "lappend" { addToken(Token.RESERVED_WORD); } "lindex" { addToken(Token.RESERVED_WORD); } "linsert" { addToken(Token.RESERVED_WORD); } "list" { addToken(Token.RESERVED_WORD); } "llength" { addToken(Token.RESERVED_WORD); } "lrange" { addToken(Token.RESERVED_WORD); } "lreplace" { addToken(Token.RESERVED_WORD); } "lsearch" { addToken(Token.RESERVED_WORD); } "lsort" { addToken(Token.RESERVED_WORD); } "split" { addToken(Token.RESERVED_WORD); } "scan" { addToken(Token.RESERVED_WORD); } "string" { addToken(Token.RESERVED_WORD); } "regexp" { addToken(Token.RESERVED_WORD); } "regsub" { addToken(Token.RESERVED_WORD); } "if" { addToken(Token.RESERVED_WORD); } "else" { addToken(Token.RESERVED_WORD); } "elseif" { addToken(Token.RESERVED_WORD); } "switch" { addToken(Token.RESERVED_WORD); } "for" { addToken(Token.RESERVED_WORD); } "foreach" { addToken(Token.RESERVED_WORD); } "while" { addToken(Token.RESERVED_WORD); } "break" { addToken(Token.RESERVED_WORD); } "continue" { addToken(Token.RESERVED_WORD); } "proc" { addToken(Token.RESERVED_WORD); } "return" { addToken(Token.RESERVED_WORD); } "source" { addToken(Token.RESERVED_WORD); } "unkown" { addToken(Token.RESERVED_WORD); } "uplevel" { addToken(Token.RESERVED_WORD); } "cd" { addToken(Token.RESERVED_WORD); } "close" { addToken(Token.RESERVED_WORD); } "eof" { addToken(Token.RESERVED_WORD); } "file" { addToken(Token.RESERVED_WORD); } "flush" { addToken(Token.RESERVED_WORD); } "gets" { addToken(Token.RESERVED_WORD); } "glob" { addToken(Token.RESERVED_WORD); } "open" { addToken(Token.RESERVED_WORD); } "read" { addToken(Token.RESERVED_WORD); } "puts" { addToken(Token.RESERVED_WORD); } "pwd" { addToken(Token.RESERVED_WORD); } "seek" { addToken(Token.RESERVED_WORD); } "tell" { addToken(Token.RESERVED_WORD); } "catch" { addToken(Token.RESERVED_WORD); } "error" { addToken(Token.RESERVED_WORD); } "exec" { addToken(Token.RESERVED_WORD); } "pid" { addToken(Token.RESERVED_WORD); } "after" { addToken(Token.RESERVED_WORD); } "time" { addToken(Token.RESERVED_WORD); } "exit" { addToken(Token.RESERVED_WORD); } "history" { addToken(Token.RESERVED_WORD); } "rename" { addToken(Token.RESERVED_WORD); } "info" { addToken(Token.RESERVED_WORD); } "ceil" { addToken(Token.RESERVED_WORD); } "floor" { addToken(Token.RESERVED_WORD); } "round" { addToken(Token.RESERVED_WORD); } "incr" { addToken(Token.RESERVED_WORD); } "hypot" { addToken(Token.RESERVED_WORD); } "abs" { addToken(Token.RESERVED_WORD); } "acos" { addToken(Token.RESERVED_WORD); } "cos" { addToken(Token.RESERVED_WORD); } "cosh" { addToken(Token.RESERVED_WORD); } "asin" { addToken(Token.RESERVED_WORD); } "sin" { addToken(Token.RESERVED_WORD); } "sinh" { addToken(Token.RESERVED_WORD); } "atan" { addToken(Token.RESERVED_WORD); } "atan2" { addToken(Token.RESERVED_WORD); } "tan" { addToken(Token.RESERVED_WORD); } "tanh" { addToken(Token.RESERVED_WORD); } "log" { addToken(Token.RESERVED_WORD); } "log10" { addToken(Token.RESERVED_WORD); } "fmod" { addToken(Token.RESERVED_WORD); } "pow" { addToken(Token.RESERVED_WORD); } "hypot" { addToken(Token.RESERVED_WORD); } "sqrt" { addToken(Token.RESERVED_WORD); } "double" { addToken(Token.RESERVED_WORD); } "int" { addToken(Token.RESERVED_WORD); } "bind" { addToken(Token.RESERVED_WORD); } "button" { addToken(Token.RESERVED_WORD); } "canvas" { addToken(Token.RESERVED_WORD); } "checkbutton" { addToken(Token.RESERVED_WORD); } "destroy" { addToken(Token.RESERVED_WORD); } "entry" { addToken(Token.RESERVED_WORD); } "focus" { addToken(Token.RESERVED_WORD); } "frame" { addToken(Token.RESERVED_WORD); } "grab" { addToken(Token.RESERVED_WORD); } "image" { addToken(Token.RESERVED_WORD); } "label" { addToken(Token.RESERVED_WORD); } "listbox" { addToken(Token.RESERVED_WORD); } "lower" { addToken(Token.RESERVED_WORD); } "menu" { addToken(Token.RESERVED_WORD); } "menubutton" { addToken(Token.RESERVED_WORD); } "message" { addToken(Token.RESERVED_WORD); } "option" { addToken(Token.RESERVED_WORD); } "pack" { addToken(Token.RESERVED_WORD); } "placer" { addToken(Token.RESERVED_WORD); } "radiobutton" { addToken(Token.RESERVED_WORD); } "raise" { addToken(Token.RESERVED_WORD); } "scale" { addToken(Token.RESERVED_WORD); } "scrollbar" { addToken(Token.RESERVED_WORD); } "selection" { addToken(Token.RESERVED_WORD); } "send" { addToken(Token.RESERVED_WORD); } "text" { addToken(Token.RESERVED_WORD); } "tk" { addToken(Token.RESERVED_WORD); } "tkerror" { addToken(Token.RESERVED_WORD); } "tkwait" { addToken(Token.RESERVED_WORD); } "toplevel" { addToken(Token.RESERVED_WORD); } "update" { addToken(Token.RESERVED_WORD); } "winfo" { addToken(Token.RESERVED_WORD); } "wm" { addToken(Token.RESERVED_WORD); } { {LineTerminator} { addNullToken(); return firstToken; } {Identifier} { addToken(Token.IDENTIFIER); } {WhiteSpace}+ { addToken(Token.WHITESPACE); } /* String/Character literals. */ {StringLiteral} { addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); } {UnclosedStringLiteral} { addToken(Token.ERROR_STRING_DOUBLE); addNullToken(); return firstToken; } /* Comment literals. */ {LineCommentBegin}.* { addToken(Token.COMMENT_EOL); addNullToken(); return firstToken; } /* Separators. */ {Separator} { addToken(Token.SEPARATOR); } {Separator2} { addToken(Token.IDENTIFIER); } /* Operators. */ {Operator} { addToken(Token.OPERATOR); } /* Numbers */ {IntegerLiteral} { addToken(Token.LITERAL_NUMBER_DECIMAL_INT); } {HexLiteral} { addToken(Token.LITERAL_NUMBER_HEXADECIMAL); } {FloatLiteral} { addToken(Token.LITERAL_NUMBER_FLOAT); } {ErrorNumberFormat} { addToken(Token.ERROR_NUMBER_FORMAT); } {ErrorIdentifier} { addToken(Token.ERROR_IDENTIFIER); } /* Ended with a line not in a string or comment. */ <> { addNullToken(); return firstToken; } /* Catch any other (unhandled) characters and flag them as bad. */ . { addToken(Token.ERROR_IDENTIFIER); } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/TclTokenMaker.java0000644000175000001440000011336712202002502027231 0ustar benusers/* The following code was generated by JFlex 1.4.1 on 10/10/10 10:56 PM */ /* * 10/03/2007 * * TclTokenMaker.java - Scanner for the Tcl programming language. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.*; /** * Scanner for the Tcl programming language.

* * 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * 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.
  • *
  • You should NOT call yylex() on the generated scanner * directly; rather, you should use getTokenList as you would * with any other TokenMaker instance.
  • *
* * @author Robert Futrell * @version 0.5 * */ public class TclTokenMaker extends AbstractJFlexCTokenMaker { /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ public static final int YYINITIAL = 0; /** * Translates characters to character classes */ private static final String ZZ_CMAP_PACKED = "\11\0\1\14\1\13\1\0\1\14\1\7\22\0\1\14\1\27\1\15"+ "\1\10\1\1\1\27\1\27\1\7\2\24\1\27\1\22\1\25\1\22"+ "\1\23\1\27\1\3\1\61\1\60\5\5\2\2\1\7\1\25\1\30"+ "\1\26\1\30\1\7\1\0\3\4\1\20\1\21\1\20\5\1\1\17"+ "\13\1\1\16\2\1\1\24\1\11\1\24\1\27\1\12\1\0\1\31"+ "\1\54\1\46\1\35\1\33\1\52\1\53\1\56\1\44\1\55\1\43"+ "\1\50\1\42\1\34\1\41\1\32\1\62\1\36\1\47\1\40\1\6"+ "\1\51\1\57\1\45\1\37\1\1\1\24\1\27\1\24\1\27\uff81\0"; /** * Translates characters to character classes */ private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED); /** * Translates DFA states to action switch labels. */ private static final int [] ZZ_ACTION = zzUnpackAction(); private static final String ZZ_ACTION_PACKED_0 = "\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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } return j; } /** * 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\63\0\146\0\231\0\314\0\377\0\u0132\0\u0165"+ "\0\u0132\0\u0198\0\u01cb\0\u0132\0\u01fe\0\u0132\0\u0132\0\u0231"+ "\0\u0264\0\u0297\0\u02ca\0\u02fd\0\u0330\0\u0363\0\u0396\0\u03c9"+ "\0\u03fc\0\u042f\0\u0462\0\u0495\0\u04c8\0\u04fb\0\u052e\0\u0561"+ "\0\u0594\0\u05c7\0\u05fa\0\u062d\0\u062d\0\u062d\0\u0660\0\u0693"+ "\0\u06c6\0\u06f9\0\u072c\0\u075f\0\u0792\0\u07c5\0\u0132\0\u07f8"+ "\0\u082b\0\u085e\0\u0891\0\u08c4\0\u08f7\0\u092a\0\u095d\0\u0990"+ "\0\u09c3\0\u09f6\0\u0a29\0\u0a5c\0\u0a8f\0\u0ac2\0\u0af5\0\u0b28"+ "\0\u0b5b\0\u0b8e\0\u0bc1\0\u0bf4\0\u0c27\0\u0c5a\0\u0c8d\0\u0cc0"+ "\0\u0cf3\0\u0d26\0\u0d59\0\u0d8c\0\u0dbf\0\u0df2\0\u0e25\0\u0e58"+ "\0\u0e8b\0\u0ebe\0\146\0\u0ef1\0\u0f24\0\u0f57\0\u0f8a\0\u0fbd"+ "\0\u0ff0\0\u1023\0\u1056\0\u1089\0\u10bc\0\u10ef\0\u1122\0\u1155"+ "\0\u1188\0\u11bb\0\u11ee\0\u1221\0\u1254\0\u1287\0\u12ba\0\u12ed"+ "\0\u1320\0\u1353\0\u1386\0\u13b9\0\u13ec\0\u141f\0\u1452\0\u1485"+ "\0\u14b8\0\u14eb\0\u151e\0\u1551\0\u1584\0\u15b7\0\u062d\0\u15ea"+ "\0\u161d\0\u1650\0\u1683\0\u16b6\0\u16e9\0\u01cb\0\u171c\0\u174f"+ "\0\u1782\0\u17b5\0\u17e8\0\u181b\0\u184e\0\u1881\0\u18b4\0\u18e7"+ "\0\u191a\0\u194d\0\u1980\0\u19b3\0\u19e6\0\u1a19\0\u1a4c\0\u1a7f"+ "\0\u1ab2\0\u1ae5\0\u1b18\0\u1b4b\0\u1b7e\0\u1bb1\0\u1be4\0\u1c17"+ "\0\u1c4a\0\u1c7d\0\u1cb0\0\u1ce3\0\u1d16\0\u1d49\0\u1d7c\0\u1daf"+ "\0\u1de2\0\u1e15\0\u1e48\0\u1e7b\0\u1eae\0\u1ee1\0\u1f14\0\u1f47"+ "\0\u1f7a\0\u1fad\0\u1fe0\0\u2013\0\u2046\0\u2079\0\u20ac\0\u20df"+ "\0\u2112\0\u2145\0\u2178\0\u21ab\0\u21de\0\u2211\0\u2244\0\u2277"+ "\0\u22aa\0\u22dd\0\u2310\0\u2343\0\u2376\0\u23a9\0\u23dc\0\u240f"+ "\0\u2442\0\u2475\0\u24a8\0\u24db\0\u250e\0\u2541\0\u2574\0\u25a7"+ "\0\u25da\0\u260d\0\u2640\0\u1b4b\0\u2673\0\u26a6\0\u26d9\0\u270c"+ "\0\u273f\0\u2772\0\u27a5\0\u27d8\0\u280b\0\u283e\0\u2871\0\u28a4"+ "\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 */ int l = packed.length(); while (i < l) { int high = packed.charAt(i++) << 16; result[j++] = high | packed.charAt(i++); } 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"+ "\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"+ "\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"+ "\1\47\1\0\1\50\5\0\2\44\1\47\1\44\1\46"+ "\14\44\1\46\5\44\2\51\3\44\1\51\1\52\1\44"+ "\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"+ "\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\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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); value--; do result[j++] = value; while (--count > 0); } return j; } /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; private static final int ZZ_PUSHBACK_2BIG = 2; /* error messages for the codes above */ private static final String ZZ_ERROR_MSG[] = { "Unkown internal scanner error", "Error: could not match input", "Error: pushback value was too large" }; /** * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute(); private static final String ZZ_ATTRIBUTE_PACKED_0 = "\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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } return j; } /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ private int zzState; /** the current lexical state */ private int zzLexicalState = YYINITIAL; /** this buffer contains the current text to be matched and is the source of the yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ private int zzMarkedPos; /** the current text position in the buffer */ private int zzCurrentPos; /** startRead marks the beginning of the yytext() string in the buffer */ private int zzStartRead; /** endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** 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. */ public TclTokenMaker() { } /** * Adds the token specified to the current linked list of tokens. * * @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. */ 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. */ @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 text to place at the beginning and end of a * line to "comment" it in a this programming language. * * @return The start and end strings to add to a line to "comment" * it out. */ @Override public String[] getLineCommentStartAndEnd() { 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. * * @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) { resetTokenList(); this.offsetShift = -text.offset + startOffset; // Start off in the proper state. int state = Token.NULL; s = text; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); return new TokenImpl(); } } /** * Refills the input buffer. * * @return true if EOF was reached, otherwise * false. * @exception IOException if any I/O-Error occurs. */ private boolean zzRefill() throws java.io.IOException { return zzCurrentPos>=s.offset+s.count; } /** * 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 */ public final void yyreset(java.io.Reader reader) throws java.io.IOException { // '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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = s.offset; zzLexicalState = YYINITIAL; 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. */ public TclTokenMaker(java.io.Reader in) { this.zzReader = in; } /** * Creates a new scanner. * There is also java.io.Reader version of this constructor. * * @param in the java.io.Inputstream to read input from. */ public TclTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } /** * Unpacks the compressed character translation table. * * @param packed the packed character translation table * @return the unpacked character translation table */ private static char [] zzUnpackCMap(String packed) { char [] map = new char[0x10000]; int i = 0; /* index in packed string */ int j = 0; /* index in unpacked array */ while (i < 160) { int count = packed.charAt(i++); char value = packed.charAt(i++); do map[j++] = value; while (--count > 0); } return map; } /** * Closes the input stream. */ public final void yyclose() throws java.io.IOException { zzAtEOF = true; /* indicate end of file */ zzEndRead = zzStartRead; /* invalidate buffer */ if (zzReader != null) zzReader.close(); } /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } /** * Enters a 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 yylength()-1. * * @return the character at position pos */ public final char yycharat(int pos) { return zzBuffer[zzStartRead+pos]; } /** * Returns the length of the matched text region. */ public final int yylength() { return zzMarkedPos-zzStartRead; } /** * Reports an error that occured while scanning. * * In a wellformed scanner (no or only correct usage of * yypushback(int) and a match-all fallback rule) this method * will only be called with things that "Can't Possibly Happen". * If this method is called, something is seriously wrong * (e.g. a JFlex bug producing a faulty scanner etc.). * * Usual syntax/scanner level error handling should be done * in error fallback rules. * * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; try { message = ZZ_ERROR_MSG[errorCode]; } catch (ArrayIndexOutOfBoundsException e) { message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR]; } throw new Error(message); } /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * * @param number the number of characters to be read again. * This number must not be greater than yylength()! */ public void yypushback(int number) { if ( number > yylength() ) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } /** * Resumes scanning until the next regular expression is matched, * the end of input is encountered or an I/O-Error occurs. * * @return the next token * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; int zzAction; // cached fields: int zzCurrentPosL; int zzMarkedPosL; int zzEndReadL = zzEndRead; char [] zzBufferL = zzBuffer; char [] zzCMapL = ZZ_CMAP; int [] zzTransL = ZZ_TRANS; int [] zzRowMapL = ZZ_ROWMAP; int [] zzAttrL = ZZ_ATTRIBUTE; while (true) { zzMarkedPosL = zzMarkedPos; zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; else if (zzAtEOF) { zzInput = YYEOF; break zzForAction; } else { // store back cached positions zzCurrentPos = zzCurrentPosL; zzMarkedPos = zzMarkedPosL; boolean eof = zzRefill(); // get translated positions and possibly new buffer zzCurrentPosL = zzCurrentPos; zzMarkedPosL = zzMarkedPos; zzBufferL = zzBuffer; zzEndReadL = zzEndRead; if (eof) { zzInput = YYEOF; break zzForAction; } else { zzInput = zzBufferL[zzCurrentPosL++]; } } int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ]; if (zzNext == -1) break zzForAction; zzState = zzNext; int zzAttributes = zzAttrL[zzState]; if ( (zzAttributes & 1) == 1 ) { zzAction = zzState; zzMarkedPosL = zzCurrentPosL; if ( (zzAttributes & 8) == 8 ) break zzForAction; } } } // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { case 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); } } } } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/ClojureTokenMaker.flex0000644000175000001440000003536612202240132030134 0ustar benusers/* * 12/23/2010 * * ClojureTokenMaker.java - Scanner for Clojure. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.*; /** * Scanner for the Clojure programming language.

* * This was graciously donated by the folks at the * Fiji project. * 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * 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.
  • *
  • You should NOT call yylex() on the generated scanner * directly; rather, you should use getTokenList as you would * with any other TokenMaker instance.
  • *
* * */ %% %public %class ClojureTokenMaker %extends AbstractJFlexTokenMaker %unicode %type org.fife.ui.rsyntaxtextarea.Token %{ /** * Constructor. This must be here because JFlex does not generate a * no-parameter constructor. */ public ClojureTokenMaker() { } /** * Adds the token specified to the current linked list of tokens. * * @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. */ 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. * @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. */ @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 the text to place at the beginning and end of a * line to "comment" it in a this programming language. * * @return The start and end strings to add to a line to "comment" * it out. */ @Override public String[] getLineCommentStartAndEnd() { 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. * * @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) { resetTokenList(); this.offsetShift = -text.offset + startOffset; // 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; } s = text; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); return new TokenImpl(); } } /** * Refills the input buffer. * * @return true if EOF was reached, otherwise * false. * @exception IOException if any I/O-Error occurs. */ private boolean zzRefill() throws java.io.IOException { return zzCurrentPos>=s.offset+s.count; } /** * 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 */ public final void yyreset(java.io.Reader reader) throws java.io.IOException { // '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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = s.offset; zzLexicalState = YYINITIAL; zzReader = reader; zzAtBOL = true; zzAtEOF = false; } %} LineCommentBegin = (";") Keyword = ([:][a-zA-Z?!\-+*/][a-zA-Z0-9?!\-+*/]*) NonzeroDigit = [1-9] Digit = ("0"|{NonzeroDigit}) HexDigit = ({Digit}|[A-Fa-f]) OctalDigit = ([0-7]) EscapedSourceCharacter = ("u"{HexDigit}{HexDigit}{HexDigit}{HexDigit}) Escape = ("\\"(([btnfr\"'\\])|([0123]{OctalDigit}?{OctalDigit}?)|({OctalDigit}{OctalDigit}?)|{EscapedSourceCharacter})) AnyCharacterButDoubleQuoteOrBackSlash = ([^\\\"\n]) UnclosedStringLiteral = ([\"]([\\].|[^\\\"])*[^\"]?) ErrorStringLiteral = ({UnclosedStringLiteral}[\"]) StringLiteral = ([\"]) CharLiteral = ("\\."|"\\space"|"\\tab"|"\\newline") AnyCharacter = ([.]*) Separator = ([\(\)\{\}\[\]]) NonSeparator = ([^\t\f\r\n\ \(\)\{\}\[\]\;\,\.\=\>\<\!\~\?\:\+\-\*\/\&\|\^\%\"\']) BooleanLiteral =("true"|"false") LineTerminator = (\n) WhiteSpace = ([ \t\f]) IntegerHelper1 = (({NonzeroDigit}{Digit}*)|"0") IntegerHelper2 = ("0"(([xX]{HexDigit}+)|({OctalDigit}*))) IntegerLiteral = ({IntegerHelper1}[lL]?) HexLiteral = ({IntegerHelper2}[lL]?) FloatHelper1 = ([fFdD]?) FloatHelper2 = ([eE][+-]?{Digit}+{FloatHelper1}) FloatLiteral1 = ({Digit}+"."({FloatHelper1}|{FloatHelper2}|{Digit}+({FloatHelper1}|{FloatHelper2}))) FloatLiteral2 = ("."{Digit}+({FloatHelper1}|{FloatHelper2})) FloatLiteral3 = ({Digit}+{FloatHelper2}) FloatLiteral = ({FloatLiteral1}|{FloatLiteral2}|{FloatLiteral3}|({Digit}+[fFdD])) ErrorNumberFormat = (({IntegerLiteral}|{HexLiteral}|{FloatLiteral}){NonSeparator}+) Nil = ("nil") Quote = (\('\|`\)) Unquote = (\(\~@\|\~\)) DispatchStart = ("#^"|"#^{") Dispatch = ({DispatchStart}[^\s\t\n;\"}]*([ \t\n;\"]|"}")) VarQuote = ("#'"[.]*[ \t\n;(\"]) DefName = ([a-zA-Z0-9?!\-+*\./<>_]*) NonAssignmentOperator = ("+"|"-"|"<="|"^"|"<"|"*"|">="|"%"|">"|"/"|"!="|"?"|">>"|"!"|"&"|"=="|":"|">>"|"~"|">>>") AssignmentOperator = ("=") Operator = ({NonAssignmentOperator}|{AssignmentOperator}) Letter = [A-Za-z] LetterOrUnderscore = ({Letter}|[_]) Digit = [0-9] URLGenDelim = ([:\/\?#\[\]@]) URLSubDelim = ([\!\$&'\(\)\*\+,;=]) URLUnreserved = ({LetterOrUnderscore}|{Digit}|[\-\.\~]) URLCharacter = ({URLGenDelim}|{URLSubDelim}|{URLUnreserved}|[%]) URLCharacters = ({URLCharacter}*) URLEndCharacter = ([\/\$]|{Letter}|{Digit}) URL = (((https?|f(tp|ile))"://"|"www.")({URLCharacters}{URLEndCharacter})?) %state STRING %state EOL_COMMENT %% { "case" | "class" | "cond" | "condp" | "def" | "defmacro" | "defn" | "do" | "fn" | "for" | "if" | "if-let" | "if-not" | "instance?" | "let" | "loop" | "monitor-enter" | "monitor-exit" | "new" | "quote" | "recur" | "set!" | "this" | "throw" | "try-finally" | "var" | "when" | "when-first" | "when-let" | "when-not" { addToken(Token.RESERVED_WORD); } "*warn-on-reflection*" | "*1" | "*2" | "*3" | "*agent*" | "*allow-unresolved-args*" | "*assert*" | "*clojure-version*" | "*command-line-args*" | "*compile-files*" | "*compile-path*" | "*e" | "*err*" | "*file*" | "*flush-on-newline*" | "*fn-loader*" | "*in*" | "*math-context*" | "*ns*" | "*out*" | "*print-dup*" | "*print-length*" | "*print-level*" | "*print-meta*" | "*print-readably*" | "*read-eval*" | "*source-path*" | "*unchecked-math*" | "*use-context-classloader*" { addToken(Token.VARIABLE); } "*current-namespace*" | "*in*" | "*out*" | "*print-meta*" "->" | ".." | "agent" | "agent-errors" | "agent-of" | "aget" | "alter" | "and" | "any" | "appl" | "apply" | "array" | "aset" | "aset-boolean" | "aset-byte" | "aset-double" | "aset-float" | "aset-int" | "aset-long" | "aset-short" | "assoc" | "binding" | "boolean" | "byte" | "char" | "clear-agent-errors" | "commute" | "comp" | "complement" | "concat" | "conj" | "cons" | "constantly" | "count" | "cycle" | "dec" | "defmethod" | "defmulti" | "delay" | "deref" | "dissoc" | "doseq" | "dotimes" | "doto" | "double" | "drop" | "drop-while" | "ensure" | "eql-ref?" | "eql?" | "eval" | "every" | "ffirst" | "filter" | "find" | "find-var" | "first" | "float" | "fnseq" | "frest" | "gensym" | "get" | "hash-map" | "identity" | "implement" | "import" | "in-namespace" | "inc" | "int" | "into" | "into-array" | "iterate" | "key" | "keys" | "lazy-cons" | "list" | "list*" | "load-file" | "locking" | "long" | "make-array" | "make-proxy" | "map" | "mapcat" | "max" | "memfn" | "merge" | "meta" | "min" | "name" | "namespace" | "neg?" | "newline" | "nil?" | "not" | "not-any" | "not-every" | "nth" | "or" | "peek" | "pmap" | "pop" | "pos?" | "print" | "prn" | "quot" | "range" | "read" | "reduce" | "ref" | "refer" | "rem" | "remove-method" | "repeat" | "replicate" | "rest" | "reverse" | "rfirst" | "rrest" | "rseq" | "second" | "seq" | "set" | "short" | "sorted-map" | "sorted-map-by" | "split-at" | "split-with" | "str" | "strcat" | "sym" | "sync" | "take" | "take-while" | "time" | "unimport" | "unintern" | "unrefer" | "val" | "vals" | "vector" | "with-meta" | "zero?" | "zipmap" { addToken(Token.FUNCTION); } {LineTerminator} { addNullToken(); return firstToken; } {WhiteSpace}+ { addToken(Token.WHITESPACE); } {CharLiteral} { addToken(Token.LITERAL_CHAR); } {StringLiteral} { start = zzMarkedPos-1; yybegin(STRING); } //{UnclosedStringLiteral} { addToken(Token.ERROR_STRING_DOUBLE); addNullToken(); return firstToken; } //{ErrorStringLiteral} { addToken(Token.ERROR_STRING_DOUBLE); } {Nil} { addToken(Token.DATA_TYPE); } {BooleanLiteral} { addToken(Token.LITERAL_BOOLEAN); } {Quote} { addToken(Token.SEPARATOR); } {Unquote} { addToken(Token.SEPARATOR); } {VarQuote} { addToken(Token.SEPARATOR); } {Dispatch} { addToken(Token.DATA_TYPE); } {LineCommentBegin} { start = zzMarkedPos-1; yybegin(EOL_COMMENT); } {Separator} { addToken(Token.SEPARATOR); } {Operator} { addToken(Token.OPERATOR); } {IntegerLiteral} { addToken(Token.LITERAL_NUMBER_DECIMAL_INT); } {HexLiteral} { addToken(Token.LITERAL_NUMBER_HEXADECIMAL); } {FloatLiteral} { addToken(Token.LITERAL_NUMBER_FLOAT); } {ErrorNumberFormat} { addToken(Token.ERROR_NUMBER_FORMAT); } {Keyword} { addToken(Token.PREPROCESSOR); } {DefName} { addToken(Token.IDENTIFIER); } <> { addNullToken(); return firstToken; } . { addToken(Token.ERROR_IDENTIFIER); } } { [^\n\"]+ {} \n { addToken(start,zzStartRead-1, Token.LITERAL_STRING_DOUBLE_QUOTE); return firstToken; } "\"\"" {} "\"" { yybegin(YYINITIAL); addToken(start,zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); } <> { addToken(start,zzStartRead-1, Token.LITERAL_STRING_DOUBLE_QUOTE); return firstToken; } } { [^hwf\n]+ {} {URL} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_EOL); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_EOL); start = zzMarkedPos; } [hwf] {} \n { addToken(start,zzStartRead-1, Token.COMMENT_EOL); addNullToken(); return firstToken; } <> { addToken(start,zzStartRead-1, Token.COMMENT_EOL); addNullToken(); return firstToken; } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/ClojureTokenMaker.java0000644000175000001440000026473212202240226030124 0ustar benusers/* The following code was generated by JFlex 1.4.1 on 8/12/13 10:07 PM */ /* * 12/23/2010 * * ClojureTokenMaker.java - Scanner for Clojure. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.*; /** * Scanner for the Clojure programming language.

* * This was graciously donated by the folks at the * Fiji project. * 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * 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.
  • *
  • You should NOT call yylex() on the generated scanner * 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 */ public static final int EOL_COMMENT = 2; public static final int STRING = 1; public static final int YYINITIAL = 0; /** * Translates characters to character classes */ 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\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 */ private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED); /** * Translates DFA states to action switch labels. */ private static final int [] ZZ_ACTION = zzUnpackAction(); private static final String ZZ_ACTION_PACKED_0 = "\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\10\1\4\1\2\4\4\11\1\1\12\1\13\1\14"+ "\2\12\1\15\2\12\1\16\2\17\1\20\1\17\2\21"+ "\1\17\1\5\1\17\1\1\1\22\3\0\6\1\1\23"+ "\3\1\1\24\52\1\1\23\4\1\4\0\1\4\3\1"+ "\1\25\4\1\1\25\11\1\1\23\13\1\1\12\4\0"+ "\1\20\1\21\1\1\1\20\2\1\3\0\4\1\1\24"+ "\5\1\1\24\4\1\1\23\2\1\2\24\40\1\1\23"+ "\1\26\1\24\13\1\1\24\3\1\2\0\2\26\26\1"+ "\1\23\10\1\1\24\4\1\4\0\3\1\2\0\4\1"+ "\1\24\4\1\2\24\2\1\1\24\1\23\1\24\3\1"+ "\1\27\1\1\1\24\3\1\1\24\3\1\1\23\1\1"+ "\1\24\5\1\1\24\3\1\2\0\26\1\1\24\2\1"+ "\1\0\1\30\1\0\1\1\2\0\7\1\1\24\52\1"+ "\2\0\1\1\1\0\176\1\1\24\50\1\1\25\44\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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } return j; } /** * 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\110\0\220\0\330\0\330\0\u0120\0\u0168\0\u01b0"+ "\0\u01f8\0\u0240\0\u0288\0\u02d0\0\u0318\0\330\0\330\0\u0360"+ "\0\u03a8\0\u03f0\0\u0438\0\u0480\0\u04c8\0\u0510\0\u0558\0\u05a0"+ "\0\u05e8\0\u0630\0\u0678\0\330\0\u0168\0\u06c0\0\u0708\0\330"+ "\0\u0750\0\u0798\0\u07e0\0\u0828\0\u0870\0\u08b8\0\u0900\0\u0948"+ "\0\u0990\0\u09d8\0\u0a20\0\u0a68\0\u0ab0\0\u0af8\0\u0b40\0\330"+ "\0\u0b88\0\u0bd0\0\u0c18\0\330\0\u0c60\0\u0ca8\0\u0cf0\0\u0d38"+ "\0\u0d80\0\u0dc8\0\u0e10\0\u0d80\0\u0e58\0\u0ea0\0\u0d80\0\u0ee8"+ "\0\u0f30\0\330\0\u0f78\0\u0fc0\0\u1008\0\u1050\0\u1098\0\u10e0"+ "\0\u1128\0\u1170\0\u11b8\0\u1200\0\u1248\0\u1290\0\u12d8\0\u0168"+ "\0\u1320\0\u1368\0\u13b0\0\u13f8\0\u1440\0\u1488\0\u14d0\0\u1518"+ "\0\u1560\0\u15a8\0\u15f0\0\u1638\0\u1680\0\u16c8\0\u1710\0\u1758"+ "\0\u17a0\0\u17e8\0\u1830\0\u1878\0\u18c0\0\u1908\0\u1950\0\u1998"+ "\0\u19e0\0\u1a28\0\u1a70\0\u1ab8\0\u1b00\0\u1b48\0\u1b90\0\u1bd8"+ "\0\u1c20\0\u1c68\0\u1cb0\0\u1cf8\0\u1d40\0\u1d88\0\u1dd0\0\u1e18"+ "\0\u1e60\0\u1ea8\0\u1ef0\0\u1f38\0\u1f80\0\u1fc8\0\u2010\0\u2058"+ "\0\u20a0\0\u20e8\0\u2130\0\u2178\0\u21c0\0\u2208\0\u2250\0\u0168"+ "\0\u2298\0\u22e0\0\u2328\0\u2370\0\u23b8\0\u2400\0\u2448\0\u2490"+ "\0\u24d8\0\u2520\0\u2568\0\u25b0\0\u25f8\0\u2640\0\u2688\0\u26d0"+ "\0\u2718\0\u2760\0\u27a8\0\u27f0\0\u2838\0\u2880\0\u28c8\0\u2910"+ "\0\u2958\0\u29a0\0\330\0\u29e8\0\u2a30\0\u2a78\0\u2ac0\0\u0d80"+ "\0\u2b08\0\u2b50\0\u2b98\0\u2be0\0\u2c28\0\u2c70\0\u2cb8\0\u2d00"+ "\0\u2d48\0\u2d90\0\u2dd8\0\u2e20\0\u2e68\0\u2eb0\0\u2ef8\0\u2f40"+ "\0\u2f88\0\u2fd0\0\u3018\0\u3060\0\u30a8\0\u30f0\0\u3138\0\u0168"+ "\0\u3180\0\u31c8\0\u3210\0\u3258\0\u32a0\0\u32e8\0\u3330\0\u3378"+ "\0\u33c0\0\u3408\0\u3450\0\u3498\0\u34e0\0\u3528\0\u3570\0\u2e68"+ "\0\u35b8\0\u3600\0\u3648\0\u3690\0\u36d8\0\u3720\0\u3768\0\u37b0"+ "\0\u37f8\0\u3840\0\u3888\0\u38d0\0\u3918\0\u3960\0\u39a8\0\u39f0"+ "\0\u3a38\0\u3a80\0\u3ac8\0\u3b10\0\u3b58\0\u3408\0\u3ba0\0\u3be8"+ "\0\u3c30\0\u3c78\0\u3cc0\0\u3d08\0\u3d50\0\u3d98\0\u3de0\0\u3e28"+ "\0\u3e70\0\u3eb8\0\u3f00\0\u3f48\0\u3f90\0\u3fd8\0\u4020\0\u4068"+ "\0\330\0\u2130\0\u40b0\0\u40f8\0\u4140\0\u4188\0\u41d0\0\u4218"+ "\0\u4260\0\u42a8\0\u42f0\0\u4338\0\u4380\0\u43c8\0\u4410\0\u4458"+ "\0\u44a0\0\u44e8\0\u4530\0\u4578\0\u45c0\0\u4608\0\u4650\0\u4698"+ "\0\u46e0\0\u4728\0\u4770\0\u47b8\0\u4800\0\u4848\0\u4890\0\u48d8"+ "\0\u4920\0\u4968\0\u49b0\0\u49f8\0\u4a40\0\u4a88\0\u4ad0\0\u4b18"+ "\0\u4b60\0\u4ba8\0\u4bf0\0\u4c38\0\u4c80\0\u4cc8\0\u4d10\0\u4d58"+ "\0\u4da0\0\u4de8\0\u4e30\0\u4e78\0\u4ec0\0\u4f08\0\u4f50\0\u4f98"+ "\0\u4fe0\0\u4f98\0\u5028\0\u5070\0\u50b8\0\u3de0\0\u5100\0\u5148"+ "\0\u5190\0\u51d8\0\u0168\0\u5220\0\u5268\0\u52b0\0\u52f8\0\u5340"+ "\0\u5388\0\u53d0\0\u5418\0\u5460\0\u54a8\0\u54f0\0\u5538\0\u5580"+ "\0\u55c8\0\u5610\0\u5658\0\u56a0\0\u56e8\0\u5730\0\u5778\0\u57c0"+ "\0\u5808\0\u5850\0\u5898\0\u58e0\0\u5928\0\u5970\0\u59b8\0\u5a00"+ "\0\u5a48\0\u5a90\0\u5ad8\0\u5b20\0\u5b68\0\u5bb0\0\u5bf8\0\u5c40"+ "\0\u5c88\0\u5cd0\0\u5d18\0\u5d60\0\u5da8\0\u5df0\0\u5e38\0\u5e80"+ "\0\u3600\0\u5ec8\0\u5f10\0\u5f58\0\u5fa0\0\u5fe8\0\u6030\0\u6078"+ "\0\u60c0\0\u6108\0\u6150\0\u6198\0\u61e0\0\u6228\0\u6270\0\u62b8"+ "\0\u6300\0\u6348\0\u6390\0\u63d8\0\u6420\0\u6468\0\u64b0\0\u64f8"+ "\0\u6540\0\u6588\0\u65d0\0\u6618\0\u6660\0\u66a8\0\u66f0\0\u6738"+ "\0\u6780\0\u67c8\0\u6810\0\u6858\0\u68a0\0\u68e8\0\u6930\0\u6978"+ "\0\u69c0\0\u6a08\0\u6a50\0\u6a98\0\u6ae0\0\u6b28\0\u6b70\0\u6bb8"+ "\0\u6c00\0\u6c48\0\u6c90\0\u6cd8\0\u6d20\0\u6d68\0\u6db0\0\u6df8"+ "\0\u6e40\0\u6e88\0\u6ed0\0\u6f18\0\u5fa0\0\u6f60\0\u6fa8\0\u6ff0"+ "\0\u7038\0\u7080\0\u70c8\0\u7110\0\u7158\0\u71a0\0\u71e8\0\u7230"+ "\0\u7278\0\u72c0\0\u7308\0\u7350\0\u7398\0\u73e0\0\u7428\0\u7470"+ "\0\u74b8\0\u7500\0\u7548\0\u7590\0\u75d8\0\u7620\0\u7668\0\u76b0"+ "\0\u76f8\0\u7740\0\u7788\0\u77d0\0\u7818\0\u7860\0\u78a8\0\u78f0"+ "\0\u7938\0\u7980\0\u79c8\0\u7a10\0\u7a58\0\u7aa0\0\u7ae8\0\u7b30"+ "\0\u7b78\0\u4968\0\u7bc0\0\u7c08\0\u7c50\0\u7c98\0\u7ce0\0\u7d28"+ "\0\u7d70\0\u7db8\0\u7e00\0\u7e48\0\u7e90\0\u7ed8\0\u7f20\0\u7f68"+ "\0\u5388\0\u7fb0\0\u7ff8\0\u8040\0\u8088\0\u80d0\0\u8118\0\u8160"+ "\0\u81a8\0\u81f0\0\u8238\0\u8280\0\u82c8\0\u8310\0\u8358\0\u83a0"+ "\0\u83e8\0\u8430\0\u8478\0\u84c0\0\u8508\0\u8550\0\u8598\0\u85e0"+ "\0\u8628\0\u8670\0\u86b8\0\u8700\0\u8748\0\u8790\0\u87d8\0\u8820"+ "\0\u8868\0\u88b0\0\u88f8\0\u8940\0\u8988\0\u89d0\0\u8a18\0\u8a60"+ "\0\u8aa8\0\u8af0\0\u8b38\0\u8b80\0\u8bc8\0\u8c10\0\u8c58\0\u8ca0"+ "\0\u8ce8\0\u8d30\0\u8d78\0\u8dc0\0\u8e08\0\u8e50\0\u8e98\0\u8ee0"+ "\0\u8f28\0\u8f70\0\u8fb8\0\u9000\0\u9048\0\u9090\0\u90d8\0\u9120"+ "\0\u9168\0\u91b0\0\u91f8\0\u9240\0\u9288\0\u92d0\0\u9318\0\u9360"+ "\0\u93a8\0\u93f0\0\u9438\0\u9480\0\u94c8\0\u9510\0\u9558\0\u95a0"+ "\0\u95e8\0\u9630\0\u9678\0\u96c0\0\u9708\0\u9750\0\u9798\0\u97e0"+ "\0\u9828\0\u9870\0\u98b8\0\u9900\0\u9948\0\u9990\0\u99d8\0\u9a20"+ "\0\u9a68\0\u9ab0\0\u9af8\0\u9b40\0\u9b88\0\u9bd0\0\u9c18\0\u9c60"+ "\0\u9ca8\0\u9cf0\0\u9d38\0\u9d80\0\u9dc8\0\u9e10\0\u9e58\0\u9ea0"+ "\0\u9ee8\0\u9f30\0\u9f78\0\u9fc0\0\ua008\0\ua050\0\ua098\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\ua830\0\u5538"; 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 */ int l = packed.length(); while (i < l) { int high = packed.charAt(i++) << 16; result[j++] = high | packed.charAt(i++); } 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\35\1\37\2\4\1\34\1\40\1\4\1\41"+ "\1\40\2\34\2\36\1\7\1\42\1\35\1\43\1\44"+ "\1\45\1\40\1\35\1\43\2\4\1\46\1\47\1\50"+ "\1\51\1\7\1\52\1\7\1\53\1\54\1\7\1\55"+ "\1\56\16\57\1\60\1\61\70\57\14\62\1\63\1\62"+ "\1\64\12\62\1\65\42\62\1\66\13\62\113\0\1\67"+ "\2\0\1\67\1\0\1\67\2\0\2\67\4\0\13\67"+ "\2\0\1\67\1\0\5\67\16\0\1\67\2\0\1\67"+ "\1\0\2\67\2\0\14\67\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\70\2\0"+ "\1\71\1\72\1\73\1\71\1\72\1\71\1\70\1\0"+ "\1\71\1\74\1\72\2\0\1\75\4\71\1\76\4\71"+ "\1\77\1\71\2\0\1\7\1\0\1\100\1\77\1\74"+ "\1\76\1\7\2\0\1\70\2\0\2\70\5\0\1\71"+ "\3\7\1\0\1\7\1\0\2\7\1\70\1\0\2\71"+ "\1\74\1\71\1\100\7\71\1\70\2\0\1\71\2\11"+ "\1\71\1\11\1\71\1\70\1\0\1\71\1\74\1\11"+ "\2\0\1\75\4\71\1\76\4\71\1\77\1\71\2\0"+ "\1\7\1\0\1\71\1\77\1\74\1\76\1\7\2\0"+ "\1\70\2\0\2\70\5\0\1\71\3\7\1\0\1\7"+ "\1\0\2\7\1\70\1\0\2\71\1\74\11\71\3\0"+ "\6\7\2\0\3\7\2\0\10\7\1\101\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\102\1\103\4\0\1\104"+ "\1\0\1\105\62\0\6\7\2\0\1\106\1\107\1\7"+ "\2\0\1\7\1\110\1\7\1\111\1\7\1\112\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\106"+ "\1\107\1\7\2\0\3\7\1\113\4\7\1\114\1\7"+ "\1\115\1\116\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\117\12\7"+ "\3\0\1\7\2\75\1\7\1\75\1\7\2\0\2\7"+ "\1\75\2\0\1\120\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\121\2\7"+ "\1\122\1\123\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\124\1\125"+ "\4\7\1\126\5\7\3\0\6\7\2\0\1\127\2\7"+ "\2\0\5\7\1\130\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\131\1\7\1\132\10\7\3\0\6\7\2\0\1\133"+ "\2\7\2\0\1\7\1\134\1\135\5\7\1\136\1\7"+ "\1\137\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\140\3\7"+ "\3\0\6\7\2\0\3\7\2\0\3\7\1\141\6\7"+ "\1\142\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\143\1\144\4\7"+ "\1\145\5\7\3\0\6\7\2\0\3\7\2\0\10\7"+ "\1\146\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\147\1\7"+ "\1\150\4\7\3\0\6\7\2\0\1\151\2\7\2\0"+ "\3\7\1\152\7\7\1\153\2\0\1\7\1\0\5\7"+ "\14\0\4\7\1\0\1\7\1\0\2\7\2\0\1\154"+ "\13\7\3\0\6\7\2\0\3\7\2\0\13\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\7\1\156\4\7\1\157\5\7"+ "\3\0\6\7\2\0\3\7\2\0\3\7\1\160\1\7"+ "\1\161\1\162\4\7\1\163\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\164\12\7\3\0\6\7\2\0\3\7\2\0\13\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\166\13\7\3\0\6\7"+ "\2\0\3\7\2\0\3\7\1\167\1\7\1\170\5\7"+ "\1\171\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\1\7\1\173\1\7\2\0\6\7\1\174"+ "\1\7\1\175\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\176"+ "\1\177\10\7\37\0\1\36\17\0\2\36\41\0\1\200"+ "\36\0\1\201\50\0\1\202\41\0\1\203\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\204\2\7\1\40\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\40\1\7"+ "\1\0\2\7\2\0\14\7\65\0\1\40\25\0\5\7"+ "\1\205\2\0\1\206\1\207\1\210\2\0\1\7\1\211"+ "\1\212\1\213\1\214\1\215\2\7\1\216\1\217\1\7"+ "\1\220\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\221\1\7\1\222"+ "\10\7\3\0\6\7\2\0\3\7\2\0\3\7\1\223"+ "\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\120\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\224\2\7\2\0\5\7\1\225"+ "\5\7\1\226\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\227\12\7"+ "\3\0\6\7\2\0\3\7\2\0\3\7\1\230\1\7"+ "\1\231\5\7\1\232\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\233"+ "\12\7\3\0\5\7\1\234\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\235\1\7\1\236\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\237\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\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\5\7\1\242\2\0\1\7\1\0\5\7\14\0"+ "\4\7\1\0\1\7\1\0\2\7\2\0\14\7\16\57"+ "\2\0\70\57\17\0\1\243\70\0\14\62\1\0\1\62"+ "\1\0\12\62\1\0\42\62\1\0\13\62\26\0\1\244"+ "\4\0\1\245\105\0\1\246\104\0\1\247\64\0\6\67"+ "\2\0\3\67\3\0\13\67\2\0\1\67\1\0\5\67"+ "\16\0\1\67\2\0\1\67\1\0\2\67\2\0\14\67"+ "\1\70\2\0\7\70\1\0\3\70\3\0\13\70\4\0"+ "\4\70\3\0\1\70\2\0\2\70\5\0\1\70\10\0"+ "\1\70\1\0\15\70\2\0\6\71\1\70\1\0\3\71"+ "\2\0\1\7\13\71\2\0\1\7\1\0\4\71\1\7"+ "\2\0\1\70\2\0\2\70\5\0\1\71\3\7\1\0"+ "\1\7\1\0\2\7\1\70\1\0\14\71\1\70\2\0"+ "\1\71\1\72\1\73\1\71\1\72\1\71\1\70\1\0"+ "\1\71\1\74\1\72\2\0\1\75\4\71\1\76\4\71"+ "\1\250\1\71\2\0\1\7\1\0\1\71\1\250\1\74"+ "\1\76\1\7\2\0\1\70\2\0\2\70\5\0\1\71"+ "\3\7\1\0\1\7\1\0\2\7\1\70\1\0\2\71"+ "\1\74\11\71\1\70\2\0\1\71\2\73\1\71\1\73"+ "\1\71\1\70\1\0\1\71\1\74\1\73\2\0\1\75"+ "\4\71\1\76\6\71\2\0\1\7\1\0\2\71\1\74"+ "\1\76\1\7\2\0\1\70\2\0\2\70\5\0\1\71"+ "\3\7\1\0\1\7\1\0\2\7\1\70\1\0\2\71"+ "\1\74\11\71\1\70\2\0\1\71\2\75\1\71\1\75"+ "\1\71\1\70\1\0\1\71\1\74\1\75\2\0\1\7"+ "\4\71\1\76\6\71\2\0\1\7\1\0\2\71\1\74"+ "\1\76\1\7\2\0\1\70\2\0\2\70\5\0\1\71"+ "\3\7\1\0\1\7\1\0\2\7\1\70\1\0\2\71"+ "\1\74\11\71\1\70\2\0\1\71\2\251\1\71\1\251"+ "\1\71\1\70\1\0\2\71\1\251\2\0\1\7\13\71"+ "\2\0\1\7\1\0\4\71\1\252\2\0\1\70\2\0"+ "\2\70\5\0\1\71\1\7\1\252\1\7\1\0\1\7"+ "\1\0\2\7\1\70\1\0\14\71\1\70\2\0\1\71"+ "\4\253\1\71\1\70\1\0\1\71\2\253\2\0\1\7"+ "\2\71\3\253\1\71\1\253\4\71\2\0\1\7\1\0"+ "\2\71\2\253\1\7\2\0\1\70\2\0\2\70\5\0"+ "\1\71\3\7\1\0\1\7\1\0\2\7\1\70\1\0"+ "\2\71\1\253\11\71\3\0\6\7\2\0\1\254\2\7"+ "\2\0\13\7\1\255\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\256\110\0\1\257\111\0\1\260\65\0\6\7\2\0"+ "\3\7\2\0\5\7\1\261\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\262"+ "\2\0\1\7\1\0\5\7\14\0\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\263\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\264\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\265\1\7\2\0\1\7\1\266\1\267\1\270\1\271"+ "\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\272\1\273\3\7"+ "\1\274\4\7\3\0\6\7\2\0\3\7\2\0\12\7"+ "\1\275\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\110\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\276\12\7\3\0\6\7"+ "\2\0\1\261\2\7\2\0\10\7\1\277\1\7\1\137"+ "\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\300\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\301\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\302\1\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\5\7\1\120\6\7\3\0\6\7\2\0\1\304"+ "\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\305\12\7\3\0\6\7\2\0\1\306\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\307\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\120\10\7\3\0\6\7\2\0\3\7"+ "\2\0\10\7\1\120\2\7\1\310\2\0\1\7\1\0"+ "\5\7\14\0\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\311"+ "\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\312\1\120\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\313\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\314\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\315"+ "\3\7\1\316\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\317\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\120\3\7\1\120"+ "\5\7\3\0\6\7\2\0\3\7\2\0\6\7\1\320"+ "\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\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\1\7\1\322"+ "\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\323\1\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"+ "\3\7\1\47\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\310\2\0\3\7\2\0\10\7\1\325\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\326\10\7\3\0\6\7"+ "\2\0\3\7\2\0\4\7\1\327\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\330\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\331\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\332\1\7\1\333\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\334\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\335\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\336"+ "\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\337\10\7\3\0\6\7\2\0"+ "\1\340\2\7\2\0\13\7\1\341\2\0\1\7\1\0"+ "\5\7\14\0\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\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\343"+ "\12\7\3\0\6\7\2\0\3\7\2\0\6\7\1\337"+ "\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\344"+ "\10\7\3\0\6\7\2\0\3\7\2\0\11\7\1\345"+ "\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\312\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\120\13\7\3\0\6\7\2\0\3\7\2\0\12\7"+ "\1\346\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\347\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\350\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\351\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\352\3\0\6\7\2\0"+ "\3\7\2\0\6\7\1\300\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\353"+ "\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\354\1\355\3\7\1\356\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\357\12\7\3\0\6\7"+ "\2\0\3\7\2\0\14\7\2\0\1\7\1\0\4\7"+ "\1\360\14\0\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\361"+ "\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\362\2\7\1\120\1\7\1\363"+ "\5\7\2\0\1\7\1\0\4\7\1\364\14\0\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\365\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\366\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\367"+ "\113\0\1\370\36\0\1\34\14\0\2\34\1\202\24\0"+ "\1\34\11\0\2\34\27\0\1\203\1\371\14\203\2\371"+ "\1\203\1\0\34\203\2\371\1\372\27\203\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\373\6\7\1\374\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\375\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\376\1\7\1\377\1\u0100\2\0\1\7"+ "\1\0\5\7\14\0\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\u0101\12\7\3\0\6\7"+ "\2\0\1\u0102\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\u0103"+ "\10\7\1\u0104\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\u0105"+ "\3\7\3\0\5\7\1\u0106\2\0\3\7\2\0\12\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\1\7\1\u0108\12\7"+ "\3\0\6\7\2\0\1\u0109\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\u010a\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\u010b\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\u010a\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\u010c\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\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\1\7\1\u010e\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\u010f\12\7\3\0\6\7"+ "\2\0\1\u0110\1\u0111\1\7\2\0\4\7\1\120\5\7"+ "\1\314\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\u0112\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\u0113\2\0\3\7\2\0"+ "\1\7\1\110\4\7\1\u0114\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\304"+ "\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\120\5\7\1\u0115"+ "\1\7\3\0\6\7\2\0\1\264\2\7\2\0\6\7"+ "\1\u0116\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\u0117\10\7"+ "\3\0\6\7\2\0\3\7\2\0\10\7\1\120\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\u0118\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\u0119\12\7\3\0\6\7\2\0\1\300"+ "\2\7\2\0\12\7\1\u011a\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\u011b"+ "\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\120\1\7\1\u011c\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\u011a\5\7\3\0"+ "\6\7\2\0\1\u011d\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\u011e\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\u011f"+ "\117\0\1\u0120\106\0\1\u0121\104\0\1\u0122\61\0\1\70"+ "\2\0\1\71\2\251\1\71\1\251\1\71\1\70\1\0"+ "\1\71\1\74\1\251\2\0\1\7\13\71\2\0\1\7"+ "\1\0\2\71\1\74\1\71\1\7\2\0\1\70\2\0"+ "\2\70\5\0\1\71\3\7\1\0\1\7\1\0\2\7"+ "\1\70\1\0\2\71\1\74\11\71\3\0\1\7\2\251"+ "\1\7\1\251\1\7\2\0\2\7\1\251\2\0\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\70\2\0\1\71\4\253"+ "\1\71\1\70\1\0\1\71\2\253\2\0\1\7\2\71"+ "\3\253\1\71\1\253\2\71\1\250\1\71\2\0\1\7"+ "\1\0\1\71\1\250\2\253\1\7\2\0\1\70\2\0"+ "\2\70\5\0\1\71\3\7\1\0\1\7\1\0\2\7"+ "\1\70\1\0\2\71\1\253\11\71\3\0\6\7\2\0"+ "\3\7\2\0\5\7\1\u0123\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\u0124"+ "\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\u0125\10\7\23\0"+ "\1\u0126\113\0\1\102\111\0\1\u0127\61\0\6\7\2\0"+ "\3\7\2\0\1\7\1\266\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\261\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\120\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\337\3\7\3\0\6\7\2\0\3\7"+ "\2\0\5\7\1\47\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\120\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\276\4\7\1\u0128\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\120\11\7\3\0\5\7"+ "\1\117\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\u0129\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\u012a\12\7"+ "\3\0\6\7\2\0\3\7\2\0\5\7\1\u012b\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\334\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\266\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\u012c\11\7"+ "\3\0\6\7\2\0\3\7\2\0\13\7\1\u012d\2\0"+ "\1\7\1\0\5\7\14\0\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\u012e\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\300"+ "\2\0\14\7\3\0\6\7\2\0\3\7\2\0\4\7"+ "\1\276\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\266\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\u012f"+ "\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\120\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\266"+ "\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\120"+ "\1\7\3\0\6\7\2\0\3\7\2\0\14\7\2\0"+ "\1\120\1\0\5\7\14\0\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\120\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\u0130\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\307\12\7\3\0"+ "\6\7\2\0\3\7\2\0\6\7\1\u0131\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\u0132\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\120\1\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\5\7\1\300\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\341"+ "\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\u0134\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\u0135"+ "\2\7\1\276\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\u0136"+ "\6\7\1\120\2\7\3\0\6\7\2\0\3\7\2\0"+ "\2\7\1\u0137\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\u0138"+ "\10\7\3\0\6\7\2\0\3\7\2\0\12\7\1\337"+ "\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\u0139"+ "\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\120"+ "\1\0\4\7\1\u013a\14\0\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\120\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\u0130\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\u013b\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\u013c\14\0\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\u013d"+ "\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\120\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\u013e\12\7\3\0\6\7\2\0"+ "\3\7\2\0\1\7\1\300\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\u013f\11\7\3\0\6\7\2\0"+ "\3\7\2\0\12\7\1\u0140\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\u0141"+ "\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\u0142\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\u0143\14\0\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\u0144\13\7\3\0"+ "\6\7\2\0\3\7\2\0\10\7\1\u0145\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\u0146\5\7\3\0"+ "\6\7\2\0\3\7\2\0\6\7\1\u0147\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\u0148\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\u013f\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\120\3\7\3\0"+ "\6\7\2\0\3\7\2\0\2\7\1\300\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\u0149\1\7\1\u014a\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\u014b\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\u014c\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\u014d\12\7\3\0\6\7\2\0\3\7"+ "\2\0\10\7\1\u014e\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\u014f\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\u0150\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\305\12\7\47\0\1\u0151\106\0\1\u0152\44\0\6\7"+ "\2\0\3\7\2\0\5\7\1\u0153\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\u0154\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\u0155\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\u0156\14\0\4\7\1\0"+ "\1\7\1\0\2\7\2\0\14\7\3\0\5\7\1\u0157"+ "\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\u0158\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\u0159\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\u015a\2\0\1\7"+ "\1\0\5\7\14\0\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\u015b\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\u015c\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\u015d\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\u015e\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\u015f\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\u0160"+ "\10\7\3\0\6\7\2\0\1\u010a\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\210\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\6\7\1\u010a"+ "\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\u0162\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\u0163\13\7\3\0\6\7\2\0\3\7"+ "\2\0\2\7\1\u013d\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\u0164\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\300\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\u0165\10\7\3\0\6\7\2\0\3\7\2\0\1\7"+ "\1\315\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\327\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\u0166\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\120\12\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"+ "\3\7\1\120\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\232\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\u0168\2\0\1\7\1\0\5\7\14\0\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\u0169\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\120\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\u016a\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\u016b\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\312\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\132\10\7\2\0\1\u016c"+ "\132\0\1\u011f\102\0\1\u016d\111\0\1\u016e\70\0\6\7"+ "\2\0\1\7\1\320\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\u016f\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\124\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\u0170\115\0\1\u0171\60\0\6\7"+ "\2\0\3\7\2\0\13\7\1\u0172\2\0\1\7\1\0"+ "\5\7\14\0\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\337"+ "\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\u0173"+ "\4\7\3\0\6\7\2\0\1\u0174\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\u0175\14\0"+ "\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\u0176\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\270\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\u0177\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\120\5\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\1\u017a\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\u017b"+ "\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\u0150\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\157\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\337"+ "\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\u017c\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\u017d\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\u017e\14\0\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\300"+ "\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\u017f\2\0\1\7\1\0\5\7"+ "\14\0\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\u0180\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\u0181\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\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"+ "\3\7\1\u0183\1\7\1\u0184\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\u0185\14\0\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\u0186\14\0"+ "\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\u0187\14\0\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\120"+ "\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"+ "\5\7\14\0\4\7\1\0\1\7\1\0\2\7\2\0"+ "\1\7\1\170\12\7\3\0\6\7\2\0\3\7\2\0"+ "\5\7\1\170\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\157\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\u0189\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\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\3\7"+ "\1\u018b\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\u018c\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\u018d\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\u0151\41\0\6\7\2\0\3\7\2\0\14\7"+ "\2\0\1\7\1\0\4\7\1\u018e\14\0\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\u018f\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\u0190\11\7\3\0\6\7\2\0\3\7"+ "\2\0\12\7\1\u0191\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\u0192\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\u010a\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\u0193\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\u0194\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\u0195\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\u0196\12\7\3\0"+ "\6\7\2\0\3\7\2\0\10\7\1\u010c\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\u0197\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\u0198\2\7\3\0\6\7\2\0\3\7\2\0\2\7"+ "\1\u0199\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\u019a\10\7"+ "\3\0\6\7\2\0\3\7\2\0\10\7\1\u019b\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\u019c\13\7\3\0"+ "\6\7\2\0\3\7\2\0\14\7\2\0\1\7\1\0"+ "\4\7\1\u011e\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\120\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\u019d\2\0\3\7\2\0\3\7\1\u019e\1\7\1\u019f"+ "\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\u01a0"+ "\10\7\3\0\6\7\2\0\3\7\2\0\14\7\2\0"+ "\1\7\1\0\4\7\1\u01a1\14\0\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\u01a2\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\47\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\u01a3\5\7"+ "\70\0\1\u01a4\20\0\2\u01a5\6\u016d\1\0\1\u01a5\3\u016d"+ "\2\0\1\u01a5\13\u016d\1\u01a5\1\0\1\u01a5\1\0\4\u016d"+ "\2\u01a5\2\0\4\u01a5\5\0\1\u01a5\1\0\1\u01a5\1\0"+ "\3\u01a5\1\u016d\1\u01a5\1\u016d\1\u01a5\14\u016d\2\0\1\u016c"+ "\16\0\1\u011f\71\0\6\7\2\0\3\7\2\0\5\7"+ "\1\u01a6\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\102"+ "\115\0\1\u01a7\57\0\6\7\2\0\3\7\2\0\4\7"+ "\1\u014b\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\u01a8\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\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\143\4\7\3\0\6\7\2\0\3\7\2\0\14\7"+ "\2\0\1\7\1\0\4\7\1\u01a9\14\0\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\u01aa"+ "\11\7\3\0\6\7\2\0\1\7\1\u01ab\1\7\2\0"+ "\1\7\1\u01ac\5\7\1\u01ad\2\7\1\u01ae\1\310\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\u01af\11\7\3\0\6\7\2\0"+ "\3\7\2\0\14\7\2\0\1\7\1\0\4\7\1\u01b0"+ "\14\0\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\u01b1\14\0\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\u01b2\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\u01b3\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\u01b4\2\0\1\7\1\0\5\7\14\0\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\u01b5\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\356\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\232\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\u01b6\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\337\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\u0130\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\u01b7\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\u01b8\10\7\3\0\6\7"+ "\2\0\1\7\1\u01b9\1\7\2\0\10\7\1\u0149\1\7"+ "\1\u014a\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\u01ba\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\u01bb\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\u01bc\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\u01bd\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\u01be\10\7\3\0\6\7\2\0\3\7\2\0\13\7"+ "\1\u01bf\2\0\1\7\1\0\5\7\14\0\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\u01c0"+ "\10\7\3\0\6\7\2\0\3\7\2\0\4\7\1\u01c1"+ "\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\u01c2\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\u01c3\14\0\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\u01c4\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\u01c5\13\7\3\0\6\7\2\0\3\7\2\0"+ "\4\7\1\u01c6\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\u01c7\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\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\11\7\1\u01c8\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\u01c9\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\u01ca\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\u01cb"+ "\2\0\1\7\1\0\5\7\14\0\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\u01cc\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\u01cd\14\0\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\u01ce\14\0\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\u01cf\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\u01d0\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\u01d1\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\u01d2\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\u01d3\1\u01bd\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\u01d4\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\120\10\7\70\0\1\u016d\22\0\6\7\2\0"+ "\1\232\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\u0170\62\0\6\7\2\0\3\7\2\0\14\7"+ "\2\0\1\7\1\0\4\7\1\u01d5\14\0\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\266\5\7\1\u01d6\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\u01d7\14\0\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\115\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\124\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\156"+ "\4\7\1\157\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\u017f\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\u01d8\12\7\3\0\6\7\2\0\3\7\2\0"+ "\5\7\1\u01d9\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\u0164"+ "\12\7\3\0\6\7\2\0\3\7\2\0\3\7\1\u01da"+ "\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\u01db\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\312\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\u01dc\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\u01bb\13\7\3\0\6\7\2\0\3\7"+ "\2\0\3\7\1\u0129\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\333\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\u01dd\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\u01de\2\0"+ "\1\7\1\0\5\7\14\0\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\u01df\12\7\3\0"+ "\6\7\2\0\3\7\2\0\13\7\1\327\2\0\1\7"+ "\1\0\5\7\14\0\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\u01e0\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\133\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\u01e1"+ "\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\u0130\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\310"+ "\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\u01e2"+ "\12\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"+ "\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\3\7\1\u01e5"+ "\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\u01e6"+ "\14\0\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\14\7\2\0\1\7\1\0\4\7\1\u01e8\14\0"+ "\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\10\7"+ "\1\u01ea\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\u01eb\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\u01ec"+ "\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\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\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\u01ee\12\7\3\0\6\7\2\0"+ "\3\7\2\0\4\7\1\u01ef\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\u01f0"+ "\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\u01f1\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\u01f2\13\7\3\0\6\7\2\0\1\u01f3\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\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\3\7\1\u01f5\10\7\3\0\6\7\2\0"+ "\3\7\2\0\13\7\1\u01f6\2\0\1\7\1\0\5\7"+ "\14\0\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\u01f7\10\7\3\0\5\7\1\u0113\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\u01f8\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\u01f9\3\7\3\0\6\7"+ "\2\0\3\7\2\0\6\7\1\u01fa\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\u01fb\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\u0116\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\u01fc\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\u01d2\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\u01fd"+ "\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\u01fe\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\u01ff\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\u0200"+ "\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\u0201\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\u0202"+ "\12\7\3\0\6\7\2\0\3\7\2\0\14\7\2\0"+ "\1\7\1\0\4\7\1\u0203\14\0\4\7\1\0\1\7"+ "\1\0\2\7\2\0\14\7\3\0\6\7\2\0\1\u0204"+ "\2\7\2\0\12\7\1\u0205\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\u0206\1\u0207\10\7\3\0\5\7\1\u0208\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\u0209\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\u020a\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\u020b\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\u020c\11\7\3\0"+ "\6\7\2\0\3\7\2\0\10\7\1\u020d\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\u020e\12\7\3\0"+ "\6\7\2\0\3\7\2\0\13\7\1\120\2\0\1\7"+ "\1\0\5\7\14\0\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\300\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\270\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\u020f\12\7\3\0\6\7"+ "\2\0\3\7\2\0\14\7\2\0\1\7\1\0\4\7"+ "\1\u0210\14\0\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\u019f"+ "\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\162\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\u0211"+ "\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\u0212\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\u0213\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\u0130\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\u0214\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\170\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\300"+ "\1\0\5\7\14\0\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\u0215\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\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\3\7"+ "\1\u0217\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\u0109\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\u0218\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\u0219\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\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\5\7\1\u021b\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\u021c\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\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\10\7\1\u021e"+ "\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\u021f"+ "\14\0\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\u0220\14\0\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\u0221\14\0\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\10\7\1\u0224\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\u0130\7\7\3\0\6\7\2\0\3\7"+ "\2\0\5\7\1\u0225\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\u0226\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\u0227\12\7"+ "\3\0\6\7\2\0\3\7\2\0\10\7\1\u0228\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\u0229\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\u022a\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\u022b\11\7"+ "\3\0\6\7\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\14\7\3\0\6\7\2\0\3\7"+ "\2\0\14\7\2\0\1\7\1\0\4\7\1\u022c\14\0"+ "\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\u022d\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\u022e\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\u022f\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\u0230\4\7\3\0\6\7\2\0"+ "\3\7\2\0\2\7\1\u010a\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\u0231"+ "\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\u0232\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\u0233\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\u0234\4\7"+ "\3\0\6\7\2\0\1\7\1\u0235\1\7\2\0\2\7"+ "\1\u0219\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\u0236\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\u0237\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\u0238\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\u0239"+ "\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\u023a\7\7\3\0"+ "\6\7\2\0\3\7\2\0\14\7\2\0\1\7\1\0"+ "\4\7\1\u023b\14\0\4\7\1\0\1\7\1\0\2\7"+ "\2\0\14\7\3\0\6\7\2\0\1\u01d2\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\u023c\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\300\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\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\3\7"+ "\2\0\10\7\1\u023f\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\u0240\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\u0241\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\u022d\3\7\3\0\6\7\2\0\3\7"+ "\2\0\5\7\1\u0217\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\u0242\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\u0243\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\u0244\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\13\7\1\u0246\2\0"+ "\1\7\1\0\5\7\14\0\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\u0247\2\0\1\7\1\0\5\7\14\0\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\u0248\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\u0249\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\u024a\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\170\2\0\1\7\1\0\5\7\14\0\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\u0130\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\u024b\14\0\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\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\u0219\10\7\3\0\6\7\2\0\3\7"+ "\2\0\5\7\1\u024d\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\u010a\13\7\3\0\6\7\2\0\3\7\2\0"+ "\3\7\1\u024e\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\u024f\1\0\2\7\2\0"+ "\14\7\3\0\6\7\2\0\3\7\2\0\1\7\1\u0250"+ "\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\u0251"+ "\10\7\3\0\6\7\2\0\1\u0252\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\u0253\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\u0254\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\u0255\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\u010c\7\7\3\0\6\7\2\0\3\7"+ "\2\0\5\7\1\117\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\u01d9\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\u0256\14\0"+ "\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\u0257\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\u0258\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\u0259\14\0\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\216\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\14\7\2\0\1\7\1\0\5\7"+ "\14\0\1\7\1\120\2\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\u010a\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\220\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\u0158\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\216\3\7\3\0\6\7\2\0\3\7\2\0\1\7"+ "\1\u0156\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[43128]; int offset = 0; offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result); return result; } private static int zzUnpackTrans(String packed, int offset, int [] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); value--; do result[j++] = value; while (--count > 0); } return j; } /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; private static final int ZZ_PUSHBACK_2BIG = 2; /* error messages for the codes above */ private static final String ZZ_ERROR_MSG[] = { "Unkown internal scanner error", "Error: could not match input", "Error: pushback value was too large" }; /** * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute(); private static final String ZZ_ATTRIBUTE_PACKED_0 = "\1\1\2\0\2\11\10\1\2\11\14\1\1\11\3\1"+ "\1\11\17\1\1\11\3\1\1\11\15\1\1\11\3\0"+ "\72\1\4\0\37\1\1\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\314\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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } return j; } /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ private int zzState; /** the current lexical state */ private int zzLexicalState = YYINITIAL; /** this buffer contains the current text to be matched and is the source of the yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ private int zzMarkedPos; /** the current text position in the buffer */ private int zzCurrentPos; /** startRead marks the beginning of the yytext() string in the buffer */ private int zzStartRead; /** endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** 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. */ public ClojureTokenMaker() { } /** * Adds the token specified to the current linked list of tokens. * * @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. */ 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. * @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. */ @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 the text to place at the beginning and end of a * line to "comment" it in a this programming language. * * @return The start and end strings to add to a line to "comment" * it out. */ @Override public String[] getLineCommentStartAndEnd() { 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. * * @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) { resetTokenList(); this.offsetShift = -text.offset + startOffset; // 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; } s = text; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); return new TokenImpl(); } } /** * Refills the input buffer. * * @return true if EOF was reached, otherwise * false. * @exception IOException if any I/O-Error occurs. */ private boolean zzRefill() throws java.io.IOException { return zzCurrentPos>=s.offset+s.count; } /** * 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 */ public final void yyreset(java.io.Reader reader) throws java.io.IOException { // '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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = s.offset; zzLexicalState = YYINITIAL; 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. */ public ClojureTokenMaker(java.io.Reader in) { this.zzReader = in; } /** * Creates a new scanner. * There is also java.io.Reader version of this constructor. * * @param in the java.io.Inputstream to read input from. */ public ClojureTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } /** * Unpacks the compressed character translation table. * * @param packed the packed character translation table * @return the unpacked character translation table */ private static char [] zzUnpackCMap(String packed) { char [] map = new char[0x10000]; int i = 0; /* index in packed string */ int j = 0; /* index in unpacked array */ while (i < 164) { int count = packed.charAt(i++); char value = packed.charAt(i++); do map[j++] = value; while (--count > 0); } return map; } /** * Closes the input stream. */ public final void yyclose() throws java.io.IOException { zzAtEOF = true; /* indicate end of file */ zzEndRead = zzStartRead; /* invalidate buffer */ if (zzReader != null) zzReader.close(); } /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } /** * Enters a 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 yylength()-1. * * @return the character at position pos */ public final char yycharat(int pos) { return zzBuffer[zzStartRead+pos]; } /** * Returns the length of the matched text region. */ public final int yylength() { return zzMarkedPos-zzStartRead; } /** * Reports an error that occured while scanning. * * In a wellformed scanner (no or only correct usage of * yypushback(int) and a match-all fallback rule) this method * will only be called with things that "Can't Possibly Happen". * If this method is called, something is seriously wrong * (e.g. a JFlex bug producing a faulty scanner etc.). * * Usual syntax/scanner level error handling should be done * in error fallback rules. * * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; try { message = ZZ_ERROR_MSG[errorCode]; } catch (ArrayIndexOutOfBoundsException e) { message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR]; } throw new Error(message); } /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * * @param number the number of characters to be read again. * This number must not be greater than yylength()! */ public void yypushback(int number) { if ( number > yylength() ) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } /** * Resumes scanning until the next regular expression is matched, * the end of input is encountered or an I/O-Error occurs. * * @return the next token * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; int zzAction; // cached fields: int zzCurrentPosL; int zzMarkedPosL; int zzEndReadL = zzEndRead; char [] zzBufferL = zzBuffer; char [] zzCMapL = ZZ_CMAP; int [] zzTransL = ZZ_TRANS; int [] zzRowMapL = ZZ_ROWMAP; int [] zzAttrL = ZZ_ATTRIBUTE; while (true) { zzMarkedPosL = zzMarkedPos; zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; else if (zzAtEOF) { zzInput = YYEOF; break zzForAction; } else { // store back cached positions zzCurrentPos = zzCurrentPosL; zzMarkedPos = zzMarkedPosL; boolean eof = zzRefill(); // get translated positions and possibly new buffer zzCurrentPosL = zzCurrentPos; zzMarkedPosL = zzMarkedPos; zzBufferL = zzBuffer; zzEndReadL = zzEndRead; if (eof) { zzInput = YYEOF; break zzForAction; } else { zzInput = zzBufferL[zzCurrentPosL++]; } } int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ]; if (zzNext == -1) break zzForAction; zzState = zzNext; int zzAttributes = zzAttrL[zzState]; if ( (zzAttributes & 1) == 1 ) { zzAction = zzState; zzMarkedPosL = zzCurrentPosL; if ( (zzAttributes & 8) == 8 ) break zzForAction; } } } // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { case 14: { addToken(Token.PREPROCESSOR); } case 25: break; case 6: { addNullToken(); return firstToken; } case 26: break; case 18: { addToken(Token.LITERAL_CHAR); } case 27: break; case 9: { addToken(Token.WHITESPACE); } case 28: break; case 16: { addToken(Token.LITERAL_NUMBER_HEXADECIMAL); } case 29: break; case 17: { addToken(Token.LITERAL_NUMBER_FLOAT); } case 30: break; case 19: { addToken(Token.RESERVED_WORD); } case 31: break; case 21: { addToken(Token.VARIABLE); } case 32: break; case 8: { addToken(Token.SEPARATOR); } case 33: break; case 1: { addToken(Token.IDENTIFIER); } case 34: break; case 13: { addToken(start,zzStartRead-1, Token.COMMENT_EOL); addNullToken(); return firstToken; } case 35: break; case 20: { addToken(Token.FUNCTION); } case 36: break; case 22: { addToken(Token.DATA_TYPE); } case 37: break; case 2: { addToken(Token.ERROR_IDENTIFIER); } case 38: break; case 23: { addToken(Token.LITERAL_BOOLEAN); } case 39: break; case 11: { addToken(start,zzStartRead-1, Token.LITERAL_STRING_DOUBLE_QUOTE); return firstToken; } case 40: break; case 24: { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_EOL); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_EOL); start = zzMarkedPos; } case 41: break; case 15: { addToken(Token.ERROR_NUMBER_FORMAT); } case 42: break; case 7: { start = zzMarkedPos-1; yybegin(STRING); } case 43: break; case 3: { start = zzMarkedPos-1; yybegin(EOL_COMMENT); } case 44: break; case 5: { addToken(Token.LITERAL_NUMBER_DECIMAL_INT); } case 45: break; case 4: { addToken(Token.OPERATOR); } case 46: break; case 12: { yybegin(YYINITIAL); addToken(start,zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); } case 47: break; case 10: { } case 48: 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); } } } } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/XMLTokenMaker.flex0000644000175000001440000003643612202002502027165 0ustar benusers/* * 01/24/2005 * * XMLTokenMaker.java - Generates tokens for XML syntax highlighting. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.*; /** * Scanner for XML. * * 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * 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.
  • *
  • You should NOT call yylex() on the generated scanner * directly; rather, you should use getTokenList as you would * with any other TokenMaker instance.
  • *
* * @author Robert Futrell * @version 0.5 * */ %% %public %class XMLTokenMaker %extends AbstractMarkupTokenMaker %unicode %type org.fife.ui.rsyntaxtextarea.Token %{ /** * Type specific to XMLTokenMaker denoting a line ending with an unclosed * double-quote attribute. */ public static final int INTERNAL_ATTR_DOUBLE = -1; /** * Type specific to XMLTokenMaker denoting a line ending with an unclosed * single-quote attribute. */ 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. */ public static final int INTERNAL_INTAG = -3; /** * 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. */ 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. */ public static final int INTERNAL_IN_XML_COMMENT = -(1<<11); /** * Whether closing markup tags are automatically completed for HTML. */ 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). */ 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. */ private int prevState; /** * Constructor. This must be here because JFlex does not generate a * no-parameter constructor. */ public XMLTokenMaker() { } static { completeCloseTags = true; } /** * 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. */ 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. * @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. */ 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. */ 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. */ @Override public void addToken(char[] array, int start, int end, int tokenType, int startOffset) { super.addToken(array, start,end, tokenType, startOffset); zzStartRead = zzMarkedPos; } /** * {@inheritDoc} */ protected OccurrenceMarker createOccurrenceMarker() { return new XmlOccurrenceMarker(); } /** * 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) */ @Override 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. * * @return Whether closing markup tags are completed. * @see #setCompleteCloseTags(boolean) */ 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. */ 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. * * @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) { resetTokenList(); this.offsetShift = -text.offset + startOffset; prevState = YYINITIAL; inInternalDtd = false; // 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; } } start = text.offset; s = text; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); return new TokenImpl(); } } /** * Sets whether markup close tags should be 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. */ 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. * * 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 */ 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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = zzPushbackPos = s.offset; zzLexicalState = YYINITIAL; zzReader = reader; zzAtBOL = true; zzAtEOF = false; } %} NameStartChar = ([\:A-Z_a-z]) NameChar = ({NameStartChar}|[\-\.0-9]) TagName = ({NameStartChar}{NameChar}*) Whitespace = ([ \t\f]) LineTerminator = ([\n]) Identifier = ([^ \t\n<&]+) EntityReference = ([&][^; \t]*[;]?) InTagIdentifier = ([^ \t\n\"\'=\/>]+) CDataBegin = ("") URLGenDelim = ([:\/\?#\[\]@]) URLSubDelim = ([\!\$&'\(\)\*\+,;=]) URLUnreserved = ([A-Za-z_0-9\-\.\~]) URLCharacter = ({URLGenDelim}|{URLSubDelim}|{URLUnreserved}|[%]) URLCharacters = ({URLCharacter}*) URLEndCharacter = ([\/\$A-Za-z0-9]) URL = (((https?|f(tp|ile))"://"|"www.")({URLCharacters}{URLEndCharacter})?) %state COMMENT %state PI %state DTD %state INTAG %state INATTR_DOUBLE %state INATTR_SINGLE %state CDATA %% { "" { int temp = zzMarkedPos; addToken(start,zzStartRead+2, Token.MARKUP_COMMENT); start = temp; yybegin(prevState); } "-" {} {LineTerminator} | <> { addToken(start,zzStartRead-1, Token.MARKUP_COMMENT); addEndToken(INTERNAL_IN_XML_COMMENT - prevState); return firstToken; } } { [^\n\?]+ {} {LineTerminator} { addToken(start,zzStartRead-1, Token.MARKUP_PROCESSING_INSTRUCTION); return firstToken; } "?>" { yybegin(YYINITIAL); addToken(start,zzStartRead+1, Token.MARKUP_PROCESSING_INSTRUCTION); } "?" {} <> { addToken(start,zzStartRead-1, Token.MARKUP_PROCESSING_INSTRUCTION); return firstToken; } } { [^\n\[\]<>]+ {} "" { yybegin(YYINITIAL); addToken(start,zzStartRead+2, Token.MARKUP_COMMENT); } "-" {} <> { addToken(start,zzStartRead-1, Token.MARKUP_COMMENT); return firstToken; } } { [^\n\?]+ {} {LineTerminator} { addToken(start,zzStartRead-1, Token.MARKUP_PROCESSING_INSTRUCTION); return firstToken; } "?>" { yybegin(YYINITIAL); addToken(start,zzStartRead+1, Token.MARKUP_PROCESSING_INSTRUCTION); } "?" {} <> { addToken(start,zzStartRead-1, Token.MARKUP_PROCESSING_INSTRUCTION); return firstToken; } } { [^\n>]+ {} ">" { yybegin(YYINITIAL); addToken(start,zzStartRead, Token.MARKUP_DTD); } {LineTerminator} | <> { addToken(start,zzStartRead-1, Token.MARKUP_DTD); return firstToken; } } { [Aa] | [aA][bB][bB][rR] | [aA][cC][rR][oO][nN][yY][mM] | [aA][dD][dD][rR][eE][sS][sS] | [aA][pP][pP][lL][eE][tT] | [aA][rR][eE][aA] | [aA][rR][tT][iI][cC][lL][eE] | [aA][sS][iI][dD][eE] | [aA][uU][dD][iI][oO] | [bB] | [bB][aA][sS][eE] | [bB][aA][sS][eE][fF][oO][nN][tT] | [bB][dD][oO] | [bB][gG][sS][oO][uU][nN][dD] | [bB][iI][gG] | [bB][lL][iI][nN][kK] | [bB][lL][oO][cC][kK][qQ][uU][oO][tT][eE] | [bB][oO][dD][yY] | [bB][rR] | [bB][uU][tT][tT][oO][nN] | [cC][aA][nN][vV][aA][sS] | [cC][aA][pP][tT][iI][oO][nN] | [cC][eE][nN][tT][eE][rR] | [cC][iI][tT][eE] | [cC][oO][dD][eE] | [cC][oO][lL] | [cC][oO][lL][gG][rR][oO][uU][pP] | [cC][oO][mM][mM][aA][nN][dD] | [cC][oO][mM][mM][eE][nN][tT] | [dD][dD] | [dD][aA][tT][aA][gG][rR][iI][dD] | [dD][aA][tT][aA][lL][iI][sS][tT] | [dD][aA][tT][aA][tT][eE][mM][pP][lL][aA][tT][eE] | [dD][eE][lL] | [dD][eE][tT][aA][iI][lL][sS] | [dD][fF][nN] | [dD][iI][aA][lL][oO][gG] | [dD][iI][rR] | [dD][iI][vV] | [dD][lL] | [dD][tT] | [eE][mM] | [eE][mM][bB][eE][dD] | [eE][vV][eE][nN][tT][sS][oO][uU][rR][cC][eE] | [fF][iI][eE][lL][dD][sS][eE][tT] | [fF][iI][gG][uU][rR][eE] | [fF][oO][nN][tT] | [fF][oO][oO][tT][eE][rR] | [fF][oO][rR][mM] | [fF][rR][aA][mM][eE] | [fF][rR][aA][mM][eE][sS][eE][tT] | [hH][123456] | [hH][eE][aA][dD] | [hH][eE][aA][dD][eE][rR] | [hH][rR] | [hH][tT][mM][lL] | [iI] | [iI][fF][rR][aA][mM][eE] | [iI][lL][aA][yY][eE][rR] | [iI][mM][gG] | [iI][nN][pP][uU][tT] | [iI][nN][sS] | [iI][sS][iI][nN][dD][eE][xX] | [kK][bB][dD] | [kK][eE][yY][gG][eE][nN] | [lL][aA][bB][eE][lL] | [lL][aA][yY][eE][rR] | [lL][eE][gG][eE][nN][dD] | [lL][iI] | [lL][iI][nN][kK] | [mM][aA][pP] | [mM][aA][rR][kK] | [mM][aA][rR][qQ][uU][eE][eE] | [mM][eE][nN][uU] | [mM][eE][tT][aA] | [mM][eE][tT][eE][rR] | [mM][uU][lL][tT][iI][cC][oO][lL] | [nN][aA][vV] | [nN][eE][sS][tT] | [nN][oO][bB][rR] | [nN][oO][eE][mM][bB][eE][dD] | [nN][oO][fF][rR][aA][mM][eE][sS] | [nN][oO][lL][aA][yY][eE][rR] | [nN][oO][sS][cC][rR][iI][pP][tT] | [oO][bB][jJ][eE][cC][tT] | [oO][lL] | [oO][pP][tT][gG][rR][oO][uU][pP] | [oO][pP][tT][iI][oO][nN] | [oO][uU][tT][pP][uU][tT] | [pP] | [pP][aA][rR][aA][mM] | [pP][lL][aA][iI][nN][tT][eE][xX][tT] | [pP][rR][eE] | [pP][rR][oO][gG][rR][eE][sS][sS] | [qQ] | [rR][uU][lL][eE] | [sS] | [sS][aA][mM][pP] | [sS][cC][rR][iI][pP][tT] | [sS][eE][cC][tT][iI][oO][nN] | [sS][eE][lL][eE][cC][tT] | [sS][eE][rR][vV][eE][rR] | [sS][mM][aA][lL][lL] | [sS][oO][uU][rR][cC][eE] | [sS][pP][aA][cC][eE][rR] | [sS][pP][aA][nN] | [sS][tT][rR][iI][kK][eE] | [sS][tT][rR][oO][nN][gG] | [sS][tT][yY][lL][eE] | [sS][uU][bB] | [sS][uU][pP] | [tT][aA][bB][lL][eE] | [tT][bB][oO][dD][yY] | [tT][dD] | [tT][eE][xX][tT][aA][rR][eE][aA] | [tT][fF][oO][oO][tT] | [tT][hH] | [tT][hH][eE][aA][dD] | [tT][iI][mM][eE] | [tT][iI][tT][lL][eE] | [tT][rR] | [tT][tT] | [uU] | [uU][lL] | [vV][aA][rR] | [vV][iI][dD][eE][oO] { addToken(Token.MARKUP_TAG_NAME); } {InTagIdentifier} { /* A non-recognized HTML tag name */ yypushback(yylength()); yybegin(INTAG); } . { /* Shouldn't happen */ yypushback(1); yybegin(INTAG); } <> { addToken(zzMarkedPos,zzMarkedPos, INTERNAL_INTAG); return firstToken; } } { "/" { addToken(Token.MARKUP_TAG_DELIMITER); } {InTagIdentifier} { addToken(Token.MARKUP_TAG_ATTRIBUTE); } {Whitespace} { addToken(Token.WHITESPACE); } "=" { addToken(Token.OPERATOR); } "/>" { yybegin(YYINITIAL); addToken(Token.MARKUP_TAG_DELIMITER); } ">" { yybegin(YYINITIAL); addToken(Token.MARKUP_TAG_DELIMITER); } [\"] { start = zzMarkedPos-1; yybegin(INATTR_DOUBLE); } [\'] { start = zzMarkedPos-1; yybegin(INATTR_SINGLE); } <> { addToken(zzMarkedPos,zzMarkedPos, INTERNAL_INTAG); return firstToken; } } { [^\"]* {} [\"] { yybegin(INTAG); addToken(start,zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); } <> { addToken(start,zzStartRead-1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); addEndToken(INTERNAL_ATTR_DOUBLE); return firstToken; } } { [^\']* {} [\'] { yybegin(INTAG); addToken(start,zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); } <> { addToken(start,zzStartRead-1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); addEndToken(INTERNAL_ATTR_SINGLE); return firstToken; } } { {InTagIdentifier} { addToken(Token.MARKUP_TAG_ATTRIBUTE); } "/>" { addToken(Token.MARKUP_TAG_DELIMITER); yybegin(YYINITIAL); } "/" { addToken(Token.MARKUP_TAG_DELIMITER); } // Won't appear in valid HTML. {Whitespace} { addToken(Token.WHITESPACE); } "=" { addToken(Token.OPERATOR); } ">" { addToken(Token.MARKUP_TAG_DELIMITER); yybegin(JAVASCRIPT, LANG_INDEX_JS); } [\"] { start = zzMarkedPos-1; yybegin(INATTR_DOUBLE_SCRIPT); } [\'] { start = zzMarkedPos-1; yybegin(INATTR_SINGLE_SCRIPT); } <> { addToken(zzMarkedPos,zzMarkedPos, INTERNAL_INTAG_SCRIPT); return firstToken; } } { [^\"]* {} [\"] { yybegin(INTAG_SCRIPT); addToken(start,zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); } <> { addToken(start,zzStartRead-1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); addEndToken(INTERNAL_ATTR_DOUBLE_QUOTE_SCRIPT); return firstToken; } } { [^\']* {} [\'] { yybegin(INTAG_SCRIPT); addToken(start,zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); } <> { addToken(start,zzStartRead-1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); addEndToken(INTERNAL_ATTR_SINGLE_QUOTE_SCRIPT); return firstToken; } } { {InTagIdentifier} { addToken(Token.MARKUP_TAG_ATTRIBUTE); } "/>" { addToken(Token.MARKUP_TAG_DELIMITER); yybegin(YYINITIAL); } "/" { addToken(Token.MARKUP_TAG_DELIMITER); } // Won't appear in valid HTML. {Whitespace} { addToken(Token.WHITESPACE); } "=" { addToken(Token.OPERATOR); } ">" { addToken(Token.MARKUP_TAG_DELIMITER); yybegin(CSS, LANG_INDEX_CSS); } [\"] { start = zzMarkedPos-1; yybegin(INATTR_DOUBLE_STYLE); } [\'] { start = zzMarkedPos-1; yybegin(INATTR_SINGLE_STYLE); } <> { addToken(zzMarkedPos,zzMarkedPos, INTERNAL_INTAG_STYLE); return firstToken; } } { [^\"]* {} [\"] { yybegin(INTAG_STYLE); addToken(start,zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); } <> { addToken(start,zzStartRead-1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); addEndToken(INTERNAL_ATTR_DOUBLE_QUOTE_STYLE); return firstToken; } } { [^\']* {} [\'] { yybegin(INTAG_STYLE); addToken(start,zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); } <> { addToken(start,zzStartRead-1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); addEndToken(INTERNAL_ATTR_SINGLE_QUOTE_STYLE); return firstToken; } } { {EndScriptTag} { 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); } // ECMA 3+ keywords. "break" | "continue" | "delete" | "else" | "for" | "function" | "if" | "in" | "new" | "this" | "typeof" | "var" | "void" | "while" | "with" { addToken(Token.RESERVED_WORD); } "return" { addToken(Token.RESERVED_WORD_2); } //JavaScript 1.6 "each" {if(JavaScriptTokenMaker.isJavaScriptCompatible("1.6")){ addToken(Token.RESERVED_WORD);} else {addToken(Token.IDENTIFIER);} } //JavaScript 1.7 "let" {if(JavaScriptTokenMaker.isJavaScriptCompatible("1.7")){ addToken(Token.RESERVED_WORD);} else {addToken(Token.IDENTIFIER);} } // Reserved (but not yet used) ECMA keywords. "abstract" { addToken(Token.RESERVED_WORD); } "boolean" { addToken(Token.DATA_TYPE); } "byte" { addToken(Token.DATA_TYPE); } "case" { addToken(Token.RESERVED_WORD); } "catch" { addToken(Token.RESERVED_WORD); } "char" { addToken(Token.DATA_TYPE); } "class" { addToken(Token.RESERVED_WORD); } "const" { addToken(Token.RESERVED_WORD); } "debugger" { addToken(Token.RESERVED_WORD); } "default" { addToken(Token.RESERVED_WORD); } "do" { addToken(Token.RESERVED_WORD); } "double" { addToken(Token.DATA_TYPE); } "enum" { addToken(Token.RESERVED_WORD); } "export" { addToken(Token.RESERVED_WORD); } "extends" { addToken(Token.RESERVED_WORD); } "final" { addToken(Token.RESERVED_WORD); } "finally" { addToken(Token.RESERVED_WORD); } "float" { addToken(Token.DATA_TYPE); } "goto" { addToken(Token.RESERVED_WORD); } "implements" { addToken(Token.RESERVED_WORD); } "import" { addToken(Token.RESERVED_WORD); } "instanceof" { addToken(Token.RESERVED_WORD); } "int" { addToken(Token.DATA_TYPE); } "interface" { addToken(Token.RESERVED_WORD); } "long" { addToken(Token.DATA_TYPE); } "native" { addToken(Token.RESERVED_WORD); } "package" { addToken(Token.RESERVED_WORD); } "private" { addToken(Token.RESERVED_WORD); } "protected" { addToken(Token.RESERVED_WORD); } "public" { addToken(Token.RESERVED_WORD); } "short" { addToken(Token.DATA_TYPE); } "static" { addToken(Token.RESERVED_WORD); } "super" { addToken(Token.RESERVED_WORD); } "switch" { addToken(Token.RESERVED_WORD); } "synchronized" { addToken(Token.RESERVED_WORD); } "throw" { addToken(Token.RESERVED_WORD); } "throws" { addToken(Token.RESERVED_WORD); } "transient" { addToken(Token.RESERVED_WORD); } "try" { addToken(Token.RESERVED_WORD); } "volatile" { addToken(Token.RESERVED_WORD); } "null" { addToken(Token.RESERVED_WORD); } // Literals. "false" | "true" { addToken(Token.LITERAL_BOOLEAN); } "NaN" { addToken(Token.RESERVED_WORD); } "Infinity" { addToken(Token.RESERVED_WORD); } // Functions. "eval" | "parseInt" | "parseFloat" | "escape" | "unescape" | "isNaN" | "isFinite" { addToken(Token.FUNCTION); } {LineTerminator} { addEndToken(INTERNAL_IN_JS); return firstToken; } {JS_Identifier} { addToken(Token.IDENTIFIER); } {Whitespace} { addToken(Token.WHITESPACE); } /* String/Character literals. */ [\'] { start = zzMarkedPos-1; validJSString = true; yybegin(JS_CHAR); } [\"] { start = zzMarkedPos-1; validJSString = true; yybegin(JS_STRING); } /* Comment literals. */ "/**/" { addToken(Token.COMMENT_MULTILINE); } {JS_MLCBegin} { start = zzMarkedPos-2; yybegin(JS_MLC); } {JS_LineCommentBegin} { start = zzMarkedPos-2; yybegin(JS_EOL_COMMENT); } /* Attempt to identify regular expressions (not foolproof) - do after comments! */ {JS_Regex} { 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; } } // 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; } } /* Separators. */ {JS_Separator} { addToken(Token.SEPARATOR); } {JS_Separator2} { addToken(Token.IDENTIFIER); } /* Operators. */ {JS_Operator} { addToken(Token.OPERATOR); } /* Numbers */ {JS_IntegerLiteral} { addToken(Token.LITERAL_NUMBER_DECIMAL_INT); } {JS_HexLiteral} { addToken(Token.LITERAL_NUMBER_HEXADECIMAL); } {JS_FloatLiteral} { addToken(Token.LITERAL_NUMBER_FLOAT); } {JS_ErrorNumberFormat} { addToken(Token.ERROR_NUMBER_FORMAT); } {JS_ErrorIdentifier} { addToken(Token.ERROR_IDENTIFIER); } /* Ended with a line not in a string or comment. */ <> { addEndToken(INTERNAL_IN_JS); return firstToken; } /* Catch any other (unhandled) characters and flag them as bad. */ . { addToken(Token.ERROR_IDENTIFIER); } } { [^\n\\\"]+ {} \\x{HexDigit}{2} {} \\x { /* Invalid latin-1 character \xXX */ validJSString = false; } \\u{HexDigit}{4} {} \\u { /* Invalid Unicode character \\uXXXX */ validJSString = false; } \\. { /* Skip all escaped chars. */ } \\ { /* 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; } \" { int type = validJSString ? Token.LITERAL_STRING_DOUBLE_QUOTE : Token.ERROR_STRING_DOUBLE; addToken(start,zzStartRead, type); yybegin(JAVASCRIPT); } \n | <> { addToken(start,zzStartRead-1, Token.ERROR_STRING_DOUBLE); addEndToken(INTERNAL_IN_JS); return firstToken; } } { [^\n\\\']+ {} \\x{HexDigit}{2} {} \\x { /* Invalid latin-1 character \xXX */ validJSString = false; } \\u{HexDigit}{4} {} \\u { /* Invalid Unicode character \\uXXXX */ validJSString = false; } \\. { /* Skip all escaped chars. */ } \\ { /* 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; } \' { int type = validJSString ? Token.LITERAL_CHAR : Token.ERROR_CHAR; addToken(start,zzStartRead, type); yybegin(JAVASCRIPT); } \n | <> { addToken(start,zzStartRead-1, Token.ERROR_CHAR); addEndToken(INTERNAL_IN_JS); return firstToken; } } { // JavaScript MLC's. This state is essentially Java's MLC state. [^hwf<\n\*]+ {} {URL} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_EOL); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_EOL); start = zzMarkedPos; } [hwf] {} {EndScriptTag} { 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); } "<" {} {JS_MLCEnd} { yybegin(JAVASCRIPT); addToken(start,zzStartRead+1, Token.COMMENT_MULTILINE); } \* {} \n | <> { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addEndToken(INTERNAL_IN_JS_MLC); return firstToken; } } { [^hwf<\n]+ {} {URL} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_EOL); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_EOL); start = zzMarkedPos; } [hwf] {} {EndScriptTag} { 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); } "<" {} \n | <> { addToken(start,zzStartRead-1, Token.COMMENT_EOL); addEndToken(INTERNAL_IN_JS); return firstToken; } } { {EndStyleTag} { 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); } {CSS_SelectorPiece} { addToken(Token.DATA_TYPE); } {CSS_PseudoClass} { addToken(Token.RESERVED_WORD); } ":" { /* Unknown pseudo class */ addToken(Token.DATA_TYPE); } {CSS_AtKeyword} { addToken(Token.REGEX); } {CSS_Id} { addToken(Token.VARIABLE); } "{" { addToken(Token.SEPARATOR); yybegin(CSS_PROPERTY); } [,] { addToken(Token.IDENTIFIER); } \" { start = zzMarkedPos-1; cssPrevState = zzLexicalState; yybegin(CSS_STRING); } \' { start = zzMarkedPos-1; cssPrevState = zzLexicalState; yybegin(CSS_CHAR_LITERAL); } [+>~\^$\|=] { addToken(Token.OPERATOR); } {CSS_Separator} { addToken(Token.SEPARATOR); } {Whitespace} { addToken(Token.WHITESPACE); } {CSS_MlcStart} { start = zzMarkedPos-2; cssPrevState = zzLexicalState; yybegin(CSS_C_STYLE_COMMENT); } . { /*System.out.println("CSS: " + yytext());*/ addToken(Token.IDENTIFIER); } "\n" | <> { addEndToken(INTERNAL_CSS); return firstToken; } } { {EndStyleTag} { 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); } {CSS_Property} { addToken(Token.RESERVED_WORD); } "}" { addToken(Token.SEPARATOR); yybegin(CSS); } ":" { addToken(Token.OPERATOR); yybegin(CSS_VALUE); } {Whitespace} { addToken(Token.WHITESPACE); } {CSS_MlcStart} { start = zzMarkedPos-2; cssPrevState = zzLexicalState; yybegin(CSS_C_STYLE_COMMENT); } . { /*System.out.println("css_property: " + yytext());*/ addToken(Token.IDENTIFIER); } "\n" | <> { addEndToken(INTERNAL_CSS_PROPERTY); return firstToken; } } { {EndStyleTag} { 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); } {CSS_Value} { addToken(Token.IDENTIFIER); } "!important" { addToken(Token.ANNOTATION); } {CSS_Function} { int temp = zzMarkedPos - 2; addToken(zzStartRead, temp, Token.FUNCTION); addToken(zzMarkedPos-1, zzMarkedPos-1, Token.SEPARATOR); zzStartRead = zzCurrentPos = zzMarkedPos; } {CSS_Number} { addToken(Token.LITERAL_NUMBER_DECIMAL_INT); } \" { start = zzMarkedPos-1; cssPrevState = zzLexicalState; yybegin(CSS_STRING); } \' { start = zzMarkedPos-1; cssPrevState = zzLexicalState; yybegin(CSS_CHAR_LITERAL); } ")" { /* End of a function */ addToken(Token.SEPARATOR); } [;] { addToken(Token.OPERATOR); yybegin(CSS_PROPERTY); } [,\.] { addToken(Token.IDENTIFIER); } "}" { addToken(Token.SEPARATOR); yybegin(CSS); } {Whitespace} { addToken(Token.WHITESPACE); } {CSS_MlcStart} { start = zzMarkedPos-2; cssPrevState = zzLexicalState; yybegin(CSS_C_STYLE_COMMENT); } . { /*System.out.println("css_value: " + yytext());*/ addToken(Token.IDENTIFIER); } "\n" | <> { addEndToken(INTERNAL_CSS_VALUE); return firstToken; } } { [^\n\\\"]+ {} \\.? { /* Skip escaped chars. */ } \" { addToken(start,zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); yybegin(cssPrevState); } \n | <> { addToken(start,zzStartRead-1, Token.LITERAL_STRING_DOUBLE_QUOTE); addEndToken(INTERNAL_CSS_STRING - cssPrevState); return firstToken; } } { [^\n\\\']+ {} \\.? { /* Skip escaped chars. */ } \' { addToken(start,zzStartRead, Token.LITERAL_CHAR); yybegin(cssPrevState); } \n | <> { addToken(start,zzStartRead-1, Token.LITERAL_CHAR); addEndToken(INTERNAL_CSS_CHAR - cssPrevState); return firstToken; } } { [^hwf\n\*]+ {} {URL} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_MULTILINE); start = zzMarkedPos; } [hwf] {} {CSS_MlcEnd} { addToken(start,zzStartRead+1, Token.COMMENT_MULTILINE); yybegin(cssPrevState); } \* {} \n | <> { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addEndToken(INTERNAL_CSS_MLC - cssPrevState); return firstToken; } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/HTMLTokenMaker.java0000644000175000001440000037602512202002502027255 0ustar benusers/* The following code was generated by JFlex 1.4.1 on 3/23/13 10:01 AM */ /* * 01/24/2005 * * HTMLTokenMaker.java - Generates tokens for HTML syntax highlighting. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.*; /** * Scanner for HTML 5 files. * * 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * 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.
  • *
  • You should NOT call yylex() on the generated scanner * 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 */ public static final int INATTR_SINGLE_SCRIPT = 10; public static final int JS_CHAR = 16; public static final int CSS_STRING = 22; public static final int JS_MLC = 17; public static final int CSS_CHAR_LITERAL = 23; public static final int INTAG_SCRIPT = 8; public static final int CSS_PROPERTY = 20; public static final int CSS_C_STYLE_COMMENT = 24; public static final int CSS = 19; public static final int CSS_VALUE = 21; public static final int COMMENT = 1; public static final int INATTR_DOUBLE_SCRIPT = 9; public static final int PI = 2; public static final int JAVASCRIPT = 14; public static final int INTAG = 4; public static final int INTAG_CHECK_TAG_NAME = 5; public static final int INATTR_SINGLE_STYLE = 13; public static final int DTD = 3; public static final int JS_EOL_COMMENT = 18; public static final int INATTR_DOUBLE_STYLE = 12; public static final int INATTR_SINGLE = 7; public static final int YYINITIAL = 0; public static final int INATTR_DOUBLE = 6; public static final int JS_STRING = 15; public static final int INTAG_STYLE = 11; /** * 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\106\1\103\1\102\1\37\1\42\1\45"+ "\1\31\1\43\1\10\1\25\6\123\1\27\2\24\1\53\1\6\1\3"+ "\1\46\1\17\1\52\1\101\1\110\1\26\1\12\1\114\1\22\1\41"+ "\1\116\1\122\1\14\1\124\1\117\1\21\1\113\1\112\1\111\1\15"+ "\1\120\1\13\1\11\1\16\1\115\1\121\1\23\1\40\1\20\1\23"+ "\1\105\1\35\1\105\1\47\1\30\1\0\1\67\1\100\1\64\1\66"+ "\1\74\1\71\1\56\1\63\1\55\1\124\1\76\1\65\1\75\1\62"+ "\1\60\1\73\1\120\1\57\1\70\1\61\1\32\1\77\1\107\1\104"+ "\1\72\1\125\1\126\1\47\1\44\1\54\uff81\0"; /** * Translates characters to character classes */ private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED); /** * Translates DFA states to action switch labels. */ private static final int [] ZZ_ACTION = zzUnpackAction(); private static final String ZZ_ACTION_PACKED_0 = "\6\0\2\1\1\0\2\1\1\0\2\1\7\0\1\2"+ "\3\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\17\2\1\42\2\2\1\1\1\43\1\44\1\45"+ "\1\1\1\46\1\47\1\50\1\1\1\51\6\1\1\52"+ "\1\1\1\53\1\54\1\53\1\55\1\53\1\56\1\53"+ "\1\57\1\53\1\60\1\61\1\62\1\63\2\62\1\64"+ "\1\62\1\65\1\66\1\67\1\70\1\67\1\71\2\2"+ "\1\40\1\2\2\67\1\72\1\73\1\74\1\75\1\76"+ "\1\77\1\100\1\1\1\101\4\1\1\4\2\102\1\103"+ "\1\104\1\6\5\0\1\105\31\21\1\23\1\21\1\23"+ "\2\21\1\23\44\21\1\106\3\0\1\107\1\0\1\110"+ "\1\17\1\35\1\2\1\17\1\111\1\40\1\111\2\112"+ "\1\111\1\113\1\111\1\2\1\64\1\2\1\64\17\2"+ "\1\64\34\2\1\114\1\115\1\116\1\0\1\117\6\0"+ "\1\120\1\121\15\0\1\122\1\40\5\0\1\40\1\0"+ "\1\76\1\123\4\0\1\124\2\102\1\0\1\125\4\0"+ "\13\21\1\23\64\21\1\0\1\126\1\0\1\35\1\2"+ "\1\112\1\0\2\113\1\2\1\56\23\2\1\127\40\2"+ "\41\0\2\102\1\130\2\0\1\131\22\21\1\23\5\21"+ "\1\23\12\21\1\0\1\132\1\35\10\2\1\133\6\2"+ "\1\56\16\2\1\134\1\2\1\135\4\2\1\0\1\1"+ "\3\0\1\136\7\0\1\64\17\0\1\137\2\102\2\0"+ "\11\21\1\23\12\21\1\0\1\35\7\2\1\64\10\2"+ "\1\64\6\2\24\0\1\102\1\140\12\21\1\0\1\35"+ "\5\2\1\141\12\2\14\0\1\142\3\21\1\0\10\2"+ "\10\0\1\21\1\0\3\2\2\0\1\143\4\0\1\21"+ "\1\144\1\2\1\145\1\146\6\0\1\147"; private static int [] zzUnpackAction() { int [] result = new int[804]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } private static int zzUnpackAction(String packed, int offset, int [] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } 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\127\0\256\0\u0105\0\u015c\0\u01b3\0\u020a\0\u0261"+ "\0\u02b8\0\u030f\0\u0366\0\u03bd\0\u0414\0\u046b\0\u04c2\0\u0519"+ "\0\u0570\0\u05c7\0\u061e\0\u0675\0\u06cc\0\u0723\0\u077a\0\u07d1"+ "\0\u0828\0\u087f\0\u08d6\0\u092d\0\u0984\0\u09db\0\u0a32\0\u0a89"+ "\0\u092d\0\u0ae0\0\u0b37\0\u0b8e\0\u0be5\0\u0c3c\0\u092d\0\u0c93"+ "\0\u0cea\0\u092d\0\u092d\0\u0d41\0\u0d98\0\u092d\0\u0def\0\u092d"+ "\0\u092d\0\u092d\0\u0e46\0\u092d\0\u0e9d\0\u0ef4\0\u0f4b\0\u0fa2"+ "\0\u0ff9\0\u1050\0\u10a7\0\u10fe\0\u1155\0\u11ac\0\u1203\0\u125a"+ "\0\u12b1\0\u1308\0\u135f\0\u13b6\0\u140d\0\u1464\0\u14bb\0\u0e46"+ "\0\u1512\0\u092d\0\u1569\0\u092d\0\u15c0\0\u092d\0\u092d\0\u092d"+ "\0\u092d\0\u092d\0\u092d\0\u092d\0\u1617\0\u092d\0\u166e\0\u16c5"+ "\0\u092d\0\u092d\0\u171c\0\u1773\0\u17ca\0\u1821\0\u1878\0\u18cf"+ "\0\u1926\0\u197d\0\u092d\0\u19d4\0\u1a2b\0\u1a82\0\u092d\0\u1ad9"+ "\0\u1b30\0\u1b87\0\u1bde\0\u1c35\0\u1c8c\0\u1ce3\0\u1d3a\0\u1d91"+ "\0\u1de8\0\u1e3f\0\u1e96\0\u1eed\0\u1f44\0\u1f9b\0\u092d\0\u1ff2"+ "\0\u2049\0\u20a0\0\u092d\0\u092d\0\u20f7\0\u214e\0\u092d\0\u20f7"+ "\0\u092d\0\u21a5\0\u092d\0\u21fc\0\u2253\0\u22aa\0\u2301\0\u2358"+ "\0\u23af\0\u092d\0\u2406\0\u092d\0\u092d\0\u245d\0\u092d\0\u24b4"+ "\0\u250b\0\u2562\0\u25b9\0\u2610\0\u092d\0\u092d\0\u092d\0\u092d"+ "\0\u245d\0\u24b4\0\u2667\0\u26be\0\u092d\0\u092d\0\u092d\0\u092d"+ "\0\u245d\0\u092d\0\u2715\0\u276c\0\u27c3\0\u281a\0\u2871\0\u28c8"+ "\0\u092d\0\u092d\0\u092d\0\u092d\0\u291f\0\u092d\0\u092d\0\u2976"+ "\0\u092d\0\u29cd\0\u2a24\0\u2a7b\0\u2ad2\0\u2b29\0\u2b80\0\u2bd7"+ "\0\u2c2e\0\u092d\0\u092d\0\u2c85\0\u2cdc\0\u2d33\0\u2d8a\0\u2de1"+ "\0\u092d\0\u2e38\0\u2e8f\0\u2ee6\0\u2f3d\0\u2f94\0\u2feb\0\u3042"+ "\0\u3099\0\u30f0\0\u3147\0\u319e\0\u31f5\0\u324c\0\u32a3\0\u32fa"+ "\0\u3351\0\u33a8\0\u33ff\0\u3456\0\u34ad\0\u3504\0\u355b\0\u35b2"+ "\0\u3609\0\u3660\0\u36b7\0\u370e\0\u3765\0\u37bc\0\u3813\0\u386a"+ "\0\u38c1\0\u3918\0\u396f\0\u39c6\0\u3a1d\0\u3a74\0\u3acb\0\u3b22"+ "\0\u3b79\0\u3bd0\0\u3c27\0\u3c7e\0\u3cd5\0\u3d2c\0\u3d83\0\u3dda"+ "\0\u3e31\0\u3e88\0\u3edf\0\u3f36\0\u3f8d\0\u3fe4\0\u403b\0\u4092"+ "\0\u40e9\0\u4140\0\u4197\0\u41ee\0\u4245\0\u429c\0\u42f3\0\u434a"+ "\0\u43a1\0\u43f8\0\u444f\0\u44a6\0\u092d\0\u19d4\0\u44fd\0\u4554"+ "\0\u092d\0\u45ab\0\u4602\0\u4554\0\u4659\0\u46b0\0\u4707\0\u475e"+ "\0\u475e\0\u47b5\0\u475e\0\u480c\0\u4863\0\u48ba\0\u4911\0\u4968"+ "\0\u49bf\0\u4a16\0\u1773\0\u4a6d\0\u4ac4\0\u4b1b\0\u4b72\0\u4bc9"+ "\0\u4c20\0\u4c77\0\u4cce\0\u4d25\0\u4d7c\0\u4dd3\0\u4e2a\0\u4e81"+ "\0\u4ed8\0\u4f2f\0\u4f86\0\u4fdd\0\u5034\0\u508b\0\u50e2\0\u5139"+ "\0\u5190\0\u51e7\0\u523e\0\u5295\0\u52ec\0\u5343\0\u539a\0\u53f1"+ "\0\u5448\0\u549f\0\u54f6\0\u554d\0\u55a4\0\u55fb\0\u5652\0\u56a9"+ "\0\u5700\0\u5757\0\u57ae\0\u5805\0\u585c\0\u58b3\0\u590a\0\u092d"+ "\0\u5961\0\u59b8\0\u5a0f\0\u092d\0\u5a66\0\u5abd\0\u5b14\0\u5b6b"+ "\0\u5bc2\0\u5c19\0\u092d\0\u5c70\0\u5cc7\0\u5d1e\0\u5d75\0\u5dcc"+ "\0\u5e23\0\u5e7a\0\u5ed1\0\u5f28\0\u5f7f\0\u5fd6\0\u602d\0\u6084"+ "\0\u60db\0\u6132\0\u092d\0\u6189\0\u61e0\0\u6237\0\u628e\0\u62e5"+ "\0\u2871\0\u633c\0\u092d\0\u092d\0\u6393\0\u63ea\0\u6441\0\u6498"+ "\0\u2b29\0\u64ef\0\u6546\0\u659d\0\u092d\0\u65f4\0\u664b\0\u66a2"+ "\0\u66f9\0\u6750\0\u67a7\0\u67fe\0\u6855\0\u68ac\0\u6903\0\u695a"+ "\0\u69b1\0\u6a08\0\u6a5f\0\u6ab6\0\u6b0d\0\u6b64\0\u6bbb\0\u6c12"+ "\0\u6c69\0\u6cc0\0\u6d17\0\u6d6e\0\u6dc5\0\u6e1c\0\u6e73\0\u6eca"+ "\0\u6f21\0\u6f78\0\u6fcf\0\u7026\0\u707d\0\u70d4\0\u712b\0\u3765"+ "\0\u7182\0\u71d9\0\u7230\0\u7287\0\u72de\0\u7335\0\u738c\0\u73e3"+ "\0\u743a\0\u7491\0\u74e8\0\u753f\0\u7596\0\u75ed\0\u7644\0\u11ac"+ "\0\u769b\0\u76f2\0\u7749\0\u77a0\0\u77f7\0\u784e\0\u78a5\0\u78fc"+ "\0\u7953\0\u79aa\0\u7a01\0\u7a58\0\u7aaf\0\u7b06\0\u7b5d\0\u7bb4"+ "\0\u7c0b\0\u7c62\0\u7cb9\0\u7d10\0\u7d67\0\u7dbe\0\u7e15\0\u7e6c"+ "\0\u475e\0\u7ec3\0\u7f1a\0\u7f71\0\u7fc8\0\u801f\0\u8076\0\u80cd"+ "\0\u8124\0\u817b\0\u81d2\0\u8229\0\u8280\0\u82d7\0\u832e\0\u8385"+ "\0\u83dc\0\u8433\0\u848a\0\u84e1\0\u8538\0\u858f\0\u85e6\0\u1773"+ "\0\u863d\0\u8694\0\u86eb\0\u8742\0\u8799\0\u87f0\0\u8847\0\u889e"+ "\0\u88f5\0\u894c\0\u89a3\0\u89fa\0\u8a51\0\u8aa8\0\u8aff\0\u8b56"+ "\0\u8bad\0\u8c04\0\u8c5b\0\u8cb2\0\u8d09\0\u8d60\0\u8db7\0\u8e0e"+ "\0\u8e65\0\u8ebc\0\u8f13\0\u8f6a\0\u8fc1\0\u9018\0\u906f\0\u90c6"+ "\0\u911d\0\u9174\0\u91cb\0\u9222\0\u9279\0\u92d0\0\u9327\0\u937e"+ "\0\u93d5\0\u942c\0\u9483\0\u94da\0\u9531\0\u9588\0\u95df\0\u9636"+ "\0\u968d\0\u96e4\0\u973b\0\u9792\0\u97e9\0\u9840\0\u9897\0\u98ee"+ "\0\u9945\0\u999c\0\u99f3\0\u9a4a\0\u9aa1\0\u9af8\0\u9b4f\0\u9ba6"+ "\0\u9bfd\0\u9c54\0\u9cab\0\u092d\0\u9d02\0\u9d59\0\u9db0\0\u9e07"+ "\0\u9e5e\0\u9eb5\0\u9f0c\0\u9f63\0\u9fba\0\ua011\0\ua068\0\ua0bf"+ "\0\ua116\0\ua16d\0\ua1c4\0\ua21b\0\ua272\0\ua2c9\0\ua320\0\ua377"+ "\0\ua3ce\0\ua425\0\ua47c\0\ua4d3\0\ua52a\0\u386a\0\ua581\0\u7026"+ "\0\ua5d8\0\ua62f\0\ua686\0\ua6dd\0\ua734\0\ua78b\0\ua7e2\0\ua839"+ "\0\ua890\0\ua8e7\0\ua93e\0\u092d\0\ua995\0\ua9ec\0\uaa43\0\uaa9a"+ "\0\uaaf1\0\uab48\0\uab9f\0\uabf6\0\uac4d\0\u1773\0\uaca4\0\uacfb"+ "\0\uad52\0\uada9\0\uae00\0\uae57\0\u1773\0\uaeae\0\uaf05\0\uaf5c"+ "\0\uafb3\0\ub00a\0\ub061\0\ub0b8\0\ub10f\0\ub166\0\ub1bd\0\ub214"+ "\0\ub26b\0\ub2c2\0\ub319\0\u1773\0\ub370\0\u1773\0\ub3c7\0\ub41e"+ "\0\ub475\0\ub4cc\0\u59b8\0\u092d\0\ub523\0\ub57a\0\ub5d1\0\ub628"+ "\0\ub67f\0\ub6d6\0\ub72d\0\ub784\0\ub7db\0\ub832\0\ub889\0\u092d"+ "\0\ub8e0\0\ub937\0\ub98e\0\ub9e5\0\uba3c\0\uba93\0\ubaea\0\ubb41"+ "\0\ubb98\0\ubbef\0\ubc46\0\ubc9d\0\ubcf4\0\ubd4b\0\ubda2\0\ubdf9"+ "\0\ube50\0\ubea7\0\ubefe\0\u9db0\0\ubf55\0\ubfac\0\uc003\0\uc05a"+ "\0\uc0b1\0\uc108\0\uc15f\0\uc1b6\0\uc20d\0\uc264\0\uc264\0\uc2bb"+ "\0\uc312\0\uc369\0\uc3c0\0\uc417\0\uc46e\0\uc4c5\0\uc51c\0\uc573"+ "\0\uc5ca\0\uc621\0\uc678\0\uc6cf\0\uc726\0\uc77d\0\uc7d4\0\uc82b"+ "\0\uc882\0\u8280\0\uc8d9\0\uc930\0\uc987\0\uc9de\0\uca35\0\uca8c"+ "\0\ucae3\0\ucb3a\0\ucb91\0\ucbe8\0\ucc3f\0\ucc96\0\ucced\0\ucd44"+ "\0\ucd9b\0\ucdf2\0\uce49\0\ub628\0\ucea0\0\ucef7\0\ucf4e\0\ucfa5"+ "\0\ucffc\0\ud053\0\ud0aa\0\ud101\0\ud158\0\ud1af\0\ud206\0\ud25d"+ "\0\ud2b4\0\ud30b\0\ud362\0\ud3b9\0\ubdf9\0\ud410\0\u2bd7\0\ud467"+ "\0\ud4be\0\ud515\0\ud56c\0\ud5c3\0\ud61a\0\ud671\0\ud6c8\0\ud71f"+ "\0\ud776\0\ud7cd\0\ud824\0\ud87b\0\ud8d2\0\ud929\0\ud980\0\ud9d7"+ "\0\u1773\0\uda2e\0\uda85\0\udadc\0\udb33\0\udb8a\0\udbe1\0\udc38"+ "\0\udc8f\0\udce6\0\udd3d\0\udd94\0\uddeb\0\ude42\0\ude99\0\udef0"+ "\0\udf47\0\udf9e\0\udff5\0\ue04c\0\ue0a3\0\ue0fa\0\ue151\0\u2bd7"+ "\0\ue1a8\0\ue1ff\0\ue256\0\ue2ad\0\ue304\0\ue35b\0\ue3b2\0\ue409"+ "\0\ue460\0\ue4b7\0\ue50e\0\ue565\0\ue5bc\0\ue613\0\ue66a\0\ue6c1"+ "\0\ue718\0\ue76f\0\ue7c6\0\ue81d\0\ue874\0\ue8cb\0\ue922\0\ue979"+ "\0\ue9d0\0\uea27\0\uea7e\0\u092d\0\uead5\0\ueb2c\0\ueb83\0\uebda"+ "\0\uec31\0\u092d\0\uec88\0\u092d\0\u092d\0\uecdf\0\ued36\0\ued8d"+ "\0\uede4\0\uee3b\0\uee92\0\u092d"; private static int [] zzUnpackRowMap() { int [] result = new int[804]; int offset = 0; offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result); return result; } private static int zzUnpackRowMap(String packed, int offset, int [] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ int l = packed.length(); while (i < l) { int high = packed.charAt(i++) << 16; result[j++] = high | packed.charAt(i++); } return j; } /** * The transition table of the DFA */ private static final int [] ZZ_TRANS = zzUnpackTrans(); private static final String ZZ_TRANS_PACKED_0 = "\1\32\1\33\1\34\1\35\1\36\1\37\121\32\2\40"+ "\1\41\26\40\1\42\31\40\1\43\5\40\1\44\15\40"+ "\1\45\17\40\2\46\1\47\47\46\1\50\54\46\2\51"+ "\1\52\14\51\1\53\107\51\1\54\1\55\1\0\1\54"+ "\1\36\2\54\1\56\1\57\6\54\1\60\26\54\1\61"+ "\37\54\1\62\20\54\2\63\1\0\1\63\1\64\2\63"+ "\2\64\1\65\1\66\1\67\1\70\1\71\1\72\1\64"+ "\1\63\1\73\1\74\3\63\1\75\3\63\1\76\6\63"+ "\1\77\4\63\1\64\6\63\1\70\1\63\1\67\1\100"+ "\1\72\1\101\1\102\1\66\1\73\1\103\1\104\1\65"+ "\1\77\1\63\1\71\1\74\1\105\1\106\1\107\1\75"+ "\5\63\1\64\1\63\1\104\1\100\1\101\1\105\1\103"+ "\1\76\1\63\1\106\1\110\1\107\1\102\4\63\7\111"+ "\1\112\117\111\106\113\1\112\20\113\1\54\1\55\1\0"+ "\1\54\1\36\2\54\1\114\1\115\6\54\1\116\26\54"+ "\1\61\37\54\1\117\20\54\7\111\1\120\117\111\106\113"+ "\1\120\20\113\1\54\1\55\1\0\1\54\1\36\2\54"+ "\1\121\1\115\6\54\1\122\26\54\1\61\37\54\1\123"+ "\20\54\7\111\1\124\117\111\106\113\1\124\20\113\1\125"+ "\1\36\1\126\1\127\1\36\1\130\1\131\1\132\1\133"+ "\3\134\1\135\2\134\1\136\4\134\1\137\1\140\1\134"+ "\1\137\1\134\1\141\1\142\1\143\2\125\1\134\1\144"+ "\2\134\1\145\1\146\1\147\1\131\4\144\3\61\1\150"+ "\1\151\1\152\1\134\1\153\1\154\1\134\1\155\1\156"+ "\1\157\1\160\1\161\1\162\1\134\1\163\1\164\2\134"+ "\1\165\1\166\1\125\2\147\1\134\1\147\1\167\1\170"+ "\2\134\1\171\10\134\1\137\2\134\1\147\2\172\1\173"+ "\4\172\1\174\25\172\1\175\71\172\2\176\1\177\32\176"+ "\1\200\50\176\1\201\20\176\2\202\1\203\1\204\33\202"+ "\1\205\23\202\1\206\5\202\1\207\15\202\1\210\17\202"+ "\2\211\1\212\1\213\57\211\1\206\5\211\1\207\15\211"+ "\1\210\17\211\1\214\1\36\1\215\1\216\1\36\1\214"+ "\1\147\1\217\1\220\6\221\1\61\4\221\2\214\1\221"+ "\1\214\3\221\1\214\1\222\1\214\1\61\3\221\1\61"+ "\1\221\1\214\1\131\2\61\3\214\1\223\1\61\24\221"+ "\1\224\2\147\1\221\1\147\1\225\14\221\1\214\2\221"+ "\1\226\1\227\1\36\1\230\1\231\1\36\3\227\1\232"+ "\6\233\1\227\4\233\2\227\1\233\1\227\3\233\4\227"+ "\1\234\2\233\2\227\1\235\6\227\1\236\1\227\24\233"+ "\3\227\1\233\2\227\14\233\1\227\2\233\1\227\1\237"+ "\1\36\1\240\1\241\1\36\1\237\1\242\1\217\1\243"+ "\6\244\1\237\4\244\2\245\1\244\1\245\1\244\1\246"+ "\1\244\1\237\1\247\1\244\2\237\2\244\1\237\1\131"+ "\1\235\1\131\3\237\1\250\3\237\24\244\1\237\1\251"+ "\1\252\1\244\1\237\1\225\14\244\1\245\2\244\1\237"+ "\2\172\1\253\4\172\1\254\25\172\1\255\71\172\2\176"+ "\1\256\32\176\1\255\50\176\1\257\20\176\2\260\1\261"+ "\34\260\1\262\23\260\1\263\5\260\1\264\15\260\1\265"+ "\17\260\2\32\4\0\122\32\1\33\2\0\1\36\1\0"+ "\121\32\137\0\1\266\1\267\5\270\1\0\10\270\2\0"+ "\1\270\5\0\2\270\7\0\1\271\1\272\2\0\13\270"+ "\1\267\10\270\3\0\1\270\2\0\17\270\2\0\1\36"+ "\2\0\1\36\122\0\4\37\1\0\1\37\1\273\120\37"+ "\2\40\1\0\26\40\1\0\31\40\1\0\5\40\1\0"+ "\15\40\1\0\17\40\31\0\1\274\156\0\1\275\122\0"+ "\1\276\3\0\1\277\154\0\1\300\17\0\2\46\1\0"+ "\47\46\1\0\54\46\17\0\1\301\107\0\2\51\1\0"+ "\14\51\1\0\107\51\2\54\1\0\1\54\1\0\2\54"+ "\2\0\6\54\1\0\26\54\1\0\37\54\1\0\21\54"+ "\1\55\1\0\1\54\1\36\2\54\2\0\6\54\1\0"+ "\26\54\1\0\37\54\1\0\20\54\17\0\1\60\107\0"+ "\2\63\1\0\1\63\1\0\2\63\2\0\6\63\1\0"+ "\26\63\1\0\37\63\1\0\22\63\1\0\1\63\1\0"+ "\2\63\2\0\1\63\1\302\2\63\1\303\1\304\1\0"+ "\2\63\1\305\7\63\1\306\13\63\1\0\11\63\1\307"+ "\1\304\2\63\1\302\2\63\1\310\3\63\1\303\1\305"+ "\1\311\10\63\1\0\1\63\1\310\1\307\1\63\1\311"+ "\1\63\1\306\13\63\1\0\1\63\1\0\2\63\2\0"+ "\3\63\1\312\2\63\1\0\2\63\1\313\23\63\1\0"+ "\6\63\1\312\2\63\1\314\6\63\1\315\4\63\1\313"+ "\11\63\1\0\1\63\1\315\1\314\17\63\1\0\1\63"+ "\1\0\2\63\2\0\6\63\1\0\12\63\1\316\13\63"+ "\1\0\37\63\1\0\6\63\1\316\13\63\1\0\1\63"+ "\1\0\2\63\2\0\1\317\5\63\1\0\1\63\1\320"+ "\17\63\1\321\4\63\1\0\13\63\1\322\2\63\1\320"+ "\2\63\1\317\1\321\3\63\1\323\10\63\1\0\3\63"+ "\1\322\1\323\15\63\1\0\1\63\1\0\2\63\2\0"+ "\2\63\1\324\3\63\1\0\1\63\1\325\24\63\1\0"+ "\10\63\1\324\5\63\1\325\1\63\1\326\16\63\1\0"+ "\1\63\1\326\20\63\1\0\1\63\1\0\2\63\2\0"+ "\2\63\1\110\1\327\1\63\1\110\1\0\2\63\1\330"+ "\3\63\1\331\12\63\1\332\4\63\1\0\6\63\1\327"+ "\1\63\1\110\1\63\1\110\1\63\1\333\2\63\1\110"+ "\1\334\1\63\1\332\2\63\1\330\3\63\1\331\5\63"+ "\1\0\1\63\1\334\3\63\1\110\5\63\1\333\6\63"+ "\1\0\1\63\1\0\2\63\2\0\3\63\1\335\2\63"+ "\1\0\2\63\1\336\23\63\1\0\6\63\1\335\11\63"+ "\1\337\4\63\1\336\11\63\1\0\1\63\1\337\20\63"+ "\1\0\1\63\1\0\2\63\2\0\6\63\1\0\26\63"+ "\1\0\26\63\1\340\1\63\1\341\6\63\1\0\4\63"+ "\1\340\5\63\1\341\7\63\1\0\1\63\1\0\2\63"+ "\2\0\2\63\1\110\1\323\2\63\1\0\1\63\1\342"+ "\10\63\1\343\13\63\1\0\6\63\1\323\1\344\1\110"+ "\1\345\4\63\1\342\1\346\1\347\16\63\1\0\1\63"+ "\1\347\1\345\2\63\1\346\1\343\1\344\12\63\1\0"+ "\1\63\1\0\2\63\2\0\6\63\1\0\1\63\1\110"+ "\24\63\1\0\16\63\1\110\20\63\1\0\22\63\1\0"+ "\1\63\1\0\2\63\2\0\2\63\1\350\1\351\2\63"+ "\1\0\26\63\1\0\6\63\1\351\1\63\1\350\1\352"+ "\25\63\1\0\2\63\1\352\17\63\1\0\1\63\1\0"+ "\2\63\2\0\4\63\1\353\1\63\1\0\1\63\1\110"+ "\4\63\1\354\3\63\1\355\13\63\1\0\16\63\1\110"+ "\5\63\1\353\4\63\1\354\5\63\1\0\6\63\1\355"+ "\13\63\1\0\1\63\1\0\2\63\2\0\6\63\1\0"+ "\2\63\1\356\23\63\1\0\11\63\1\357\6\63\1\360"+ "\4\63\1\356\11\63\1\0\1\63\1\360\1\357\17\63"+ "\1\0\1\63\1\0\2\63\2\0\2\63\1\110\2\63"+ "\1\361\1\0\2\63\1\362\23\63\1\0\10\63\1\110"+ "\1\63\1\361\12\63\1\362\11\63\1\0\14\63\1\110"+ "\5\63\1\0\1\63\1\0\2\63\2\0\3\63\1\363"+ "\1\63\1\110\1\0\1\63\1\110\1\364\16\63\1\365"+ "\4\63\1\0\6\63\1\363\3\63\1\110\3\63\2\110"+ "\1\366\1\63\1\365\2\63\1\364\11\63\1\0\1\63"+ "\1\366\3\63\1\110\14\63\1\0\1\63\1\0\2\63"+ "\2\0\1\367\1\370\1\371\1\63\1\372\1\63\1\0"+ "\6\63\1\373\3\63\1\374\13\63\1\0\10\63\1\371"+ "\4\63\1\370\1\63\1\375\1\63\1\367\2\63\1\372"+ "\4\63\1\373\5\63\1\0\5\63\1\375\1\374\13\63"+ "\1\0\1\63\1\0\2\63\2\0\6\63\1\0\2\63"+ "\1\376\7\63\1\377\13\63\1\0\20\63\1\u0100\4\63"+ "\1\376\11\63\1\0\1\63\1\u0100\4\63\1\377\13\63"+ "\1\0\1\63\1\0\2\63\2\0\6\63\1\0\2\63"+ "\1\u0101\3\63\1\u0102\17\63\1\0\25\63\1\u0101\3\63"+ "\1\u0102\5\63\1\0\22\63\1\0\1\63\1\0\2\63"+ "\2\0\3\63\1\u0103\2\63\1\0\26\63\1\0\6\63"+ "\1\u0103\11\63\1\u0104\16\63\1\0\1\63\1\u0104\16\63"+ "\7\111\1\0\117\111\106\113\1\0\20\113\17\0\1\u0105"+ "\107\0\1\125\10\0\6\125\1\0\11\125\1\0\1\125"+ "\1\0\3\125\1\0\2\125\13\0\25\125\2\0\1\125"+ "\2\0\17\125\4\0\1\u0106\4\0\1\u0107\35\0\1\61"+ "\65\0\1\61\40\0\1\61\60\0\10\u0108\1\u0109\24\u0108"+ "\1\u010a\1\u0108\1\u010b\6\u0108\1\u010c\60\u0108\1\125\10\0"+ "\6\134\1\0\11\134\1\0\1\134\1\0\1\125\1\u010d"+ "\1\134\1\0\2\134\13\0\24\134\1\125\2\0\1\134"+ "\2\0\17\134\1\0\1\125\10\0\6\134\1\0\11\134"+ "\1\0\1\134\1\0\1\125\1\u010d\1\134\1\0\2\134"+ "\13\0\5\134\1\u010e\16\134\1\125\2\0\1\134\2\0"+ "\17\134\20\0\1\u010f\26\0\1\61\60\0\1\u0110\10\0"+ "\6\u0110\1\0\1\u0110\1\u0111\1\u0112\1\u0110\2\137\1\u0110"+ "\1\137\1\u0110\1\0\1\u0110\1\0\3\u0110\1\0\1\u0110"+ "\1\u0113\1\0\1\u0114\11\0\10\u0110\1\u0111\1\u0113\2\u0110"+ "\1\u0113\2\u0110\1\u0112\5\u0110\2\0\1\u0110\2\0\5\u0110"+ "\1\u0113\6\u0110\1\137\2\u0110\1\0\1\u0110\10\0\6\u0110"+ "\1\0\1\u0110\1\u0111\1\u0112\1\u0110\1\u0115\1\u0116\1\u0110"+ "\1\u0116\1\u0110\1\0\1\u0110\1\0\3\u0110\1\0\1\u0117"+ "\1\u0113\1\0\1\u0114\11\0\10\u0110\1\u0111\1\u0113\2\u0110"+ "\1\u0113\2\u0110\1\u0112\5\u0110\2\0\1\u0117\2\0\5\u0110"+ "\1\u0113\6\u0110\1\u0116\2\u0110\32\0\1\61\14\0\1\61"+ "\60\0\1\125\10\0\6\134\1\0\11\134\1\0\1\134"+ "\1\0\1\125\1\u010d\1\134\1\0\2\134\13\0\5\134"+ "\1\u0118\16\134\1\125\2\0\1\134\2\0\17\134\47\0"+ "\1\61\122\0\1\61\3\0\1\61\104\0\2\u0114\1\0"+ "\1\u0114\73\0\1\u0114\3\0\1\125\10\0\6\134\1\0"+ "\11\134\1\0\1\134\1\0\1\125\1\u010d\1\134\1\0"+ "\2\134\13\0\5\134\1\u0119\5\134\1\u011a\1\u011b\3\134"+ "\1\u011c\3\134\1\125\2\0\1\134\2\0\17\134\1\0"+ "\1\125\10\0\6\134\1\0\11\134\1\0\1\134\1\0"+ "\1\125\1\u010d\1\134\1\0\2\134\13\0\3\134\1\u011d"+ "\20\134\1\125\2\0\1\134\2\0\17\134\1\0\1\125"+ "\10\0\6\134\1\0\11\134\1\0\1\134\1\0\1\125"+ "\1\u010d\1\134\1\0\2\134\13\0\17\134\1\u011e\4\134"+ "\1\125\2\0\1\134\2\0\17\134\1\0\1\125\10\0"+ "\6\134\1\0\11\134\1\0\1\134\1\0\1\125\1\u010d"+ "\1\134\1\0\2\134\13\0\2\134\1\u011f\3\134\1\u0120"+ "\6\134\1\u0121\6\134\1\125\2\0\1\134\2\0\17\134"+ "\1\0\1\125\10\0\6\134\1\0\11\134\1\0\1\u0122"+ "\1\0\1\125\1\u010d\1\134\1\0\2\134\13\0\12\134"+ "\1\u0123\4\134\1\u0124\4\134\1\125\2\0\1\134\2\0"+ "\17\134\1\0\1\125\10\0\6\134\1\0\11\134\1\0"+ "\1\134\1\0\1\125\1\u010d\1\134\1\0\2\134\13\0"+ "\3\134\1\u0125\2\134\1\u0126\1\134\1\u0127\1\134\1\u0128"+ "\11\134\1\125\2\0\1\134\2\0\17\134\1\0\1\125"+ "\10\0\6\134\1\0\11\134\1\0\1\134\1\0\1\125"+ "\1\u010d\1\134\1\0\2\134\13\0\3\134\1\u0129\13\134"+ "\1\u012a\4\134\1\125\2\0\1\134\2\0\17\134\1\0"+ "\1\125\10\0\6\134\1\0\11\134\1\0\1\134\1\0"+ "\1\125\1\u010d\1\134\1\0\2\134\13\0\3\134\1\u012b"+ "\13\134\1\u012c\4\134\1\125\2\0\1\134\2\0\17\134"+ "\1\0\1\125\10\0\6\134\1\0\11\134\1\0\1\134"+ "\1\0\1\125\1\u010d\1\134\1\0\2\134\13\0\23\134"+ "\1\u012d\1\125\2\0\1\134\2\0\17\134\1\0\1\125"+ "\10\0\6\134\1\0\11\134\1\0\1\u012e\1\0\1\125"+ "\1\u010d\1\134\1\0\2\134\13\0\4\134\1\u012f\1\134"+ "\1\u0130\6\134\1\u0131\6\134\1\125\2\0\1\134\2\0"+ "\1\u0132\16\134\1\0\1\125\10\0\6\134\1\0\11\134"+ "\1\0\1\u0133\1\0\1\125\1\u010d\1\134\1\0\2\134"+ "\13\0\1\u0134\2\134\1\u0135\4\134\1\u0136\1\134\1\u0137"+ "\11\134\1\125\2\0\1\134\2\0\17\134\1\0\1\125"+ "\10\0\6\134\1\0\11\134\1\0\1\u0138\1\0\1\125"+ "\1\u010d\1\134\1\0\2\134\13\0\2\134\1\u0139\7\134"+ "\1\u013a\11\134\1\125\2\0\1\134\2\0\17\134\1\0"+ "\1\125\10\0\6\134\1\0\11\134\1\0\1\134\1\0"+ "\1\125\1\u010d\1\134\1\0\2\134\13\0\5\134\1\u013b"+ "\2\134\1\u013c\1\134\1\u013d\1\u013e\6\134\1\u013f\1\134"+ "\1\125\2\0\1\u0140\2\0\17\134\1\0\1\125\10\0"+ "\6\134\1\0\11\134\1\0\1\134\1\0\1\125\1\u010d"+ "\1\134\1\0\2\134\13\0\3\134\1\u0141\6\134\1\u0135"+ "\11\134\1\125\2\0\1\134\2\0\17\134\1\0\1\125"+ "\10\0\6\134\1\0\11\134\1\0\1\134\1\0\1\125"+ "\1\u010d\1\134\1\0\2\134\13\0\2\134\1\u0142\1\u0143"+ "\11\134\1\u0144\6\134\1\125\2\0\1\134\2\0\17\134"+ "\1\0\1\125\10\0\6\134\1\0\11\134\1\0\1\134"+ "\1\0\1\125\1\u010d\1\134\1\0\2\134\13\0\1\u0145"+ "\5\134\1\u0146\15\134\1\125\2\0\1\134\2\0\17\134"+ "\1\0\1\125\10\0\6\134\1\0\11\134\1\0\1\134"+ "\1\0\1\125\1\u010d\1\134\1\0\2\134\13\0\12\134"+ "\1\u0147\11\134\1\125\2\0\1\134\2\0\17\134\1\0"+ "\2\172\1\0\4\172\1\0\25\172\1\0\71\172\2\u0148"+ "\1\0\27\u0148\1\u0149\51\u0148\1\u014a\22\u0148\2\176\1\0"+ "\32\176\1\0\50\176\1\0\20\176\2\202\2\0\33\202"+ "\1\0\23\202\1\0\5\202\1\0\15\202\1\0\17\202"+ "\10\0\1\u014b\126\0\1\u014c\177\0\1\u014d\122\0\1\u014e"+ "\3\0\1\u014f\154\0\1\u0150\17\0\2\211\2\0\57\211"+ "\1\0\5\211\1\0\15\211\1\0\17\211\10\0\1\u0151"+ "\126\0\1\u0152\155\0\1\u0153\100\0\6\221\1\0\13\221"+ "\5\0\2\221\1\0\1\221\11\0\24\221\3\0\1\221"+ "\2\0\17\221\12\0\6\u0154\1\0\4\u0154\2\0\1\u0154"+ "\1\0\3\u0154\4\0\3\u0154\1\0\1\u0154\11\0\24\u0154"+ "\3\0\1\u0154\2\0\14\u0154\1\0\2\u0154\54\0\1\u0155"+ "\3\0\1\u0156\1\u0157\1\u0158\1\u0159\1\u015a\1\u015b\1\u015c"+ "\1\u015d\1\u015e\1\0\1\u015f\2\0\1\u0160\2\0\1\u0161"+ "\40\0\6\u0162\1\0\4\u0162\2\0\1\u0162\1\0\3\u0162"+ "\4\0\3\u0162\1\0\1\u0162\11\0\24\u0162\3\0\1\u0162"+ "\2\0\14\u0162\1\0\2\u0162\12\0\6\233\1\0\13\233"+ "\5\0\2\233\13\0\24\233\3\0\1\233\2\0\17\233"+ "\12\0\6\233\1\0\4\233\2\0\1\233\1\0\3\233"+ "\5\0\2\233\13\0\24\233\3\0\1\233\2\0\14\233"+ "\1\0\2\233\11\0\7\244\1\0\4\244\2\0\1\244"+ "\1\0\3\244\2\0\1\244\1\0\1\u0153\2\244\13\0"+ "\24\244\2\0\1\252\1\244\2\0\14\244\1\0\2\244"+ "\11\0\7\244\1\0\4\244\2\0\1\244\1\0\3\244"+ "\2\0\1\244\2\0\2\244\13\0\24\244\2\0\1\252"+ "\1\244\2\0\14\244\1\0\2\244\25\0\2\245\1\0"+ "\1\245\13\0\1\245\4\0\1\u0163\4\0\1\u0164\6\0"+ "\1\u0165\3\0\1\u0163\2\0\1\u0166\1\u0167\1\u0168\25\0"+ "\1\245\13\0\7\244\1\0\4\244\2\245\1\244\1\245"+ "\3\244\2\0\1\244\2\0\2\244\13\0\24\244\2\0"+ "\1\252\1\244\2\0\14\244\1\245\2\244\13\0\1\u0169"+ "\7\0\1\u0169\1\0\4\u0169\11\0\1\u0169\22\0\1\u0169"+ "\1\0\2\u0169\1\0\1\u0169\2\0\1\u0169\3\0\1\u0169"+ "\7\0\1\u0169\3\0\1\u0169\6\0\1\u0169\60\0\1\u016a"+ "\51\0\2\u016b\1\0\124\u016b\2\260\1\0\34\260\1\0"+ "\23\260\1\0\5\260\1\0\15\260\1\0\17\260\10\0"+ "\1\u016c\177\0\1\u016d\122\0\1\u016e\3\0\1\u016f\154\0"+ "\1\u0170\30\0\6\u0171\1\0\10\u0171\2\0\1\u0171\5\0"+ "\2\u0171\13\0\24\u0171\3\0\1\u0171\2\0\17\u0171\12\0"+ "\1\270\1\u0172\3\270\1\u0173\1\0\10\270\2\0\1\270"+ "\5\0\2\270\13\0\4\270\1\u0173\2\270\1\u0172\14\270"+ "\3\0\1\270\2\0\17\270\12\0\6\270\1\0\10\270"+ "\2\0\1\270\5\0\2\270\13\0\24\270\3\0\1\270"+ "\2\0\17\270\32\0\1\u0174\114\0\1\u0175\170\0\1\u0176"+ "\132\0\1\u0177\134\0\1\u0178\142\0\1\u0179\17\0\2\63"+ "\1\0\1\63\1\0\2\63\2\0\2\63\1\u017a\3\63"+ "\1\0\26\63\1\0\10\63\1\u017a\26\63\1\0\22\63"+ "\1\0\1\63\1\0\2\63\2\0\6\63\1\0\26\63"+ "\1\0\20\63\1\u017b\16\63\1\0\1\63\1\u017b\20\63"+ "\1\0\1\63\1\0\2\63\2\0\2\63\1\u017c\3\63"+ "\1\0\1\316\25\63\1\0\10\63\1\u017c\12\63\1\316"+ "\13\63\1\0\22\63\1\0\1\63\1\0\2\63\2\0"+ "\1\63\1\u017d\1\u017e\3\63\1\0\1\63\1\u017f\24\63"+ "\1\0\10\63\1\u017e\4\63\1\u017d\1\u017f\20\63\1\0"+ "\22\63\1\0\1\63\1\0\2\63\2\0\4\63\1\110"+ "\1\63\1\0\6\63\1\110\17\63\1\0\24\63\1\110"+ "\4\63\1\110\5\63\1\0\22\63\1\0\1\63\1\0"+ "\2\63\2\0\6\63\1\0\12\63\1\u0180\13\63\1\0"+ "\37\63\1\0\6\63\1\u0180\13\63\1\0\1\63\1\0"+ "\2\63\2\0\6\63\1\0\26\63\1\0\26\63\1\u0181"+ "\10\63\1\0\4\63\1\u0181\15\63\1\0\1\63\1\0"+ "\2\63\2\0\6\63\1\0\26\63\1\0\20\63\1\u0182"+ "\16\63\1\0\1\63\1\u0182\20\63\1\0\1\63\1\0"+ "\2\63\2\0\5\63\1\u0183\1\0\26\63\1\0\12\63"+ "\1\u0183\24\63\1\0\22\63\1\0\1\63\1\0\2\63"+ "\2\0\6\63\1\0\26\63\1\0\13\63\1\u0184\23\63"+ "\1\0\3\63\1\u0184\16\63\1\0\1\63\1\0\2\63"+ "\2\0\6\63\1\0\1\63\1\u0185\24\63\1\0\16\63"+ "\1\u0185\1\u0183\6\63\1\u0186\10\63\1\0\4\63\1\u0186"+ "\1\u0183\14\63\1\0\1\63\1\0\2\63\2\0\4\63"+ "\1\u017d\1\63\1\0\26\63\1\0\13\63\1\u0187\10\63"+ "\1\u017d\12\63\1\0\3\63\1\u0187\16\63\1\0\1\63"+ "\1\0\2\63\2\0\6\63\1\0\1\63\1\u0183\24\63"+ "\1\0\16\63\1\u0183\20\63\1\0\22\63\1\0\1\63"+ "\1\0\2\63\2\0\3\63\1\u0188\2\63\1\0\26\63"+ "\1\0\6\63\1\u0188\30\63\1\0\22\63\1\0\1\63"+ "\1\0\2\63\2\0\6\63\1\0\26\63\1\0\20\63"+ "\1\u0189\16\63\1\0\1\63\1\u0189\20\63\1\0\1\63"+ "\1\0\2\63\2\0\2\63\1\u018a\3\63\1\0\26\63"+ "\1\0\10\63\1\u018a\26\63\1\0\22\63\1\0\1\63"+ "\1\0\2\63\2\0\1\110\3\63\1\u018b\1\63\1\0"+ "\26\63\1\0\21\63\1\110\2\63\1\u018b\12\63\1\0"+ "\22\63\1\0\1\63\1\0\2\63\2\0\6\63\1\0"+ "\26\63\1\0\7\63\1\110\27\63\1\0\7\63\1\110"+ "\12\63\1\0\1\63\1\0\2\63\2\0\6\63\1\0"+ "\2\63\1\110\23\63\1\0\11\63\1\u018c\13\63\1\110"+ "\11\63\1\0\2\63\1\u018c\17\63\1\0\1\63\1\0"+ "\2\63\2\0\6\63\1\0\26\63\1\0\20\63\1\u018d"+ "\16\63\1\0\1\63\1\u018d\20\63\1\0\1\63\1\0"+ "\2\63\2\0\2\63\1\u018e\3\63\1\0\26\63\1\0"+ "\10\63\1\u018e\26\63\1\0\22\63\1\0\1\63\1\0"+ "\2\63\2\0\5\63\1\316\1\0\26\63\1\0\12\63"+ "\1\316\13\63\1\u0183\10\63\1\0\4\63\1\u0183\15\63"+ "\1\0\1\63\1\0\2\63\2\0\6\63\1\0\20\63"+ "\1\u018f\5\63\1\0\35\63\1\u018f\1\63\1\0\22\63"+ "\1\0\1\63\1\0\2\63\2\0\6\63\1\0\26\63"+ "\1\0\11\63\1\345\25\63\1\0\2\63\1\345\17\63"+ "\1\0\1\63\1\0\2\63\2\0\6\63\1\0\26\63"+ "\1\0\11\63\1\u0190\25\63\1\0\2\63\1\u0190\17\63"+ "\1\0\1\63\1\0\2\63\2\0\6\63\1\0\2\63"+ "\1\u0191\23\63\1\0\25\63\1\u0191\11\63\1\0\22\63"+ "\1\0\1\63\1\0\2\63\2\0\6\63\1\0\6\63"+ "\1\316\17\63\1\0\31\63\1\316\5\63\1\0\22\63"+ "\1\0\1\63\1\0\2\63\2\0\6\63\1\0\26\63"+ "\1\0\13\63\1\u0192\23\63\1\0\3\63\1\u0192\16\63"+ "\1\0\1\63\1\0\2\63\2\0\6\63\1\0\26\63"+ "\1\0\7\63\1\u0193\27\63\1\0\7\63\1\u0193\12\63"+ "\1\0\1\63\1\0\2\63\2\0\6\63\1\0\1\u0194"+ "\5\63\1\u0195\17\63\1\0\23\63\1\u0194\5\63\1\u0195"+ "\5\63\1\0\22\63\1\0\1\63\1\0\2\63\2\0"+ "\6\63\1\0\6\63\1\u0196\17\63\1\0\31\63\1\u0196"+ "\5\63\1\0\22\63\1\0\1\63\1\0\2\63\2\0"+ "\6\63\1\0\2\63\1\u0197\23\63\1\0\25\63\1\u0197"+ "\11\63\1\0\22\63\1\0\1\63\1\0\2\63\2\0"+ "\3\63\1\u0198\2\63\1\0\26\63\1\0\6\63\1\u0198"+ "\2\63\1\u0199\25\63\1\0\2\63\1\u0199\17\63\1\0"+ "\1\63\1\0\2\63\2\0\5\63\1\u019a\1\0\26\63"+ "\1\0\12\63\1\u019a\24\63\1\0\22\63\1\0\1\63"+ "\1\0\2\63\2\0\1\u019b\5\63\1\0\26\63\1\0"+ "\21\63\1\u019b\15\63\1\0\22\63\1\0\1\63\1\0"+ "\2\63\2\0\6\63\1\0\26\63\1\0\17\63\1\u019c"+ "\17\63\1\0\5\63\1\u019c\14\63\1\0\1\63\1\0"+ "\2\63\2\0\6\63\1\0\26\63\1\0\11\63\1\110"+ "\25\63\1\0\2\63\1\110\17\63\1\0\1\63\1\0"+ "\2\63\2\0\1\u019d\5\63\1\0\26\63\1\0\21\63"+ "\1\u019d\15\63\1\0\22\63\1\0\1\63\1\0\2\63"+ "\2\0\6\63\1\0\26\63\1\0\20\63\1\u019e\16\63"+ "\1\0\1\63\1\u019e\20\63\1\0\1\63\1\0\2\63"+ "\2\0\6\63\1\0\2\63\1\u019f\23\63\1\0\7\63"+ "\1\u01a0\15\63\1\u019f\11\63\1\0\7\63\1\u01a0\12\63"+ "\1\0\1\63\1\0\2\63\2\0\2\63\1\u01a1\3\63"+ "\1\0\26\63\1\0\10\63\1\u01a1\1\u0184\1\63\1\u01a2"+ "\23\63\1\0\2\63\1\u0184\1\u01a2\16\63\1\0\1\63"+ "\1\0\2\63\2\0\5\63\1\u01a3\1\0\26\63\1\0"+ "\12\63\1\u01a3\24\63\1\0\22\63\1\0\1\63\1\0"+ "\2\63\2\0\6\63\1\0\26\63\1\0\37\63\1\0"+ "\15\63\1\u017f\4\63\1\0\1\63\1\0\2\63\2\0"+ "\5\63\1\u01a4\1\0\26\63\1\0\12\63\1\u01a4\24\63"+ "\1\0\22\63\1\0\1\63\1\0\2\63\2\0\1\u01a2"+ "\5\63\1\0\26\63\1\0\21\63\1\u01a2\15\63\1\0"+ "\22\63\1\0\1\63\1\0\2\63\2\0\1\u01a5\5\63"+ "\1\0\1\63\1\320\1\u01a6\3\63\1\u0104\12\63\1\u01a7"+ "\4\63\1\0\16\63\1\320\2\63\1\u01a5\1\u01a7\2\63"+ "\1\u01a6\3\63\1\u0104\5\63\1\0\22\63\1\0\1\63"+ "\1\0\2\63\2\0\6\63\1\0\26\63\1\0\30\63"+ "\1\110\6\63\1\0\12\63\1\110\7\63\1\0\1\63"+ "\1\0\2\63\2\0\6\63\1\0\26\63\1\0\26\63"+ "\1\u01a8\10\63\1\0\4\63\1\u01a8\15\63\1\0\1\63"+ "\1\0\2\63\2\0\6\63\1\0\26\63\1\0\20\63"+ "\1\u01a9\16\63\1\0\1\63\1\u01a9\20\63\1\0\1\63"+ "\1\0\2\63\2\0\2\63\1\110\3\63\1\0\26\63"+ "\1\0\10\63\1\110\7\63\1\u01aa\7\63\1\110\6\63"+ "\1\0\1\63\1\u01aa\10\63\1\110\7\63\1\0\1\63"+ "\1\0\2\63\2\0\5\63\1\u01ab\1\0\1\63\1\110"+ "\24\63\1\0\12\63\1\u01ab\3\63\1\110\20\63\1\0"+ "\22\63\1\0\1\63\1\0\2\63\2\0\6\63\1\0"+ "\26\63\1\0\13\63\1\110\23\63\1\0\3\63\1\110"+ "\16\63\1\0\1\63\1\0\2\63\2\0\5\63\1\u01ac"+ "\1\0\26\63\1\0\12\63\1\u01ac\24\63\1\0\22\63"+ "\1\0\1\63\1\0\2\63\2\0\3\63\1\u01ad\2\63"+ "\1\0\26\63\1\0\6\63\1\u01ad\30\63\1\0\22\63"+ "\1\0\1\63\1\0\2\63\2\0\2\63\1\u01ae\3\63"+ "\1\0\26\63\1\0\10\63\1\u01ae\26\63\1\0\22\63"+ "\1\0\1\63\1\0\2\63\2\0\5\63\1\u01af\1\0"+ "\2\63\1\u01b0\23\63\1\0\12\63\1\u01af\12\63\1\u01b0"+ "\11\63\1\0\22\63\1\0\1\63\1\0\2\63\2\0"+ "\4\63\1\u01b1\1\63\1\0\26\63\1\0\24\63\1\u01b1"+ "\12\63\1\0\22\63\1\0\1\63\1\0\2\63\2\0"+ "\6\63\1\0\6\63\1\u0104\17\63\1\0\31\63\1\u0104"+ "\5\63\1\0\22\63\1\0\1\63\1\0\2\63\2\0"+ "\6\63\1\0\26\63\1\0\17\63\1\u01b2\17\63\1\0"+ "\5\63\1\u01b2\14\63\1\0\1\63\1\0\2\63\2\0"+ "\6\63\1\0\26\63\1\0\17\63\1\u01b3\17\63\1\0"+ "\5\63\1\u01b3\14\63\1\0\1\63\1\0\2\63\2\0"+ "\5\63\1\u01b4\1\0\26\63\1\0\12\63\1\u01b4\1\u01b5"+ "\23\63\1\0\3\63\1\u01b5\16\63\1\0\1\63\1\0"+ "\2\63\2\0\6\63\1\0\1\63\1\u01b6\24\63\1\0"+ "\16\63\1\u01b6\20\63\1\0\22\63\1\0\1\63\1\0"+ "\2\63\2\0\2\63\1\u01b7\1\63\1\110\1\63\1\0"+ "\26\63\1\0\10\63\1\u01b7\13\63\1\110\12\63\1\0"+ "\22\63\1\0\1\63\1\0\2\63\2\0\6\63\1\0"+ "\1\u01b8\25\63\1\0\23\63\1\u01b8\13\63\1\0\22\63"+ "\1\0\1\63\1\0\2\63\2\0\6\63\1\0\26\63"+ "\1\0\17\63\1\110\17\63\1\0\5\63\1\110\14\63"+ "\1\0\1\63\1\0\2\63\2\0\6\63\1\0\26\63"+ "\1\0\17\63\1\u01b9\17\63\1\0\5\63\1\u01b9\14\63"+ "\1\0\1\63\1\0\2\63\2\0\2\63\1\110\3\63"+ "\1\0\26\63\1\0\10\63\1\110\26\63\1\0\20\63"+ "\11\0\1\u01ba\56\0\1\u01ba\36\0\10\u0108\1\u01bb\24\u0108"+ "\1\u010a\73\u0108\1\0\124\u0108\37\0\1\u01bc\67\0\1\125"+ "\10\0\6\125\1\0\11\125\1\0\1\u01bd\1\0\3\125"+ "\1\0\2\125\13\0\25\125\2\0\1\125\2\0\17\125"+ "\1\0\1\125\10\0\6\134\1\0\11\134\1\0\1\134"+ "\1\0\1\125\1\u010d\1\134\1\0\2\134\13\0\14\134"+ "\1\u01be\7\134\1\125\2\0\1\134\2\0\17\134\20\0"+ "\1\144\26\0\1\61\60\0\1\u0110\10\0\6\u0110\1\0"+ "\11\u0110\1\0\1\u0110\1\0\3\u0110\1\0\2\u0110\13\0"+ "\25\u0110\2\0\1\u0110\2\0\17\u0110\1\0\1\u0110\10\0"+ "\6\u0110\1\0\4\u0110\2\u01bf\1\u0110\1\u01bf\1\u0110\1\u01c0"+ "\1\u0110\1\0\3\u0110\1\0\2\u0110\1\u01c0\12\0\25\u0110"+ "\2\0\1\u0110\2\0\14\u0110\1\u01bf\2\u0110\1\0\1\u0110"+ "\10\0\6\u0110\1\0\2\u0110\1\u0112\1\u0110\2\u0114\1\u0110"+ "\1\u0114\1\u0110\1\0\1\u0110\1\0\3\u0110\1\0\1\u0110"+ "\1\u0113\13\0\11\u0110\1\u0113\2\u0110\1\u0113\2\u0110\1\u0112"+ "\5\u0110\2\0\1\u0110\2\0\5\u0110\1\u0113\6\u0110\1\u0114"+ "\2\u0110\1\0\1\u0110\10\0\6\u0110\1\0\2\u0110\1\u0112"+ "\1\u0110\2\u0115\1\u0110\1\u0115\1\u0110\1\0\1\u0110\1\0"+ "\3\u0110\1\0\1\u0110\1\u0113\1\0\1\u0114\11\0\11\u0110"+ "\1\u0113\2\u0110\1\u0113\2\u0110\1\u0112\5\u0110\2\0\1\u0110"+ "\2\0\5\u0110\1\u0113\6\u0110\1\u0115\2\u0110\1\0\1\u0110"+ "\10\0\6\u0110\1\0\1\u0110\1\u01c1\1\u0112\1\u0110\1\u0115"+ "\1\u0116\1\u0110\1\u0116\1\u0110\1\0\1\u0110\1\0\3\u0110"+ "\1\0\1\u0110\1\u0113\1\0\1\u0114\11\0\10\u0110\1\u01c1"+ "\1\u0113\2\u0110\1\u0113\2\u0110\1\u0112\5\u0110\2\0\1\u0110"+ "\2\0\5\u0110\1\u0113\6\u0110\1\u0116\2\u0110\1\0\1\u0110"+ "\10\0\1\u0110\1\u01c2\4\u0110\1\0\2\u0110\1\u01c2\1\u0110"+ "\4\u01c2\1\u0110\1\0\1\u0110\1\0\3\u0110\1\0\1\u0110"+ "\1\u01c2\13\0\7\u0110\1\u01c2\1\u0110\2\u01c2\1\u0110\1\u01c2"+ "\2\u0110\1\u01c2\3\u0110\1\u01c2\1\u0110\2\0\1\u0110\2\0"+ "\1\u0110\1\u01c2\3\u0110\1\u01c2\6\u0110\1\u01c2\2\u0110\1\0"+ "\1\125\10\0\6\134\1\0\11\134\1\0\1\134\1\0"+ "\1\125\1\u010d\1\134\1\0\2\134\13\0\17\134\1\u01c3"+ "\4\134\1\125\2\0\1\134\2\0\17\134\1\0\1\125"+ "\10\0\6\134\1\0\11\134\1\0\1\134\1\0\1\125"+ "\1\u010d\1\134\1\0\2\134\13\0\4\134\1\u01c4\6\134"+ "\1\u01c5\10\134\1\125\2\0\1\134\2\0\17\134\1\0"+ "\1\125\10\0\6\134\1\0\11\134\1\0\1\134\1\0"+ "\1\125\1\u010d\1\134\1\0\1\134\1\u01c6\13\0\24\134"+ "\1\125\2\0\1\134\2\0\3\134\1\u01c7\13\134\1\0"+ "\1\125\10\0\6\134\1\0\11\134\1\0\1\134\1\0"+ "\1\125\1\u010d\1\134\1\0\2\134\13\0\16\134\1\u01c8"+ "\5\134\1\125\2\0\1\134\2\0\17\134\1\0\1\125"+ "\10\0\6\134\1\0\11\134\1\0\1\134\1\0\1\125"+ "\1\u010d\1\134\1\0\2\134\13\0\4\134\1\u01c9\17\134"+ "\1\125\2\0\1\134\2\0\17\134\1\0\1\125\10\0"+ "\6\134\1\0\11\134\1\0\1\134\1\0\1\125\1\u010d"+ "\1\134\1\0\2\134\13\0\4\134\1\u01ca\17\134\1\125"+ "\2\0\1\134\2\0\17\134\1\0\1\125\10\0\6\134"+ "\1\0\11\134\1\0\1\u01cb\1\0\1\125\1\u010d\1\134"+ "\1\0\2\134\13\0\12\134\1\u01cc\2\134\1\u011b\6\134"+ "\1\125\2\0\1\134\2\0\17\134\1\0\1\125\10\0"+ "\6\134\1\0\11\134\1\0\1\134\1\0\1\125\1\u010d"+ "\1\134\1\0\2\134\13\0\1\u01cd\1\134\1\u01ce\21\134"+ "\1\125\2\0\1\134\2\0\17\134\1\0\1\125\10\0"+ "\6\134\1\0\11\134\1\0\1\134\1\0\1\125\1\u010d"+ "\1\134\1\0\2\134\13\0\16\134\1\u01cf\5\134\1\125"+ "\2\0\1\134\2\0\17\134\1\0\1\125\10\0\6\134"+ "\1\0\11\134\1\0\1\134\1\0\1\125\1\u010d\1\134"+ "\1\0\2\134\13\0\10\134\1\u01d0\13\134\1\125\2\0"+ "\1\134\2\0\17\134\1\0\1\125\10\0\6\134\1\0"+ "\11\134\1\0\1\134\1\0\1\125\1\u010d\1\134\1\0"+ "\2\134\13\0\4\134\1\u01d1\17\134\1\125\2\0\1\134"+ "\2\0\17\134\1\0\1\125\10\0\6\134\1\0\11\134"+ "\1\0\1\134\1\0\1\125\1\u010d\1\134\1\0\2\134"+ "\13\0\24\134\1\125\2\0\1\134\2\0\1\u011b\16\134"+ "\1\0\1\125\10\0\6\134\1\0\11\134\1\0\1\134"+ "\1\0\1\125\1\u010d\1\134\1\0\2\134\13\0\5\134"+ "\1\u01d2\16\134\1\125\2\0\1\134\2\0\17\134\1\0"+ "\1\125\10\0\6\134\1\0\11\134\1\0\1\134\1\0"+ "\1\125\1\u010d\1\134\1\0\2\134\13\0\12\134\1\u01d3"+ "\11\134\1\125\2\0\1\134\2\0\17\134\1\0\1\125"+ "\10\0\6\134\1\0\11\134\1\0\1\134\1\0\1\125"+ "\1\u010d\1\134\1\0\2\134\13\0\12\134\1\u01d4\11\134"+ "\1\125\2\0\1\134\2\0\17\134\1\0\1\125\10\0"+ "\6\134\1\0\11\134\1\0\1\134\1\0\1\125\1\u010d"+ "\1\134\1\0\2\134\13\0\4\134\1\u01d5\6\134\1\u01d6"+ "\10\134\1\125\2\0\1\134\2\0\17\134\1\0\1\125"+ "\10\0\6\134\1\0\11\134\1\0\1\134\1\0\1\125"+ "\1\u010d\1\134\1\0\2\134\13\0\5\134\1\u01d7\16\134"+ "\1\125\2\0\1\134\2\0\17\134\1\0\1\125\10\0"+ "\6\134\1\0\11\134\1\0\1\134\1\0\1\125\1\u010d"+ "\1\134\1\0\2\134\13\0\4\134\1\u01d8\17\134\1\125"+ "\2\0\1\134\2\0\17\134\1\0\1\125\10\0\6\134"+ "\1\0\11\134\1\0\1\u01d9\1\0\1\125\1\u010d\1\134"+ "\1\0\2\134\13\0\24\134\1\125\2\0\1\134\2\0"+ "\17\134\1\0\1\125\10\0\6\134\1\0\11\134\1\0"+ "\1\134\1\0\1\125\1\u010d\1\134\1\0\2\134\13\0"+ "\10\134\1\u01da\3\134\1\u01db\6\134\1\u01dc\1\125\2\0"+ "\1\134\2\0\17\134\1\0\1\125\10\0\6\134\1\0"+ "\11\134\1\0\1\134\1\0\1\125\1\u010d\1\134\1\0"+ "\2\134\13\0\13\134\1\u01dd\10\134\1\125\2\0\1\134"+ "\2\0\17\134\1\0\1\125\10\0\6\134\1\0\11\134"+ "\1\0\1\134\1\0\1\125\1\u010d\1\134\1\0\2\134"+ "\13\0\16\134\1\u01de\5\134\1\125\2\0\1\134\2\0"+ "\17\134\1\0\1\125\10\0\6\134\1\0\11\134\1\0"+ "\1\134\1\0\1\125\1\u010d\1\134\1\0\2\134\13\0"+ "\12\134\1\u01df\11\134\1\125\2\0\1\134\2\0\17\134"+ "\1\0\1\125\10\0\6\134\1\0\11\134\1\0\1\134"+ "\1\0\1\125\1\u010d\1\134\1\0\2\134\13\0\3\134"+ "\1\u01e0\20\134\1\125\2\0\1\134\2\0\17\134\1\0"+ "\1\125\10\0\6\134\1\0\11\134\1\0\1\134\1\0"+ "\1\125\1\u010d\1\134\1\0\2\134\13\0\5\134\1\u01e1"+ "\16\134\1\125\2\0\1\134\2\0\17\134\1\0\1\125"+ "\10\0\6\134\1\0\11\134\1\0\1\134\1\0\1\125"+ "\1\u010d\1\134\1\0\2\134\13\0\1\u01e2\23\134\1\125"+ "\2\0\1\134\2\0\17\134\1\0\1\125\10\0\6\134"+ "\1\0\11\134\1\0\1\134\1\0\1\125\1\u010d\1\134"+ "\1\0\2\134\13\0\5\134\1\u01e3\16\134\1\125\2\0"+ "\1\134\2\0\17\134\1\0\1\125\10\0\6\134\1\0"+ "\11\134\1\0\1\134\1\0\1\125\1\u010d\1\134\1\0"+ "\2\134\13\0\5\134\1\u01e4\16\134\1\125\2\0\1\134"+ "\2\0\17\134\1\0\1\125\10\0\6\134\1\0\11\134"+ "\1\0\1\134\1\0\1\125\1\u010d\1\134\1\0\2\134"+ "\13\0\2\134\1\u011b\21\134\1\125\2\0\1\134\2\0"+ "\17\134\1\0\1\125\10\0\6\134\1\0\11\134\1\0"+ "\1\134\1\0\1\125\1\u010d\1\134\1\0\2\134\13\0"+ "\3\134\1\u01e5\20\134\1\125\2\0\1\134\2\0\17\134"+ "\1\0\1\125\10\0\6\134\1\0\11\134\1\0\1\134"+ "\1\0\1\125\1\u010d\1\134\1\0\2\134\13\0\10\134"+ "\1\u01e6\13\134\1\125\2\0\1\134\2\0\17\134\1\0"+ "\1\125\10\0\6\134\1\0\11\134\1\0\1\134\1\0"+ "\1\125\1\u010d\1\134\1\0\2\134\13\0\23\134\1\u01e7"+ "\1\125\2\0\1\134\2\0\17\134\1\0\1\125\10\0"+ "\6\134\1\0\11\134\1\0\1\134\1\0\1\125\1\u010d"+ "\1\134\1\0\2\134\13\0\1\u01e8\2\134\1\u01e9\20\134"+ "\1\125\2\0\1\134\2\0\17\134\1\0\1\125\10\0"+ "\6\134\1\0\11\134\1\0\1\134\1\0\1\125\1\u010d"+ "\1\134\1\0\2\134\13\0\2\134\1\u01ea\4\134\1\u01eb"+ "\14\134\1\125\2\0\1\134\2\0\17\134\1\0\1\125"+ "\10\0\6\134\1\0\11\134\1\0\1\u01ec\1\0\1\125"+ "\1\u010d\1\134\1\0\2\134\13\0\24\134\1\125\2\0"+ "\1\134\2\0\17\134\1\0\1\125\10\0\6\134\1\0"+ "\11\134\1\0\1\134\1\0\1\125\1\u010d\1\134\1\0"+ "\2\134\13\0\13\134\1\u01d6\10\134\1\125\2\0\1\134"+ "\2\0\17\134\1\0\1\125\10\0\6\134\1\0\11\134"+ "\1\0\1\134\1\0\1\125\1\u010d\1\134\1\0\2\134"+ "\13\0\7\134\1\u01ed\14\134\1\125\2\0\1\134\2\0"+ "\17\134\1\0\1\125\10\0\6\134\1\0\11\134\1\0"+ "\1\134\1\0\1\125\1\u010d\1\134\1\0\2\134\13\0"+ "\7\134\1\u01ee\14\134\1\125\2\0\1\134\2\0\17\134"+ "\1\0\1\125\10\0\6\134\1\0\11\134\1\0\1\134"+ "\1\0\1\125\1\u010d\1\134\1\0\2\134\13\0\12\134"+ "\1\u01ef\11\134\1\125\2\0\1\134\2\0\17\134\1\0"+ "\1\125\10\0\6\134\1\0\11\134\1\0\1\134\1\0"+ "\1\125\1\u010d\1\134\1\0\2\134\13\0\4\134\1\u01f0"+ "\11\134\1\u01f1\5\134\1\125\2\0\1\134\2\0\17\134"+ "\1\0\1\125\10\0\6\134\1\0\11\134\1\0\1\134"+ "\1\0\1\125\1\u010d\1\134\1\0\2\134\13\0\1\u01f2"+ "\7\134\1\u01f3\13\134\1\125\2\0\1\134\2\0\17\134"+ "\1\0\1\125\10\0\6\134\1\0\11\134\1\0\1\134"+ "\1\0\1\125\1\u010d\1\134\1\0\2\134\13\0\17\134"+ "\1\u01f4\4\134\1\125\2\0\1\134\2\0\17\134\1\0"+ "\1\125\10\0\6\134\1\0\11\134\1\0\1\134\1\0"+ "\1\125\1\u010d\1\134\1\0\2\134\13\0\3\134\1\u01f5"+ "\20\134\1\125\2\0\1\134\2\0\17\134\1\0\1\125"+ "\10\0\6\134\1\0\11\134\1\0\1\134\1\0\1\125"+ "\1\u010d\1\134\1\0\2\134\13\0\4\134\1\u01f6\17\134"+ "\1\125\2\0\1\134\2\0\17\134\1\0\1\125\10\0"+ "\6\134\1\0\11\134\1\0\1\134\1\0\1\125\1\u010d"+ "\1\134\1\0\2\134\13\0\4\134\1\u01f7\17\134\1\125"+ "\2\0\1\134\2\0\17\134\1\0\1\125\10\0\6\134"+ "\1\0\11\134\1\0\1\134\1\0\1\125\1\u010d\1\134"+ "\1\0\2\134\13\0\1\u01f8\23\134\1\125\2\0\1\134"+ "\2\0\17\134\1\0\1\125\10\0\6\134\1\0\11\134"+ "\1\0\1\134\1\0\1\125\1\u010d\1\134\1\0\2\134"+ "\13\0\24\134\1\125\2\0\1\134\2\0\3\134\1\u011b"+ "\13\134\13\0\1\u01f9\7\0\1\u01f9\1\0\4\u01f9\11\0"+ "\1\u01f9\22\0\1\u01f9\1\0\2\u01f9\1\0\1\u01f9\2\0"+ "\1\u01f9\3\0\1\u01f9\7\0\1\u01f9\3\0\1\u01f9\6\0"+ "\1\u01f9\15\0\1\u01fa\7\0\1\u01fa\1\0\4\u01fa\11\0"+ "\1\u01fa\22\0\1\u01fa\1\0\2\u01fa\1\0\1\u01fa\2\0"+ "\1\u01fa\3\0\1\u01fa\7\0\1\u01fa\3\0\1\u01fa\6\0"+ "\1\u01fa\14\0\1\u01fb\56\0\1\u01fb\117\0\1\u01fc\132\0"+ "\1\u01fd\134\0\1\u01fe\142\0\1\u01ff\30\0\1\u0200\56\0"+ "\1\u0200\47\0\1\u0201\56\0\1\u0201\47\0\6\u0154\1\0"+ "\13\u0154\5\0\2\u0154\1\0\1\u0154\11\0\24\u0154\3\0"+ "\1\u0154\2\0\17\u0154\70\0\1\u0202\1\0\1\u0203\6\0"+ "\1\u0204\106\0\1\u0205\130\0\1\u0206\133\0\1\u0207\117\0"+ "\1\u0208\1\u0209\125\0\1\u020a\131\0\1\u020b\120\0\1\u020c"+ "\11\0\1\u020d\114\0\1\u020e\135\0\1\u020f\117\0\1\u0210"+ "\2\0\1\u0211\130\0\1\u0212\12\0\1\u0213\106\0\1\u0214"+ "\62\0\6\u0162\1\0\13\u0162\5\0\2\u0162\1\0\1\u0162"+ "\11\0\24\u0162\3\0\1\u0162\2\0\17\u0162\63\0\1\u0163"+ "\141\0\1\u0163\112\0\1\u0163\2\0\1\u0163\17\0\1\u0163"+ "\117\0\1\u0163\6\0\1\u0163\112\0\1\u0163\4\0\1\u0163"+ "\126\0\1\u0215\112\0\1\u0216\132\0\1\u0217\134\0\1\u0218"+ "\142\0\1\u0219\30\0\2\270\1\u021a\3\270\1\0\10\270"+ "\2\0\1\270\5\0\2\270\13\0\2\270\1\u021a\21\270"+ "\3\0\1\270\2\0\17\270\12\0\6\270\1\0\1\u021b"+ "\7\270\2\0\1\270\5\0\2\270\13\0\15\270\1\u021b"+ "\6\270\3\0\1\270\2\0\17\270\32\0\1\u021c\170\0"+ "\1\u021d\127\0\1\u0178\105\0\1\u021e\116\0\1\u021f\63\0"+ "\2\63\1\0\1\63\1\0\2\63\2\0\3\63\1\u0220"+ "\2\63\1\0\26\63\1\0\6\63\1\u0220\30\63\1\0"+ "\22\63\1\0\1\63\1\0\2\63\2\0\1\63\1\u0194"+ "\4\63\1\0\26\63\1\0\13\63\1\110\1\63\1\u0194"+ "\21\63\1\0\3\63\1\110\16\63\1\0\1\63\1\0"+ "\2\63\2\0\3\63\1\u0221\2\63\1\0\26\63\1\0"+ "\6\63\1\u0221\2\63\1\u0222\25\63\1\0\2\63\1\u0222"+ "\17\63\1\0\1\63\1\0\2\63\2\0\5\63\1\u0223"+ "\1\0\26\63\1\0\12\63\1\u0223\24\63\1\0\22\63"+ "\1\0\1\63\1\0\2\63\2\0\6\63\1\0\26\63"+ "\1\0\30\63\1\u0194\6\63\1\0\12\63\1\u0194\7\63"+ "\1\0\1\63\1\0\2\63\2\0\6\63\1\0\2\63"+ "\1\u0224\23\63\1\0\25\63\1\u0224\11\63\1\0\22\63"+ "\1\0\1\63\1\0\2\63\2\0\2\63\1\u0225\3\63"+ "\1\0\26\63\1\0\10\63\1\u0225\26\63\1\0\22\63"+ "\1\0\1\63\1\0\2\63\2\0\4\63\1\110\1\63"+ "\1\0\26\63\1\0\24\63\1\110\12\63\1\0\22\63"+ "\1\0\1\63\1\0\2\63\2\0\6\63\1\0\1\63"+ "\1\u01a8\24\63\1\0\16\63\1\u01a8\20\63\1\0\22\63"+ "\1\0\1\63\1\0\2\63\2\0\6\63\1\0\2\63"+ "\1\110\23\63\1\0\25\63\1\110\11\63\1\0\22\63"+ "\1\0\1\63\1\0\2\63\2\0\5\63\1\u0194\1\0"+ "\26\63\1\0\12\63\1\u0194\24\63\1\0\22\63\1\0"+ "\1\63\1\0\2\63\2\0\6\63\1\0\26\63\1\0"+ "\7\63\1\u0226\27\63\1\0\7\63\1\u0226\12\63\1\0"+ "\1\63\1\0\2\63\2\0\6\63\1\0\26\63\1\0"+ "\26\63\1\u0227\10\63\1\0\4\63\1\u0227\15\63\1\0"+ "\1\63\1\0\2\63\2\0\6\63\1\0\26\63\1\0"+ "\30\63\1\u0228\6\63\1\0\12\63\1\u0228\7\63\1\0"+ "\1\63\1\0\2\63\2\0\6\63\1\0\26\63\1\0"+ "\13\63\1\u0229\23\63\1\0\3\63\1\u0229\16\63\1\0"+ "\1\63\1\0\2\63\2\0\6\63\1\0\1\u0194\25\63"+ "\1\0\23\63\1\u0194\13\63\1\0\22\63\1\0\1\63"+ "\1\0\2\63\2\0\6\63\1\0\26\63\1\0\20\63"+ "\1\u022a\16\63\1\0\1\63\1\u022a\20\63\1\0\1\63"+ "\1\0\2\63\2\0\6\63\1\0\12\63\1\u01a2\13\63"+ "\1\0\37\63\1\0\6\63\1\u01a2\13\63\1\0\1\63"+ "\1\0\2\63\2\0\6\63\1\0\26\63\1\0\7\63"+ "\1\u01b3\27\63\1\0\7\63\1\u01b3\12\63\1\0\1\63"+ "\1\0\2\63\2\0\3\63\1\u022b\2\63\1\0\26\63"+ "\1\0\6\63\1\u022b\30\63\1\0\22\63\1\0\1\63"+ "\1\0\2\63\2\0\6\63\1\0\26\63\1\0\20\63"+ "\1\u01a1\16\63\1\0\1\63\1\u01a1\20\63\1\0\1\63"+ "\1\0\2\63\2\0\5\63\1\u022c\1\0\26\63\1\0"+ "\12\63\1\u022c\24\63\1\0\22\63\1\0\1\63\1\0"+ "\2\63\2\0\6\63\1\0\26\63\1\0\11\63\1\u01a2"+ "\25\63\1\0\2\63\1\u01a2\17\63\1\0\1\63\1\0"+ "\2\63\2\0\6\63\1\0\26\63\1\0\20\63\1\u0102"+ "\16\63\1\0\1\63\1\u0102\20\63\1\0\1\63\1\0"+ "\2\63\2\0\6\63\1\0\26\63\1\0\27\63\1\110"+ "\7\63\1\0\10\63\1\110\11\63\1\0\1\63\1\0"+ "\2\63\2\0\6\63\1\0\2\63\1\u022d\23\63\1\0"+ "\25\63\1\u022d\11\63\1\0\22\63\1\0\1\63\1\0"+ "\2\63\2\0\6\63\1\0\2\63\1\u0104\23\63\1\0"+ "\25\63\1\u0104\11\63\1\0\22\63\1\0\1\63\1\0"+ "\2\63\2\0\6\63\1\0\2\63\1\u01a8\23\63\1\0"+ "\25\63\1\u01a8\11\63\1\0\22\63\1\0\1\63\1\0"+ "\2\63\2\0\6\63\1\0\2\63\1\u0102\23\63\1\0"+ "\25\63\1\u0102\11\63\1\0\22\63\1\0\1\63\1\0"+ "\2\63\2\0\6\63\1\0\26\63\1\0\13\63\1\u022e"+ "\23\63\1\0\3\63\1\u022e\16\63\1\0\1\63\1\0"+ "\2\63\2\0\1\63\1\u022f\4\63\1\0\26\63\1\0"+ "\15\63\1\u022f\21\63\1\0\22\63\1\0\1\63\1\0"+ "\2\63\2\0\5\63\1\u0230\1\0\26\63\1\0\12\63"+ "\1\u0230\24\63\1\0\22\63\1\0\1\63\1\0\2\63"+ "\2\0\6\63\1\0\26\63\1\0\11\63\1\u0231\25\63"+ "\1\0\2\63\1\u0231\17\63\1\0\1\63\1\0\2\63"+ "\2\0\6\63\1\0\1\110\25\63\1\0\23\63\1\110"+ "\13\63\1\0\22\63\1\0\1\63\1\0\2\63\2\0"+ "\6\63\1\0\2\63\1\u0232\23\63\1\0\25\63\1\u0232"+ "\11\63\1\0\22\63\1\0\1\63\1\0\2\63\2\0"+ "\6\63\1\0\26\63\1\0\26\63\1\u0233\10\63\1\0"+ "\4\63\1\u0233\15\63\1\0\1\63\1\0\2\63\2\0"+ "\6\63\1\0\1\63\1\u0234\24\63\1\0\16\63\1\u0234"+ "\20\63\1\0\22\63\1\0\1\63\1\0\2\63\2\0"+ "\6\63\1\0\12\63\1\u0235\13\63\1\0\37\63\1\0"+ "\6\63\1\u0235\13\63\1\0\1\63\1\0\2\63\2\0"+ "\6\63\1\0\26\63\1\0\26\63\1\110\10\63\1\0"+ "\4\63\1\110\15\63\1\0\1\63\1\0\2\63\2\0"+ "\5\63\1\110\1\0\26\63\1\0\12\63\1\110\24\63"+ "\1\0\22\63\1\0\1\63\1\0\2\63\2\0\3\63"+ "\1\u0230\2\63\1\0\26\63\1\0\6\63\1\u0230\1\u0226"+ "\27\63\1\0\7\63\1\u0226\12\63\1\0\1\63\1\0"+ "\2\63\2\0\4\63\1\u018b\1\63\1\0\26\63\1\0"+ "\24\63\1\u018b\12\63\1\0\22\63\1\0\1\63\1\0"+ "\2\63\2\0\1\63\1\302\4\63\1\0\26\63\1\0"+ "\15\63\1\302\21\63\1\0\22\63\1\0\1\63\1\0"+ "\2\63\2\0\6\63\1\0\26\63\1\0\26\63\1\u0236"+ "\10\63\1\0\4\63\1\u0236\15\63\1\0\1\63\1\0"+ "\2\63\2\0\2\63\1\u0237\3\63\1\0\26\63\1\0"+ "\10\63\1\u0237\26\63\1\0\22\63\1\0\1\63\1\0"+ "\2\63\2\0\6\63\1\0\26\63\1\0\17\63\1\u0238"+ "\17\63\1\0\5\63\1\u0238\14\63\1\0\1\63\1\0"+ "\2\63\2\0\6\63\1\0\1\63\1\u0239\24\63\1\0"+ "\16\63\1\u0239\20\63\1\0\22\63\1\0\1\63\1\0"+ "\2\63\2\0\6\63\1\0\26\63\1\0\20\63\1\u023a"+ "\16\63\1\0\1\63\1\u023a\20\63\1\0\1\63\1\0"+ "\2\63\2\0\6\63\1\0\26\63\1\0\20\63\1\u023b"+ "\16\63\1\0\1\63\1\u023b\20\63\1\0\1\63\1\0"+ "\2\63\2\0\6\63\1\0\26\63\1\0\17\63\1\u0183"+ "\17\63\1\0\5\63\1\u0183\14\63\1\0\1\63\1\0"+ "\2\63\2\0\6\63\1\0\26\63\1\0\11\63\1\u023c"+ "\25\63\1\0\2\63\1\u023c\17\63\1\0\1\63\1\0"+ "\2\63\2\0\3\63\1\u023d\2\63\1\0\26\63\1\0"+ "\6\63\1\u023d\30\63\1\0\22\63\1\0\1\63\1\0"+ "\2\63\2\0\6\63\1\0\26\63\1\0\20\63\1\110"+ "\16\63\1\0\1\63\1\110\20\63\1\0\1\63\1\0"+ "\2\63\2\0\6\63\1\0\1\63\1\u023e\24\63\1\0"+ "\16\63\1\u023e\20\63\1\0\22\63\1\0\1\63\1\0"+ "\2\63\2\0\3\63\1\346\2\63\1\0\26\63\1\0"+ "\6\63\1\346\30\63\1\0\22\63\1\0\1\63\1\0"+ "\2\63\2\0\2\63\1\u023f\3\63\1\0\26\63\1\0"+ "\10\63\1\u023f\26\63\1\0\22\63\1\0\1\63\1\0"+ "\2\63\2\0\6\63\1\0\2\63\1\u0104\23\63\1\0"+ "\20\63\1\110\4\63\1\u0104\11\63\1\0\1\63\1\110"+ "\20\63\1\0\1\63\1\0\2\63\2\0\6\63\1\0"+ "\12\63\1\110\13\63\1\0\37\63\1\0\6\63\1\110"+ "\13\63\1\0\1\63\1\0\2\63\2\0\5\63\1\u0240"+ "\1\0\26\63\1\0\12\63\1\u0240\24\63\1\0\22\63"+ "\1\0\1\63\1\0\2\63\2\0\6\63\1\0\26\63"+ "\1\0\27\63\1\110\7\63\1\0\10\63\1\110\1\u0241"+ "\10\63\1\0\1\63\1\0\2\63\2\0\6\63\1\0"+ "\26\63\1\0\7\63\1\u0242\27\63\1\0\7\63\1\u0242"+ "\12\63\1\0\1\63\1\0\2\63\2\0\6\63\1\0"+ "\2\63\1\346\23\63\1\0\25\63\1\346\11\63\1\0"+ "\20\63\12\0\1\u0243\51\0\1\u0243\117\0\2\u01bb\16\0"+ "\1\u01bb\41\0\1\u0244\116\0\1\125\10\0\1\125\1\u0245"+ "\4\125\1\0\2\125\1\u0245\1\125\4\u0245\1\125\1\0"+ "\1\125\1\0\3\125\1\0\1\125\1\u0245\13\0\7\125"+ "\1\u0245\1\125\2\u0245\1\125\1\u0245\2\125\1\u0245\3\125"+ "\1\u0245\1\125\2\0\1\125\2\0\1\125\1\u0245\3\125"+ "\1\u0245\6\125\1\u0245\2\125\1\0\1\125\10\0\6\134"+ "\1\0\11\134\1\0\1\134\1\0\1\125\1\u010d\1\134"+ "\1\0\2\134\13\0\1\u0246\23\134\1\125\2\0\1\134"+ "\2\0\17\134\1\0\1\u0110\10\0\6\u0110\1\0\4\u0110"+ "\2\u01bf\1\u0110\1\u01bf\1\u0110\1\0\1\u0110\1\0\3\u0110"+ "\1\0\1\u0110\1\u0113\13\0\11\u0110\1\u0113\2\u0110\1\u0113"+ "\10\u0110\2\0\1\u0110\2\0\5\u0110\1\u0113\6\u0110\1\u01bf"+ "\2\u0110\25\0\2\u01bf\1\0\1\u01bf\73\0\1\u01bf\3\0"+ "\1\u0110\10\0\1\u0110\1\u01c2\4\u0110\1\0\1\u0110\1\u01c1"+ "\1\u01c2\1\u0110\4\u01c2\1\u0110\1\0\1\u0110\1\0\3\u0110"+ "\1\0\1\u0110\1\u01c2\13\0\7\u0110\1\u01c2\1\u01c1\2\u01c2"+ "\1\u0110\1\u01c2\2\u0110\1\u01c2\3\u0110\1\u01c2\1\u0110\2\0"+ "\1\u0110\2\0\1\u0110\1\u01c2\3\u0110\1\u01c2\6\u0110\1\u01c2"+ "\2\u0110\1\0\1\125\10\0\6\134\1\0\11\134\1\0"+ "\1\134\1\0\1\125\1\u010d\1\134\1\0\2\134\13\0"+ "\13\134\1\u013e\10\134\1\125\2\0\1\134\2\0\17\134"+ "\1\0\1\125\10\0\6\134\1\0\11\134\1\0\1\134"+ "\1\0\1\125\1\u010d\1\134\1\0\2\134\13\0\17\134"+ "\1\u0247\4\134\1\125\2\0\1\134\2\0\17\134\1\0"+ "\1\125\10\0\6\134\1\0\11\134\1\0\1\134\1\0"+ "\1\125\1\u010d\1\134\1\0\2\134\13\0\4\134\1\u0248"+ "\17\134\1\125\2\0\1\134\2\0\17\134\1\0\1\125"+ "\10\0\6\134\1\0\11\134\1\0\1\134\1\0\1\125"+ "\1\u010d\1\134\1\0\2\134\13\0\1\u0249\23\134\1\125"+ "\2\0\1\134\2\0\17\134\1\0\1\125\10\0\6\134"+ "\1\0\11\134\1\0\1\134\1\0\1\125\1\u010d\1\134"+ "\1\0\2\134\13\0\12\134\1\u024a\11\134\1\125\2\0"+ "\1\134\2\0\17\134\1\0\1\125\10\0\6\134\1\0"+ "\11\134\1\0\1\134\1\0\1\125\1\u010d\1\134\1\0"+ "\2\134\13\0\3\134\1\u024b\4\134\1\u024c\13\134\1\125"+ "\2\0\1\134\2\0\17\134\1\0\1\125\10\0\6\134"+ "\1\0\11\134\1\0\1\134\1\0\1\125\1\u010d\1\134"+ "\1\0\2\134\13\0\3\134\1\u011b\20\134\1\125\2\0"+ "\1\134\2\0\17\134\1\0\1\125\10\0\6\134\1\0"+ "\11\134\1\0\1\u024d\1\0\1\125\1\u010d\1\134\1\0"+ "\2\134\13\0\24\134\1\125\2\0\1\134\2\0\17\134"+ "\1\0\1\125\10\0\6\134\1\0\11\134\1\0\1\134"+ "\1\0\1\125\1\u010d\1\134\1\0\2\134\13\0\17\134"+ "\1\u024e\4\134\1\125\2\0\1\134\2\0\17\134\1\0"+ "\1\125\10\0\6\134\1\0\11\134\1\0\1\134\1\0"+ "\1\125\1\u010d\1\134\1\0\2\134\13\0\5\134\1\u024f"+ "\16\134\1\125\2\0\1\134\2\0\17\134\1\0\1\125"+ "\10\0\6\134\1\0\11\134\1\0\1\134\1\0\1\125"+ "\1\u010d\1\134\1\0\2\134\13\0\13\134\1\u011b\10\134"+ "\1\125\2\0\1\134\2\0\17\134\1\0\1\125\10\0"+ "\6\134\1\0\11\134\1\0\1\134\1\0\1\125\1\u010d"+ "\1\134\1\0\2\134\13\0\3\134\1\u0250\20\134\1\125"+ "\2\0\1\134\2\0\17\134\1\0\1\125\10\0\6\134"+ "\1\0\11\134\1\0\1\134\1\0\1\125\1\u010d\1\134"+ "\1\0\2\134\13\0\17\134\1\u0251\4\134\1\125\2\0"+ "\1\134\2\0\17\134\1\0\1\125\10\0\6\134\1\0"+ "\11\134\1\0\1\134\1\0\1\125\1\u010d\1\134\1\0"+ "\2\134\13\0\10\134\1\u011b\13\134\1\125\2\0\1\134"+ "\2\0\17\134\1\0\1\125\10\0\6\134\1\0\11\134"+ "\1\0\1\134\1\0\1\125\1\u010d\1\134\1\0\2\134"+ "\13\0\1\u0252\23\134\1\125\2\0\1\134\2\0\17\134"+ "\1\0\1\125\10\0\6\134\1\0\11\134\1\0\1\134"+ "\1\0\1\125\1\u010d\1\134\1\0\2\134\13\0\4\134"+ "\1\u0253\6\134\1\u0254\10\134\1\125\2\0\1\134\2\0"+ "\17\134\1\0\1\125\10\0\6\134\1\0\11\134\1\0"+ "\1\134\1\0\1\125\1\u010d\1\134\1\0\2\134\13\0"+ "\2\134\1\u0255\21\134\1\125\2\0\1\134\2\0\17\134"+ "\1\0\1\125\10\0\6\134\1\0\11\134\1\0\1\134"+ "\1\0\1\125\1\u010d\1\134\1\0\2\134\13\0\13\134"+ "\1\u01cd\10\134\1\125\2\0\1\134\2\0\17\134\1\0"+ "\1\125\10\0\6\134\1\0\11\134\1\0\1\134\1\0"+ "\1\125\1\u010d\1\134\1\0\2\134\13\0\7\134\1\u01f7"+ "\14\134\1\125\2\0\1\134\2\0\17\134\1\0\1\125"+ "\10\0\6\134\1\0\11\134\1\0\1\134\1\0\1\125"+ "\1\u010d\1\134\1\0\2\134\13\0\17\134\1\u011b\4\134"+ "\1\125\2\0\1\134\2\0\17\134\1\0\1\125\10\0"+ "\6\134\1\0\11\134\1\0\1\134\1\0\1\125\1\u010d"+ "\1\134\1\0\2\134\13\0\1\134\1\u0255\22\134\1\125"+ "\2\0\1\134\2\0\17\134\1\0\1\125\10\0\6\134"+ "\1\0\11\134\1\0\1\134\1\0\1\125\1\u010d\1\134"+ "\1\0\2\134\13\0\23\134\1\u0256\1\125\2\0\1\134"+ "\2\0\17\134\1\0\1\125\10\0\6\134\1\0\11\134"+ "\1\0\1\134\1\0\1\125\1\u010d\1\134\1\0\2\134"+ "\13\0\17\134\1\u0257\4\134\1\125\2\0\1\134\2\0"+ "\17\134\1\0\1\125\10\0\6\134\1\0\11\134\1\0"+ "\1\134\1\0\1\125\1\u010d\1\134\1\0\2\134\13\0"+ "\12\134\1\u0258\11\134\1\125\2\0\1\134\2\0\17\134"+ "\1\0\1\125\10\0\6\134\1\0\11\134\1\0\1\u0259"+ "\1\0\1\125\1\u010d\1\134\1\0\2\134\13\0\24\134"+ "\1\125\2\0\1\134\2\0\17\134\1\0\1\125\10\0"+ "\6\134\1\0\11\134\1\0\1\134\1\0\1\125\1\u010d"+ "\1\134\1\0\2\134\13\0\4\134\1\u025a\17\134\1\125"+ "\2\0\1\134\2\0\17\134\1\0\1\125\10\0\6\134"+ "\1\0\11\134\1\0\1\134\1\0\1\125\1\u010d\1\134"+ "\1\0\2\134\13\0\17\134\1\u0135\4\134\1\125\2\0"+ "\1\134\2\0\17\134\1\0\1\125\10\0\6\134\1\0"+ "\11\134\1\0\1\134\1\0\1\125\1\u010d\1\134\1\0"+ "\2\134\13\0\4\134\1\u025b\17\134\1\125\2\0\1\134"+ "\2\0\17\134\1\0\1\125\10\0\6\134\1\0\11\134"+ "\1\0\1\134\1\0\1\125\1\u010d\1\134\1\0\2\134"+ "\13\0\2\134\1\u025c\21\134\1\125\2\0\1\134\2\0"+ "\17\134\1\0\1\125\10\0\6\134\1\0\11\134\1\0"+ "\1\134\1\0\1\125\1\u010d\1\134\1\0\2\134\13\0"+ "\7\134\1\u025d\14\134\1\125\2\0\1\134\2\0\17\134"+ "\1\0\1\125\10\0\6\134\1\0\11\134\1\0\1\134"+ "\1\0\1\125\1\u010d\1\134\1\0\2\134\13\0\4\134"+ "\1\u01d5\17\134\1\125\2\0\1\134\2\0\17\134\1\0"+ "\1\125\10\0\6\134\1\0\11\134\1\0\1\134\1\0"+ "\1\125\1\u010d\1\134\1\0\2\134\13\0\7\134\1\u025e"+ "\14\134\1\125\2\0\1\134\2\0\17\134\1\0\1\125"+ "\10\0\6\134\1\0\11\134\1\0\1\134\1\0\1\125"+ "\1\u010d\1\134\1\0\2\134\13\0\12\134\1\u025f\11\134"+ "\1\125\2\0\1\134\2\0\17\134\1\0\1\125\10\0"+ "\6\134\1\0\11\134\1\0\1\134\1\0\1\125\1\u010d"+ "\1\134\1\0\2\134\13\0\12\134\1\u025c\11\134\1\125"+ "\2\0\1\134\2\0\17\134\1\0\1\125\10\0\6\134"+ "\1\0\11\134\1\0\1\134\1\0\1\125\1\u010d\1\134"+ "\1\0\2\134\13\0\13\134\1\u01cb\10\134\1\125\2\0"+ "\1\134\2\0\17\134\1\0\1\125\10\0\6\134\1\0"+ "\11\134\1\0\1\134\1\0\1\125\1\u010d\1\134\1\0"+ "\2\134\13\0\10\134\1\u025b\13\134\1\125\2\0\1\134"+ "\2\0\17\134\1\0\1\125\10\0\6\134\1\0\11\134"+ "\1\0\1\134\1\0\1\125\1\u010d\1\134\1\0\2\134"+ "\13\0\22\134\1\u0260\1\134\1\125\2\0\1\134\2\0"+ "\17\134\1\0\1\125\10\0\6\134\1\0\11\134\1\0"+ "\1\134\1\0\1\125\1\u010d\1\134\1\0\2\134\13\0"+ "\4\134\1\u0261\17\134\1\125\2\0\1\134\2\0\17\134"+ "\1\0\1\125\10\0\6\134\1\0\11\134\1\0\1\134"+ "\1\0\1\125\1\u010d\1\134\1\0\2\134\13\0\13\134"+ "\1\u0262\10\134\1\125\2\0\1\134\2\0\17\134\1\0"+ "\1\125\10\0\6\134\1\0\11\134\1\0\1\134\1\0"+ "\1\125\1\u010d\1\134\1\0\2\134\13\0\21\134\1\u0263"+ "\2\134\1\125\2\0\1\134\2\0\17\134\1\0\1\125"+ "\10\0\6\134\1\0\11\134\1\0\1\134\1\0\1\125"+ "\1\u010d\1\134\1\0\2\134\13\0\20\134\1\u011b\3\134"+ "\1\125\2\0\1\134\2\0\17\134\1\0\1\125\10\0"+ "\6\134\1\0\11\134\1\0\1\134\1\0\1\125\1\u010d"+ "\1\134\1\0\2\134\13\0\6\134\1\u0264\15\134\1\125"+ "\2\0\1\134\2\0\17\134\1\0\1\125\10\0\6\134"+ "\1\0\11\134\1\0\1\134\1\0\1\125\1\u010d\1\134"+ "\1\0\2\134\13\0\12\134\1\u0265\11\134\1\125\2\0"+ "\1\134\2\0\17\134\1\0\1\125\10\0\6\134\1\0"+ "\11\134\1\0\1\134\1\0\1\125\1\u010d\1\134\1\0"+ "\2\134\13\0\10\134\1\u0266\13\134\1\125\2\0\1\134"+ "\2\0\17\134\1\0\1\125\10\0\6\134\1\0\11\134"+ "\1\0\1\134\1\0\1\125\1\u010d\1\134\1\0\2\134"+ "\13\0\17\134\1\u0267\4\134\1\125\2\0\1\134\2\0"+ "\17\134\1\0\1\125\10\0\6\134\1\0\11\134\1\0"+ "\1\134\1\0\1\125\1\u010d\1\134\1\0\2\134\13\0"+ "\3\134\1\u024b\20\134\1\125\2\0\1\134\2\0\17\134"+ "\1\0\1\125\10\0\6\134\1\0\11\134\1\0\1\134"+ "\1\0\1\125\1\u010d\1\134\1\0\2\134\13\0\11\134"+ "\1\u011b\12\134\1\125\2\0\1\134\2\0\17\134\1\0"+ "\1\125\10\0\6\134\1\0\11\134\1\0\1\134\1\0"+ "\1\125\1\u010d\1\134\1\0\2\134\13\0\12\134\1\u0268"+ "\11\134\1\125\2\0\1\134\2\0\17\134\1\0\1\125"+ "\10\0\6\134\1\0\11\134\1\0\1\134\1\0\1\125"+ "\1\u010d\1\134\1\0\2\134\13\0\12\134\1\u0269\11\134"+ "\1\125\2\0\1\134\2\0\17\134\1\0\1\125\10\0"+ "\6\134\1\0\11\134\1\0\1\134\1\0\1\125\1\u010d"+ "\1\134\1\0\2\134\13\0\10\134\1\u026a\13\134\1\125"+ "\2\0\1\134\2\0\17\134\1\0\1\125\10\0\6\134"+ "\1\0\11\134\1\0\1\134\1\0\1\125\1\u010d\1\134"+ "\1\0\2\134\13\0\17\134\1\u0255\4\134\1\125\2\0"+ "\1\134\2\0\17\134\1\0\1\125\10\0\6\134\1\0"+ "\11\134\1\0\1\134\1\0\1\125\1\u010d\1\134\1\0"+ "\2\134\13\0\6\134\1\u011b\15\134\1\125\2\0\1\134"+ "\2\0\17\134\1\0\1\125\10\0\6\134\1\0\11\134"+ "\1\0\1\134\1\0\1\125\1\u010d\1\134\1\0\2\134"+ "\13\0\10\134\1\u01d6\13\134\1\125\2\0\1\134\2\0"+ "\17\134\13\0\1\u026b\7\0\1\u026b\1\0\4\u026b\11\0"+ "\1\u026b\22\0\1\u026b\1\0\2\u026b\1\0\1\u026b\2\0"+ "\1\u026b\3\0\1\u026b\7\0\1\u026b\3\0\1\u026b\6\0"+ "\1\u026b\15\0\1\u026c\7\0\1\u026c\1\0\4\u026c\11\0"+ "\1\u026c\22\0\1\u026c\1\0\2\u026c\1\0\1\u026c\2\0"+ "\1\u026c\3\0\1\u026c\7\0\1\u026c\3\0\1\u026c\6\0"+ "\1\u026c\15\0\1\u026d\51\0\1\u026d\135\0\1\u026e\127\0"+ "\1\u01fe\105\0\1\u026f\116\0\1\u0270\75\0\1\u0271\51\0"+ "\1\u0271\60\0\1\u0272\42\0\1\u0272\136\0\1\u0273\112\0"+ "\1\u0274\145\0\1\u0275\112\0\1\u0208\133\0\1\u0276\120\0"+ "\1\u0277\130\0\1\u0278\130\0\1\u0279\142\0\1\u027a\123\0"+ "\1\u027b\114\0\1\u027c\126\0\1\u027d\5\0\1\u027e\126\0"+ "\1\u0212\117\0\1\u027f\124\0\1\u0280\133\0\1\u0281\131\0"+ "\1\u0282\132\0\1\u0283\123\0\1\u0284\131\0\1\u0285\126\0"+ "\1\u0286\127\0\1\u0218\105\0\1\u0287\116\0\1\u0288\74\0"+ "\3\270\1\u0289\2\270\1\0\10\270\2\0\1\270\5\0"+ "\2\270\13\0\1\u0289\23\270\3\0\1\270\2\0\17\270"+ "\12\0\6\270\1\0\1\270\1\u028a\6\270\2\0\1\270"+ "\5\0\2\270\13\0\10\270\1\u028a\13\270\3\0\1\270"+ "\2\0\17\270\54\0\1\u021e\14\0\1\u0178\46\0\1\u028b"+ "\123\0\2\u028c\1\0\7\u021f\1\0\10\u021f\2\u028c\1\u021f"+ "\1\0\1\u028c\1\0\1\u021f\1\u028c\2\u021f\2\u028c\1\0"+ "\2\u028c\1\0\5\u028c\24\u021f\3\u028c\1\u021f\2\u028c\17\u021f"+ "\1\0\2\63\1\0\1\63\1\0\2\63\2\0\4\63"+ "\1\u01a2\1\63\1\0\26\63\1\0\24\63\1\u01a2\12\63"+ "\1\0\22\63\1\0\1\63\1\0\2\63\2\0\6\63"+ "\1\0\26\63\1\0\27\63\1\u0183\7\63\1\0\10\63"+ "\1\u0183\11\63\1\0\1\63\1\0\2\63\2\0\6\63"+ "\1\0\26\63\1\0\13\63\1\323\23\63\1\0\3\63"+ "\1\323\16\63\1\0\1\63\1\0\2\63\2\0\3\63"+ "\1\u0230\2\63\1\0\26\63\1\0\6\63\1\u0230\30\63"+ "\1\0\22\63\1\0\1\63\1\0\2\63\2\0\1\63"+ "\1\u01a2\4\63\1\0\26\63\1\0\15\63\1\u01a2\21\63"+ "\1\0\22\63\1\0\1\63\1\0\2\63\2\0\1\63"+ "\1\u0183\4\63\1\0\26\63\1\0\15\63\1\u0183\21\63"+ "\1\0\22\63\1\0\1\63\1\0\2\63\2\0\2\63"+ "\1\u028d\3\63\1\0\26\63\1\0\10\63\1\u028d\26\63"+ "\1\0\22\63\1\0\1\63\1\0\2\63\2\0\6\63"+ "\1\0\2\63\1\u028e\23\63\1\0\20\63\1\u022d\4\63"+ "\1\u028e\11\63\1\0\1\63\1\u022d\20\63\1\0\1\63"+ "\1\0\2\63\2\0\6\63\1\0\26\63\1\0\20\63"+ "\1\u028f\16\63\1\0\1\63\1\u028f\20\63\1\0\1\63"+ "\1\0\2\63\2\0\6\63\1\0\26\63\1\0\17\63"+ "\1\u0290\17\63\1\0\5\63\1\u0290\14\63\1\0\1\63"+ "\1\0\2\63\2\0\6\63\1\0\26\63\1\0\26\63"+ "\1\u0183\10\63\1\0\4\63\1\u0183\15\63\1\0\1\63"+ "\1\0\2\63\2\0\6\63\1\0\26\63\1\0\13\63"+ "\1\u0291\23\63\1\0\3\63\1\u0291\16\63\1\0\1\63"+ "\1\0\2\63\2\0\6\63\1\0\26\63\1\0\20\63"+ "\1\u0292\16\63\1\0\1\63\1\u0292\20\63\1\0\1\63"+ "\1\0\2\63\2\0\6\63\1\0\26\63\1\0\13\63"+ "\1\u0102\23\63\1\0\3\63\1\u0102\16\63\1\0\1\63"+ "\1\0\2\63\2\0\5\63\1\u0293\1\0\26\63\1\0"+ "\12\63\1\u0293\24\63\1\0\22\63\1\0\1\63\1\0"+ "\2\63\2\0\6\63\1\0\26\63\1\0\27\63\1\u0294"+ "\7\63\1\0\10\63\1\u0294\11\63\1\0\1\63\1\0"+ "\2\63\2\0\6\63\1\0\26\63\1\0\11\63\1\365"+ "\25\63\1\0\2\63\1\365\17\63\1\0\1\63\1\0"+ "\2\63\2\0\6\63\1\0\12\63\1\u022d\13\63\1\0"+ "\37\63\1\0\6\63\1\u022d\13\63\1\0\1\63\1\0"+ "\2\63\2\0\6\63\1\0\21\63\1\u0295\4\63\1\0"+ "\22\63\1\u0295\14\63\1\0\22\63\1\0\1\63\1\0"+ "\2\63\2\0\6\63\1\0\2\63\1\u0296\23\63\1\0"+ "\25\63\1\u0296\11\63\1\0\22\63\1\0\1\63\1\0"+ "\2\63\2\0\6\63\1\0\26\63\1\0\17\63\1\u0297"+ "\17\63\1\0\5\63\1\u0297\14\63\1\0\1\63\1\0"+ "\2\63\2\0\2\63\1\u0183\3\63\1\0\26\63\1\0"+ "\10\63\1\u0183\26\63\1\0\22\63\1\0\1\63\1\0"+ "\2\63\2\0\6\63\1\0\26\63\1\0\20\63\1\u0298"+ "\16\63\1\0\1\63\1\u0298\20\63\1\0\1\63\1\0"+ "\2\63\2\0\6\63\1\0\26\63\1\0\11\63\1\323"+ "\25\63\1\0\2\63\1\323\17\63\1\0\1\63\1\0"+ "\2\63\2\0\3\63\1\u0299\2\63\1\0\26\63\1\0"+ "\6\63\1\u0299\30\63\1\0\22\63\1\0\1\63\1\0"+ "\2\63\2\0\5\63\1\u029a\1\0\1\63\1\u029b\24\63"+ "\1\0\7\63\1\u029c\2\63\1\u029a\3\63\1\u029b\20\63"+ "\1\0\7\63\1\u029c\12\63\1\0\1\63\1\0\2\63"+ "\2\0\6\63\1\0\26\63\1\0\13\63\1\u029d\23\63"+ "\1\0\3\63\1\u029d\16\63\1\0\1\63\1\0\2\63"+ "\2\0\1\63\1\316\4\63\1\0\26\63\1\0\15\63"+ "\1\316\21\63\1\0\22\63\1\0\1\63\1\0\2\63"+ "\2\0\6\63\1\0\2\63\1\u01a2\23\63\1\0\25\63"+ "\1\u01a2\11\63\1\0\22\63\1\0\1\63\1\0\2\63"+ "\2\0\6\63\1\0\2\63\1\u029e\23\63\1\0\25\63"+ "\1\u029e\11\63\1\0\22\63\1\0\1\63\1\0\2\63"+ "\2\0\3\63\1\u029f\2\63\1\0\26\63\1\0\6\63"+ "\1\u029f\30\63\1\0\22\63\1\0\1\63\1\0\2\63"+ "\2\0\6\63\1\0\12\63\1\u02a0\13\63\1\0\37\63"+ "\1\0\6\63\1\u02a0\13\63\1\0\1\63\1\0\2\63"+ "\2\0\6\63\1\0\2\63\1\365\23\63\1\0\25\63"+ "\1\365\11\63\1\0\20\63\13\0\1\u02a1\43\0\1\u02a1"+ "\47\0\1\125\10\0\1\125\1\u02a2\4\125\1\0\2\125"+ "\1\u02a2\1\125\4\u02a2\1\125\1\0\1\125\1\0\3\125"+ "\1\0\1\125\1\u02a2\13\0\7\125\1\u02a2\1\125\2\u02a2"+ "\1\125\1\u02a2\2\125\1\u02a2\3\125\1\u02a2\1\125\2\0"+ "\1\125\2\0\1\125\1\u02a2\3\125\1\u02a2\6\125\1\u02a2"+ "\2\125\1\0\1\125\10\0\6\134\1\0\11\134\1\0"+ "\1\134\1\0\1\125\1\u010d\1\134\1\0\2\134\13\0"+ "\5\134\1\u02a3\16\134\1\125\2\0\1\134\2\0\17\134"+ "\1\0\1\125\10\0\6\134\1\0\11\134\1\0\1\134"+ "\1\0\1\125\1\u010d\1\134\1\0\2\134\13\0\2\134"+ "\1\u02a4\21\134\1\125\2\0\1\134\2\0\17\134\1\0"+ "\1\125\10\0\6\134\1\0\11\134\1\0\1\134\1\0"+ "\1\125\1\u010d\1\134\1\0\2\134\13\0\12\134\1\u02a5"+ "\11\134\1\125\2\0\1\134\2\0\17\134\1\0\1\125"+ "\10\0\6\134\1\0\11\134\1\0\1\134\1\0\1\125"+ "\1\u010d\1\134\1\0\2\134\13\0\5\134\1\u02a6\16\134"+ "\1\125\2\0\1\134\2\0\17\134\1\0\1\125\10\0"+ "\6\134\1\0\11\134\1\0\1\134\1\0\1\125\1\u010d"+ "\1\134\1\0\2\134\13\0\24\134\1\125\2\0\1\134"+ "\2\0\3\134\1\u0266\13\134\1\0\1\125\10\0\6\134"+ "\1\0\11\134\1\0\1\134\1\0\1\125\1\u010d\1\134"+ "\1\0\2\134\13\0\2\134\1\u0254\21\134\1\125\2\0"+ "\1\134\2\0\17\134\1\0\1\125\10\0\6\134\1\0"+ "\11\134\1\0\1\134\1\0\1\125\1\u010d\1\134\1\0"+ "\2\134\13\0\17\134\1\u02a7\4\134\1\125\2\0\1\134"+ "\2\0\17\134\1\0\1\125\10\0\6\134\1\0\11\134"+ "\1\0\1\134\1\0\1\125\1\u010d\1\134\1\0\2\134"+ "\13\0\2\134\1\u02a8\21\134\1\125\2\0\1\134\2\0"+ "\17\134\1\0\1\125\10\0\6\134\1\0\11\134\1\0"+ "\1\134\1\0\1\125\1\u010d\1\134\1\0\2\134\13\0"+ "\13\134\1\u02a9\10\134\1\125\2\0\1\134\2\0\17\134"+ "\1\0\1\125\10\0\6\134\1\0\11\134\1\0\1\134"+ "\1\0\1\125\1\u010d\1\134\1\0\2\134\13\0\24\134"+ "\1\125\2\0\1\134\2\0\1\u02aa\16\134\1\0\1\125"+ "\10\0\6\134\1\0\11\134\1\0\1\134\1\0\1\125"+ "\1\u010d\1\134\1\0\2\134\13\0\3\134\1\u02ab\20\134"+ "\1\125\2\0\1\134\2\0\17\134\1\0\1\125\10\0"+ "\6\134\1\0\11\134\1\0\1\134\1\0\1\125\1\u010d"+ "\1\134\1\0\2\134\13\0\22\134\1\u01d6\1\134\1\125"+ "\2\0\1\134\2\0\17\134\1\0\1\125\10\0\6\134"+ "\1\0\11\134\1\0\1\134\1\0\1\125\1\u010d\1\134"+ "\1\0\2\134\13\0\1\u02ac\23\134\1\125\2\0\1\134"+ "\2\0\17\134\1\0\1\125\10\0\6\134\1\0\11\134"+ "\1\0\1\134\1\0\1\125\1\u010d\1\134\1\0\2\134"+ "\13\0\4\134\1\u011b\17\134\1\125\2\0\1\134\2\0"+ "\17\134\1\0\1\125\10\0\6\134\1\0\11\134\1\0"+ "\1\134\1\0\1\125\1\u010d\1\134\1\0\2\134\13\0"+ "\10\134\1\u01f6\13\134\1\125\2\0\1\134\2\0\17\134"+ "\1\0\1\125\10\0\6\134\1\0\11\134\1\0\1\134"+ "\1\0\1\125\1\u010d\1\134\1\0\2\134\13\0\4\134"+ "\1\u01d6\17\134\1\125\2\0\1\134\2\0\17\134\1\0"+ "\1\125\10\0\6\134\1\0\11\134\1\0\1\u02ad\1\0"+ "\1\125\1\u010d\1\134\1\0\2\134\13\0\24\134\1\125"+ "\2\0\1\134\2\0\17\134\1\0\1\125\10\0\6\134"+ "\1\0\11\134\1\0\1\134\1\0\1\125\1\u010d\1\134"+ "\1\0\2\134\13\0\1\134\1\u02ae\22\134\1\125\2\0"+ "\1\134\2\0\17\134\1\0\1\125\10\0\6\134\1\0"+ "\11\134\1\0\1\134\1\0\1\125\1\u010d\1\134\1\0"+ "\2\134\13\0\2\134\1\u02af\21\134\1\125\2\0\1\134"+ "\2\0\17\134\1\0\1\125\10\0\6\134\1\0\11\134"+ "\1\0\1\134\1\0\1\125\1\u010d\1\134\1\0\2\134"+ "\13\0\1\u02b0\23\134\1\125\2\0\1\134\2\0\17\134"+ "\1\0\1\125\10\0\6\134\1\0\11\134\1\0\1\134"+ "\1\0\1\125\1\u010d\1\134\1\0\2\134\13\0\4\134"+ "\1\u0255\17\134\1\125\2\0\1\134\2\0\17\134\1\0"+ "\1\125\10\0\6\134\1\0\11\134\1\0\1\134\1\0"+ "\1\125\1\u010d\1\134\1\0\2\134\13\0\6\134\1\u02b1"+ "\15\134\1\125\2\0\1\134\2\0\17\134\1\0\1\125"+ "\10\0\6\134\1\0\11\134\1\0\1\134\1\0\1\125"+ "\1\u010d\1\134\1\0\2\134\13\0\4\134\1\u02b2\17\134"+ "\1\125\2\0\1\134\2\0\17\134\1\0\1\125\10\0"+ "\6\134\1\0\11\134\1\0\1\134\1\0\1\125\1\u010d"+ "\1\134\1\0\2\134\13\0\10\134\1\u02b3\13\134\1\125"+ "\2\0\1\134\2\0\17\134\1\0\1\125\10\0\6\134"+ "\1\0\11\134\1\0\1\134\1\0\1\125\1\u010d\1\134"+ "\1\0\2\134\13\0\12\134\1\u0257\11\134\1\125\2\0"+ "\1\134\2\0\17\134\1\0\1\125\10\0\6\134\1\0"+ "\11\134\1\0\1\134\1\0\1\125\1\u010d\1\134\1\0"+ "\2\134\13\0\17\134\1\u02b4\4\134\1\125\2\0\1\134"+ "\2\0\17\134\1\0\1\125\10\0\6\134\1\0\11\134"+ "\1\0\1\134\1\0\1\125\1\u010d\1\134\1\0\2\134"+ "\13\0\17\134\1\u02b5\4\134\1\125\2\0\1\134\2\0"+ "\17\134\1\0\1\125\10\0\6\134\1\0\11\134\1\0"+ "\1\134\1\0\1\125\1\u010d\1\134\1\0\2\134\13\0"+ "\12\134\1\u02b6\11\134\1\125\2\0\1\134\2\0\17\134"+ "\1\0\1\125\10\0\6\134\1\0\11\134\1\0\1\134"+ "\1\0\1\125\1\u010d\1\134\1\0\2\134\13\0\16\134"+ "\1\u02b7\5\134\1\125\2\0\1\134\2\0\17\134\1\0"+ "\1\125\10\0\6\134\1\0\11\134\1\0\1\134\1\0"+ "\1\125\1\u010d\1\134\1\0\2\134\13\0\5\134\1\u02b8"+ "\16\134\1\125\2\0\1\134\2\0\17\134\1\0\1\125"+ "\10\0\6\134\1\0\11\134\1\0\1\134\1\0\1\125"+ "\1\u010d\1\134\1\0\2\134\13\0\4\134\1\u0146\17\134"+ "\1\125\2\0\1\134\2\0\17\134\1\0\1\125\10\0"+ "\6\134\1\0\11\134\1\0\1\134\1\0\1\125\1\u010d"+ "\1\134\1\0\2\134\13\0\21\134\1\u011b\2\134\1\125"+ "\2\0\1\134\2\0\17\134\1\0\1\125\10\0\6\134"+ "\1\0\11\134\1\0\1\134\1\0\1\125\1\u010d\1\134"+ "\1\0\2\134\13\0\17\134\1\u02b9\4\134\1\125\2\0"+ "\1\134\2\0\17\134\14\0\1\u02ba\43\0\1\u02ba\122\0"+ "\1\u026f\14\0\1\u01fe\46\0\1\u02bb\123\0\2\u02bc\1\0"+ "\7\u0270\1\0\10\u0270\2\u02bc\1\u0270\1\0\1\u02bc\1\0"+ "\1\u0270\1\u02bc\2\u0270\2\u02bc\1\0\2\u02bc\1\0\5\u02bc"+ "\24\u0270\3\u02bc\1\u0270\2\u02bc\17\u0270\14\0\1\u02bd\43\0"+ "\1\u02bd\67\0\1\u02be\51\0\1\u02be\115\0\1\u027a\124\0"+ "\1\u02bf\140\0\1\u02c0\127\0\1\u02c1\112\0\1\u02c2\101\0"+ "\1\u02c3\171\0\1\u02c4\116\0\1\u02c5\140\0\1\u0278\106\0"+ "\1\u0278\131\0\1\u02c1\122\0\1\u02c6\141\0\1\u027e\70\0"+ "\1\u02c7\174\0\1\u02c8\107\0\1\u02c9\122\0\1\u02ca\131\0"+ "\1\u02cb\121\0\1\u0287\14\0\1\u0218\46\0\1\u02cc\123\0"+ "\2\u02cd\1\0\7\u0288\1\0\10\u0288\2\u02cd\1\u0288\1\0"+ "\1\u02cd\1\0\1\u0288\1\u02cd\2\u0288\2\u02cd\1\0\2\u02cd"+ "\1\0\5\u02cd\24\u0288\3\u02cd\1\u0288\2\u02cd\17\u0288\12\0"+ "\4\270\1\u02ce\1\270\1\0\10\270\2\0\1\270\5\0"+ "\2\270\13\0\16\270\1\u02ce\5\270\3\0\1\270\2\0"+ "\17\270\12\0\6\270\1\0\2\270\1\u02cf\5\270\2\0"+ "\1\270\5\0\2\270\13\0\17\270\1\u02cf\4\270\3\0"+ "\1\270\2\0\17\270\11\0\1\u021f\116\0\2\63\1\0"+ "\1\63\1\0\2\63\2\0\6\63\1\0\26\63\1\0"+ "\11\63\1\u02d0\25\63\1\0\2\63\1\u02d0\17\63\1\0"+ "\1\63\1\0\2\63\2\0\6\63\1\0\26\63\1\0"+ "\13\63\1\u01a2\23\63\1\0\3\63\1\u01a2\16\63\1\0"+ "\1\63\1\0\2\63\2\0\1\110\5\63\1\0\26\63"+ "\1\0\21\63\1\110\15\63\1\0\22\63\1\0\1\63"+ "\1\0\2\63\2\0\6\63\1\0\2\63\1\u02d1\23\63"+ "\1\0\25\63\1\u02d1\11\63\1\0\22\63\1\0\1\63"+ "\1\0\2\63\2\0\5\63\1\u02d2\1\0\26\63\1\0"+ "\12\63\1\u02d2\24\63\1\0\22\63\1\0\1\63\1\0"+ "\2\63\2\0\2\63\1\u02d3\3\63\1\0\26\63\1\0"+ "\10\63\1\u02d3\26\63\1\0\22\63\1\0\1\63\1\0"+ "\2\63\2\0\1\u02d4\5\63\1\0\26\63\1\0\21\63"+ "\1\u02d4\15\63\1\0\22\63\1\0\1\63\1\0\2\63"+ "\2\0\6\63\1\0\26\63\1\0\37\63\1\0\11\63"+ "\1\u02d5\10\63\1\0\1\63\1\0\2\63\2\0\6\63"+ "\1\0\26\63\1\0\11\63\1\u028e\25\63\1\0\2\63"+ "\1\u028e\17\63\1\0\1\63\1\0\2\63\2\0\1\u023e"+ "\5\63\1\0\26\63\1\0\21\63\1\u023e\15\63\1\0"+ "\22\63\1\0\1\63\1\0\2\63\2\0\6\63\1\0"+ "\26\63\1\0\26\63\1\u02d6\10\63\1\0\4\63\1\u02d6"+ "\15\63\1\0\1\63\1\0\2\63\2\0\6\63\1\0"+ "\1\63\1\u028f\24\63\1\0\16\63\1\u028f\20\63\1\0"+ "\22\63\1\0\1\63\1\0\2\63\2\0\6\63\1\0"+ "\2\63\1\u02d7\23\63\1\0\25\63\1\u02d7\11\63\1\0"+ "\22\63\1\0\1\63\1\0\2\63\2\0\3\63\1\356"+ "\2\63\1\0\26\63\1\0\6\63\1\356\30\63\1\0"+ "\22\63\1\0\1\63\1\0\2\63\2\0\2\63\1\u02d8"+ "\3\63\1\0\26\63\1\0\10\63\1\u02d8\26\63\1\0"+ "\22\63\1\0\1\63\1\0\2\63\2\0\6\63\1\0"+ "\1\u01a1\25\63\1\0\23\63\1\u01a1\13\63\1\0\22\63"+ "\1\0\1\63\1\0\2\63\2\0\1\u028f\5\63\1\0"+ "\26\63\1\0\21\63\1\u028f\15\63\1\0\22\63\1\0"+ "\1\63\1\0\2\63\2\0\1\63\1\u02d9\4\63\1\0"+ "\26\63\1\0\15\63\1\u02d9\21\63\1\0\22\63\1\0"+ "\1\63\1\0\2\63\2\0\6\63\1\0\2\63\1\u0183"+ "\23\63\1\0\25\63\1\u0183\11\63\1\0\20\63\14\0"+ "\1\u02da\40\0\1\u02da\51\0\1\125\10\0\1\125\1\u02db"+ "\4\125\1\0\2\125\1\u02db\1\125\4\u02db\1\125\1\0"+ "\1\125\1\0\3\125\1\0\1\125\1\u02db\13\0\7\125"+ "\1\u02db\1\125\2\u02db\1\125\1\u02db\2\125\1\u02db\3\125"+ "\1\u02db\1\125\2\0\1\125\2\0\1\125\1\u02db\3\125"+ "\1\u02db\6\125\1\u02db\2\125\1\0\1\125\10\0\6\134"+ "\1\0\11\134\1\0\1\134\1\0\1\125\1\u010d\1\134"+ "\1\0\2\134\13\0\1\u02dc\23\134\1\125\2\0\1\134"+ "\2\0\17\134\1\0\1\125\10\0\6\134\1\0\11\134"+ "\1\0\1\134\1\0\1\125\1\u010d\1\134\1\0\2\134"+ "\13\0\14\134\1\u02dd\7\134\1\125\2\0\1\134\2\0"+ "\17\134\1\0\1\125\10\0\6\134\1\0\11\134\1\0"+ "\1\134\1\0\1\125\1\u010d\1\134\1\0\2\134\13\0"+ "\5\134\1\u02de\16\134\1\125\2\0\1\134\2\0\17\134"+ "\1\0\1\125\10\0\6\134\1\0\11\134\1\0\1\134"+ "\1\0\1\125\1\u010d\1\134\1\0\2\134\13\0\1\u02df"+ "\23\134\1\125\2\0\1\134\2\0\17\134\1\0\1\125"+ "\10\0\6\134\1\0\11\134\1\0\1\134\1\0\1\125"+ "\1\u010d\1\134\1\0\2\134\13\0\20\134\1\u02e0\3\134"+ "\1\125\2\0\1\134\2\0\17\134\1\0\1\125\10\0"+ "\6\134\1\0\11\134\1\0\1\134\1\0\1\125\1\u010d"+ "\1\134\1\0\2\134\13\0\5\134\1\u02e1\16\134\1\125"+ "\2\0\1\134\2\0\17\134\1\0\1\125\10\0\6\134"+ "\1\0\11\134\1\0\1\134\1\0\1\125\1\u010d\1\134"+ "\1\0\2\134\13\0\1\u02e2\23\134\1\125\2\0\1\134"+ "\2\0\17\134\1\0\1\125\10\0\6\134\1\0\11\134"+ "\1\0\1\134\1\0\1\125\1\u010d\1\134\1\0\2\134"+ "\13\0\14\134\1\u011b\7\134\1\125\2\0\1\134\2\0"+ "\17\134\1\0\1\125\10\0\6\134\1\0\11\134\1\0"+ "\1\134\1\0\1\125\1\u010d\1\134\1\0\2\134\13\0"+ "\5\134\1\u02e3\16\134\1\125\2\0\1\134\2\0\17\134"+ "\1\0\1\125\10\0\6\134\1\0\11\134\1\0\1\134"+ "\1\0\1\125\1\u010d\1\134\1\0\2\134\13\0\10\134"+ "\1\u0254\13\134\1\125\2\0\1\134\2\0\17\134\1\0"+ "\1\125\10\0\6\134\1\0\11\134\1\0\1\134\1\0"+ "\1\125\1\u010d\1\134\1\0\2\134\13\0\1\134\1\u01de"+ "\22\134\1\125\2\0\1\134\2\0\17\134\1\0\1\125"+ "\10\0\6\134\1\0\11\134\1\0\1\134\1\0\1\125"+ "\1\u010d\1\134\1\0\2\134\13\0\12\134\1\u02e4\11\134"+ "\1\125\2\0\1\134\2\0\17\134\1\0\1\125\10\0"+ "\6\134\1\0\11\134\1\0\1\134\1\0\1\125\1\u010d"+ "\1\134\1\0\2\134\13\0\7\134\1\u011b\14\134\1\125"+ "\2\0\1\134\2\0\17\134\1\0\1\125\10\0\6\134"+ "\1\0\11\134\1\0\1\134\1\0\1\125\1\u010d\1\134"+ "\1\0\2\134\13\0\2\134\1\u02e5\21\134\1\125\2\0"+ "\1\134\2\0\17\134\1\0\1\125\10\0\6\134\1\0"+ "\11\134\1\0\1\134\1\0\1\125\1\u010d\1\134\1\0"+ "\2\134\13\0\1\u02e6\23\134\1\125\2\0\1\134\2\0"+ "\17\134\1\0\1\125\10\0\6\134\1\0\11\134\1\0"+ "\1\134\1\0\1\125\1\u010d\1\134\1\0\2\134\13\0"+ "\10\134\1\u02e7\13\134\1\125\2\0\1\134\2\0\17\134"+ "\1\0\1\125\10\0\6\134\1\0\11\134\1\0\1\134"+ "\1\0\1\125\1\u010d\1\134\1\0\2\134\13\0\7\134"+ "\1\u02e8\14\134\1\125\2\0\1\134\2\0\17\134\1\0"+ "\1\125\10\0\3\134\1\u02e9\2\134\1\0\11\134\1\0"+ "\1\134\1\0\1\125\1\u010d\1\134\1\0\1\134\1\u02ea"+ "\13\0\24\134\1\125\2\0\1\134\2\0\17\134\1\0"+ "\1\125\10\0\6\134\1\0\11\134\1\0\1\134\1\0"+ "\1\125\1\u010d\1\134\1\0\2\134\13\0\1\134\1\u01d6"+ "\22\134\1\125\2\0\1\134\2\0\17\134\1\0\1\125"+ "\10\0\6\134\1\0\11\134\1\0\1\134\1\0\1\125"+ "\1\u010d\1\134\1\0\2\134\13\0\17\134\1\u0266\4\134"+ "\1\125\2\0\1\134\2\0\17\134\1\0\1\125\10\0"+ "\6\134\1\0\11\134\1\0\1\134\1\0\1\125\1\u010d"+ "\1\134\1\0\2\134\13\0\11\134\1\u01cd\12\134\1\125"+ "\2\0\1\134\2\0\17\134\1\0\1\125\10\0\6\134"+ "\1\0\11\134\1\0\1\134\1\0\1\125\1\u010d\1\134"+ "\1\0\2\134\13\0\12\134\1\u02eb\11\134\1\125\2\0"+ "\1\134\2\0\17\134\15\0\1\u02ec\40\0\1\u02ec\61\0"+ "\1\u0270\132\0\1\u02ed\40\0\1\u02ed\72\0\1\u02ee\43\0"+ "\1\u02ee\131\0\1\u02ef\116\0\1\u02f0\77\0\1\u02f1\171\0"+ "\1\u0208\112\0\1\u02f2\3\0\1\u02f3\1\u02f4\120\0\1\u0278"+ "\145\0\1\u02f5\127\0\1\u02f6\117\0\1\u0278\123\0\1\u02f5"+ "\133\0\1\u0278\115\0\1\u02f5\124\0\1\u02f7\57\0\1\u0288"+ "\127\0\5\270\1\u02f8\1\0\10\270\2\0\1\270\5\0"+ "\2\270\13\0\4\270\1\u02f8\17\270\3\0\1\270\2\0"+ "\17\270\1\0\2\63\1\0\1\63\1\0\2\63\2\0"+ "\6\63\1\0\12\63\1\u0181\13\63\1\0\37\63\1\0"+ "\6\63\1\u0181\13\63\1\0\1\63\1\0\2\63\2\0"+ "\6\63\1\0\20\63\1\110\5\63\1\0\35\63\1\110"+ "\1\63\1\0\22\63\1\0\1\63\1\0\2\63\2\0"+ "\6\63\1\0\2\63\1\u02f9\23\63\1\0\25\63\1\u02f9"+ "\11\63\1\0\22\63\1\0\1\63\1\0\2\63\2\0"+ "\6\63\1\0\2\63\1\u01b0\23\63\1\0\25\63\1\u01b0"+ "\11\63\1\0\22\63\1\0\1\63\1\0\2\63\2\0"+ "\6\63\1\0\26\63\1\0\11\63\1\307\25\63\1\0"+ "\2\63\1\307\17\63\1\0\1\63\1\0\2\63\2\0"+ "\6\63\1\0\12\63\1\u02fa\13\63\1\0\37\63\1\0"+ "\6\63\1\u02fa\13\63\1\0\1\63\1\0\2\63\2\0"+ "\6\63\1\0\2\63\1\u028f\23\63\1\0\25\63\1\u028f"+ "\11\63\1\0\22\63\1\0\1\63\1\0\2\63\2\0"+ "\6\63\1\0\26\63\1\0\26\63\1\u02fb\10\63\1\0"+ "\4\63\1\u02fb\15\63\1\0\1\63\1\0\2\63\2\0"+ "\3\63\1\u0102\2\63\1\0\26\63\1\0\6\63\1\u0102"+ "\30\63\1\0\22\63\1\0\1\63\1\0\2\63\2\0"+ "\6\63\1\0\26\63\1\0\11\63\1\u01a8\25\63\1\0"+ "\2\63\1\u01a8\15\63\15\0\1\u02fc\55\0\1\u02fc\33\0"+ "\1\125\10\0\1\125\1\134\4\125\1\0\2\125\1\134"+ "\1\125\4\134\1\125\1\0\1\125\1\0\3\125\1\0"+ "\1\125\1\134\13\0\7\125\1\134\1\125\2\134\1\125"+ "\1\134\2\125\1\134\3\125\1\134\1\125\2\0\1\125"+ "\2\0\1\125\1\134\3\125\1\134\6\125\1\134\2\125"+ "\1\0\1\125\10\0\6\134\1\0\11\134\1\0\1\134"+ "\1\0\1\125\1\u010d\1\134\1\0\2\134\13\0\4\134"+ "\1\u02e7\17\134\1\125\2\0\1\134\2\0\17\134\1\0"+ "\1\125\10\0\6\134\1\0\11\134\1\0\1\134\1\0"+ "\1\125\1\u010d\1\134\1\0\2\134\13\0\12\134\1\u02fd"+ "\11\134\1\125\2\0\1\134\2\0\17\134\1\0\1\125"+ "\10\0\6\134\1\0\11\134\1\0\1\134\1\0\1\125"+ "\1\u010d\1\134\1\0\2\134\13\0\7\134\1\u01cf\14\134"+ "\1\125\2\0\1\134\2\0\17\134\1\0\1\125\10\0"+ "\6\134\1\0\11\134\1\0\1\134\1\0\1\125\1\u010d"+ "\1\134\1\0\2\134\13\0\4\134\1\u02b7\17\134\1\125"+ "\2\0\1\134\2\0\17\134\1\0\1\125\10\0\6\134"+ "\1\0\11\134\1\0\1\134\1\0\1\125\1\u010d\1\134"+ "\1\0\2\134\13\0\17\134\1\u02fe\4\134\1\125\2\0"+ "\1\134\2\0\17\134\1\0\1\125\10\0\6\134\1\0"+ "\11\134\1\0\1\134\1\0\1\125\1\u010d\1\134\1\0"+ "\2\134\13\0\17\134\1\u02ff\4\134\1\125\2\0\1\134"+ "\2\0\17\134\1\0\1\125\10\0\6\134\1\0\11\134"+ "\1\0\1\u01d6\1\0\1\125\1\u010d\1\134\1\0\2\134"+ "\13\0\24\134\1\125\2\0\1\134\2\0\17\134\1\0"+ "\1\125\10\0\6\134\1\0\11\134\1\0\1\134\1\0"+ "\1\125\1\u010d\1\134\1\0\2\134\13\0\7\134\1\u0254"+ "\14\134\1\125\2\0\1\134\2\0\17\134\1\0\1\125"+ "\10\0\6\134\1\0\11\134\1\0\1\134\1\0\1\125"+ "\1\u010d\1\134\1\0\2\134\13\0\3\134\1\u0300\20\134"+ "\1\125\2\0\1\134\2\0\17\134\1\0\1\125\10\0"+ "\6\134\1\0\11\134\1\0\1\134\1\0\1\125\1\u010d"+ "\1\134\1\0\2\134\13\0\3\134\1\u0301\20\134\1\125"+ "\2\0\1\134\2\0\17\134\1\0\1\125\10\0\6\134"+ "\1\0\11\134\1\0\1\134\1\0\1\125\1\u010d\1\134"+ "\1\0\2\134\13\0\15\134\1\u011b\6\134\1\125\2\0"+ "\1\134\2\0\17\134\1\0\1\125\10\0\6\134\1\0"+ "\11\134\1\0\1\134\1\0\1\125\1\u010d\1\134\1\0"+ "\2\134\13\0\4\134\1\u0302\17\134\1\125\2\0\1\134"+ "\2\0\17\134\1\0\1\125\10\0\6\134\1\0\11\134"+ "\1\0\1\134\1\0\1\125\1\u010d\1\134\1\0\2\134"+ "\13\0\5\134\1\u0303\16\134\1\125\2\0\1\134\2\0"+ "\17\134\1\0\1\125\10\0\6\134\1\0\11\134\1\0"+ "\1\134\1\0\1\125\1\u010d\1\134\1\0\2\134\13\0"+ "\10\134\1\u0304\13\134\1\125\2\0\1\134\2\0\17\134"+ "\1\0\1\125\10\0\6\134\1\0\11\134\1\0\1\134"+ "\1\0\1\125\1\u010d\1\134\1\0\2\134\13\0\5\134"+ "\1\u0255\16\134\1\125\2\0\1\134\2\0\17\134\16\0"+ "\1\u0305\55\0\1\u0305\50\0\1\u0306\55\0\1\u0306\55\0"+ "\1\u0307\51\0\1\u0307\113\0\1\u0308\124\0\1\u02f6\127\0"+ "\1\u02f2\3\0\1\u02f3\133\0\1\u0309\120\0\1\u030a\132\0"+ "\1\u0280\133\0\1\u030b\126\0\1\u0278\113\0\1\u030c\45\0"+ "\2\63\1\0\1\63\1\0\2\63\2\0\6\63\1\0"+ "\20\63\1\u01a2\5\63\1\0\35\63\1\u01a2\1\63\1\0"+ "\22\63\1\0\1\63\1\0\2\63\2\0\6\63\1\0"+ "\26\63\1\0\11\63\1\312\25\63\1\0\2\63\1\312"+ "\17\63\1\0\1\63\1\0\2\63\2\0\4\63\1\u030d"+ "\1\63\1\0\26\63\1\0\24\63\1\u030d\12\63\1\0"+ "\20\63\16\0\1\u030e\42\0\1\u030e\45\0\1\125\10\0"+ "\6\134\1\0\11\134\1\0\1\134\1\0\1\125\1\u010d"+ "\1\134\1\0\2\134\13\0\7\134\1\u01d6\14\134\1\125"+ "\2\0\1\134\2\0\17\134\1\0\1\125\10\0\6\134"+ "\1\0\11\134\1\0\1\134\1\0\1\125\1\u010d\1\134"+ "\1\0\2\134\13\0\5\134\1\u030f\16\134\1\125\2\0"+ "\1\134\2\0\17\134\1\0\1\125\10\0\6\134\1\0"+ "\11\134\1\0\1\134\1\0\1\125\1\u010d\1\134\1\0"+ "\2\134\13\0\5\134\1\u0254\16\134\1\125\2\0\1\134"+ "\2\0\17\134\1\0\1\125\10\0\6\134\1\0\11\134"+ "\1\0\1\134\1\0\1\125\1\u010d\1\134\1\0\2\134"+ "\13\0\5\134\1\u0310\16\134\1\125\2\0\1\134\2\0"+ "\17\134\1\0\1\125\10\0\6\134\1\0\11\134\1\0"+ "\1\134\1\0\1\125\1\u010d\1\134\1\0\2\134\13\0"+ "\5\134\1\u011b\16\134\1\125\2\0\1\134\2\0\17\134"+ "\1\0\1\125\10\0\6\134\1\0\11\134\1\0\1\134"+ "\1\0\1\125\1\u010d\1\134\1\0\2\134\13\0\17\134"+ "\1\u01f2\4\134\1\125\2\0\1\134\2\0\17\134\1\0"+ "\1\125\10\0\6\134\1\0\11\134\1\0\1\134\1\0"+ "\1\125\1\u010d\1\134\1\0\2\134\13\0\4\134\1\u0266"+ "\17\134\1\125\2\0\1\134\2\0\17\134\1\0\1\125"+ "\10\0\6\134\1\0\11\134\1\0\1\134\1\0\1\125"+ "\1\u010d\1\134\1\0\2\134\13\0\3\134\1\u0311\20\134"+ "\1\125\2\0\1\134\2\0\17\134\17\0\1\u0312\42\0"+ "\1\u0312\63\0\1\u0313\42\0\1\u0313\64\0\1\u0314\140\0"+ "\1\u0315\126\0\1\u0316\152\0\1\u0317\137\0\1\u0278\127\0"+ "\1\u0318\37\0\2\63\1\0\1\63\1\0\2\63\2\0"+ "\6\63\1\0\1\63\1\u0319\24\63\1\0\16\63\1\u0319"+ "\20\63\1\0\20\63\17\0\1\u031a\107\0\1\125\10\0"+ "\6\134\1\0\11\134\1\0\1\134\1\0\1\125\1\u010d"+ "\1\134\1\0\2\134\13\0\4\134\1\u01cd\17\134\1\125"+ "\2\0\1\134\2\0\17\134\1\0\1\125\10\0\6\134"+ "\1\0\11\134\1\0\1\134\1\0\1\125\1\u010d\1\134"+ "\1\0\2\134\13\0\1\u031b\23\134\1\125\2\0\1\134"+ "\2\0\17\134\1\0\1\125\10\0\6\134\1\0\11\134"+ "\1\0\1\134\1\0\1\125\1\u010d\1\134\1\0\2\134"+ "\13\0\12\134\1\u0303\11\134\1\125\2\0\1\134\2\0"+ "\17\134\20\0\1\u031c\126\0\1\u031d\174\0\1\u031e\122\0"+ "\1\u031f\132\0\1\u030b\123\0\1\u0320\44\0\2\63\1\0"+ "\1\63\1\0\2\63\2\0\6\63\1\0\26\63\1\0"+ "\20\63\1\312\16\63\1\0\1\63\1\312\16\63\1\125"+ "\10\0\6\134\1\0\11\134\1\0\1\134\1\0\1\125"+ "\1\u010d\1\134\1\0\2\134\13\0\24\134\1\125\2\0"+ "\1\134\2\0\16\134\1\u0302\56\0\1\u0321\16\0\1\u0322"+ "\124\0\1\u0323\115\0\1\u0324\127\0\1\u02f6\125\0\1\u0273"+ "\140\0\1\u02f6\33\0"; private static int [] zzUnpackTrans() { int [] result = new int[61161]; int offset = 0; offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result); return result; } private static int zzUnpackTrans(String packed, int offset, int [] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); value--; do result[j++] = value; while (--count > 0); } return j; } /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; private static final int ZZ_PUSHBACK_2BIG = 2; /* error messages for the codes above */ private static final String ZZ_ERROR_MSG[] = { "Unkown internal scanner error", "Error: could not match input", "Error: pushback value was too large" }; /** * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute(); private static final String ZZ_ATTRIBUTE_PACKED_0 = "\6\0\2\1\1\0\2\1\1\0\2\1\7\0\1\1"+ "\3\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\17\1\1\11\3\1"+ "\2\11\2\1\1\11\1\1\1\11\1\1\1\11\6\1"+ "\1\11\1\1\2\11\1\1\1\11\5\1\4\11\4\1"+ "\4\11\1\1\1\11\6\1\4\11\1\1\2\11\1\1"+ "\1\11\10\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\6\0"+ "\1\11\1\1\15\0\1\1\1\11\5\0\1\1\1\0"+ "\2\11\4\0\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\7\0\1\11\17\0\3\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[804]; int offset = 0; offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result); return result; } private static int zzUnpackAttribute(String packed, int offset, int [] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } return j; } /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ private int zzState; /** the current lexical state */ private int zzLexicalState = YYINITIAL; /** this buffer contains the current text to be matched and is the source of the yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ private int zzMarkedPos; /** the current text position in the buffer */ private int zzCurrentPos; /** startRead marks the beginning of the yytext() string in the buffer */ private int zzStartRead; /** endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** zzAtEOF == true <=> the scanner is at the EOF */ private boolean zzAtEOF; /* user code: */ /** * Type specific to XMLTokenMaker denoting a line ending with an unclosed * double-quote attribute. */ public static final int INTERNAL_ATTR_DOUBLE = -1; /** * Type specific to XMLTokenMaker denoting a line ending with an unclosed * single-quote attribute. */ 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. */ 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. */ public static final int INTERNAL_INTAG_SCRIPT = -4; /** * 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. */ 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. */ public static final int INTERNAL_INTAG_STYLE = -7; /** * 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. */ public static final int INTERNAL_ATTR_SINGLE_QUOTE_STYLE = -9; /** * Token type specifying we're in JavaScript. */ public static final int INTERNAL_IN_JS = -10; /** * Token type specifying we're in a JavaScript multiline comment. */ public static final int INTERNAL_IN_JS_MLC = -11; /** * Token type specifying we're in an invalid multi-line JS string. */ public static final int INTERNAL_IN_JS_STRING_INVALID = -12; /** * Token type specifying we're in a valid multi-line JS string. */ public static final int INTERNAL_IN_JS_STRING_VALID = -13; /** * 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. */ public static final int INTERNAL_IN_JS_CHAR_VALID = -15; /** * Internal type denoting a line ending in CSS. */ public static final int INTERNAL_CSS = -16; /** * Internal type denoting a line ending in a CSS property. */ public static final int INTERNAL_CSS_PROPERTY = -17; /** * Internal type denoting a line ending in a CSS property value. */ public static final int INTERNAL_CSS_VALUE = -18; /** * 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. */ 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. */ public static final int INTERNAL_CSS_MLC = -(3<<11); /** * The state previous CSS-related state we were in before going into a CSS * string, multi-line comment, etc. */ private int cssPrevState; /** * Whether closing markup tags are automatically completed for HTML. */ private static boolean completeCloseTags; /** * When in the JS_STRING state, whether the current string is valid. */ private boolean validJSString; /** * Language state set on HTML tokens. Must be 0. */ private static final int LANG_INDEX_DEFAULT = 0; /** * Language state set on JavaScript tokens. */ private static final int LANG_INDEX_JS = 1; /** * Language state set on CSS tokens. */ private static final int LANG_INDEX_CSS = 2; /** * 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. * * @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. * @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. */ 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. */ 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. */ @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. 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) */ @Override public boolean getCompleteCloseTags() { return completeCloseTags; } /** * 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. */ public Token getTokenList(Segment text, int initialTokenType, int startOffset) { resetTokenList(); this.offsetShift = -text.offset + startOffset; cssPrevState = CSS; // Shouldn't be necessary int languageIndex = 0; // 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; 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; } break; } setLanguageIndex(languageIndex); start = text.offset; s = text; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); 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. * * @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. */ 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. * * 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 */ 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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = s.offset; zzLexicalState = YYINITIAL; 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. */ public HTMLTokenMaker(java.io.Reader in) { this.zzReader = in; } /** * Creates a new scanner. * There is also java.io.Reader version of this constructor. * * @param in the java.io.Inputstream to read input from. */ public HTMLTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } /** * Unpacks the compressed character translation table. * * @param packed the packed character translation table * @return the unpacked character translation table */ private static char [] zzUnpackCMap(String packed) { char [] map = new char[0x10000]; int i = 0; /* index in packed string */ int j = 0; /* index in unpacked array */ while (i < 194) { int count = packed.charAt(i++); char value = packed.charAt(i++); do map[j++] = value; while (--count > 0); } return map; } /** * Closes the input stream. */ public final void yyclose() throws java.io.IOException { zzAtEOF = true; /* indicate end of file */ zzEndRead = zzStartRead; /* invalidate buffer */ if (zzReader != null) zzReader.close(); } /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } /** * Enters a 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 yylength()-1. * * @return the character at position pos */ public final char yycharat(int pos) { return zzBuffer[zzStartRead+pos]; } /** * Returns the length of the matched text region. */ public final int yylength() { return zzMarkedPos-zzStartRead; } /** * Reports an error that occured while scanning. * * In a wellformed scanner (no or only correct usage of * yypushback(int) and a match-all fallback rule) this method * will only be called with things that "Can't Possibly Happen". * If this method is called, something is seriously wrong * (e.g. a JFlex bug producing a faulty scanner etc.). * * Usual syntax/scanner level error handling should be done * in error fallback rules. * * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; try { message = ZZ_ERROR_MSG[errorCode]; } catch (ArrayIndexOutOfBoundsException e) { message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR]; } throw new Error(message); } /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * * @param number the number of characters to be read again. * This number must not be greater than yylength()! */ public void yypushback(int number) { if ( number > yylength() ) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } /** * Resumes scanning until the next regular expression is matched, * the end of input is encountered or an I/O-Error occurs. * * @return the next token * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; int zzAction; // cached fields: int zzCurrentPosL; int zzMarkedPosL; int zzEndReadL = zzEndRead; char [] zzBufferL = zzBuffer; char [] zzCMapL = ZZ_CMAP; int [] zzTransL = ZZ_TRANS; int [] zzRowMapL = ZZ_ROWMAP; int [] zzAttrL = ZZ_ATTRIBUTE; while (true) { zzMarkedPosL = zzMarkedPos; zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; else if (zzAtEOF) { zzInput = YYEOF; break zzForAction; } else { // store back cached positions zzCurrentPos = zzCurrentPosL; zzMarkedPos = zzMarkedPosL; boolean eof = zzRefill(); // get translated positions and possibly new buffer zzCurrentPosL = zzCurrentPos; zzMarkedPosL = zzMarkedPos; zzBufferL = zzBuffer; zzEndReadL = zzEndRead; if (eof) { zzInput = YYEOF; break zzForAction; } else { zzInput = zzBufferL[zzCurrentPosL++]; } } int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ]; if (zzNext == -1) break zzForAction; zzState = zzNext; int zzAttributes = zzAttrL[zzState]; if ( (zzAttributes & 1) == 1 ) { zzAction = zzState; zzMarkedPosL = zzCurrentPosL; if ( (zzAttributes & 8) == 8 ) break zzForAction; } } } // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { case 54: { addToken(Token.OPERATOR); yybegin(CSS_VALUE); } case 104: break; case 73: { addToken(Token.ERROR_NUMBER_FORMAT); } case 105: break; case 63: { addToken(start,zzStartRead-1, Token.LITERAL_CHAR); addEndToken(INTERNAL_CSS_CHAR - cssPrevState); return firstToken; } case 106: break; case 23: { start = zzMarkedPos-1; yybegin(INATTR_SINGLE_SCRIPT); } case 107: break; case 10: { yybegin(YYINITIAL); addToken(start,zzStartRead, Token.MARKUP_DTD); } case 108: break; case 49: { addToken(Token.SEPARATOR); yybegin(CSS_PROPERTY); } case 109: break; case 4: { addToken(Token.MARKUP_TAG_DELIMITER); yybegin(INTAG); } case 110: break; case 97: { addToken(Token.RESERVED_WORD_2); } case 111: break; case 83: { addToken(start,zzStartRead+1, Token.COMMENT_MULTILINE); yybegin(cssPrevState); } case 112: break; case 80: { start = zzMarkedPos-2; cssPrevState = zzLexicalState; yybegin(CSS_C_STYLE_COMMENT); } case 113: break; case 39: { /* 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 114: break; case 5: { addToken(Token.WHITESPACE); } case 115: break; case 98: { addToken(zzStartRead,zzStartRead, Token.MARKUP_TAG_DELIMITER); addToken(zzMarkedPos-6,zzMarkedPos-1, Token.MARKUP_TAG_NAME); start = zzMarkedPos; yybegin(INTAG_SCRIPT); } case 116: break; case 82: { addToken(Token.REGEX); } case 117: break; case 41: { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addEndToken(INTERNAL_IN_JS_MLC); return firstToken; } case 118: break; case 102: { 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 119: break; case 93: { addToken(Token.FUNCTION); } case 120: break; case 8: { addToken(start,zzStartRead-1, Token.MARKUP_PROCESSING_INSTRUCTION); return firstToken; } case 121: break; case 35: { addToken(start,zzStartRead-1, Token.ERROR_STRING_DOUBLE); addEndToken(INTERNAL_IN_JS); return firstToken; } case 122: break; case 45: { start = zzMarkedPos-1; cssPrevState = zzLexicalState; yybegin(CSS_STRING); } case 123: break; case 20: { yybegin(INTAG); addToken(start,zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); } case 124: break; case 25: { start = zzMarkedPos-1; yybegin(INATTR_DOUBLE_STYLE); } case 125: break; case 76: { /* Skip all escaped chars. */ } case 126: break; case 70: { addToken(Token.MARKUP_TAG_DELIMITER); yybegin(YYINITIAL); } case 127: break; case 28: { yybegin(INTAG_STYLE); addToken(start,zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); } case 128: break; case 92: { if(JavaScriptTokenMaker.isJavaScriptCompatible("1.6")){ addToken(Token.RESERVED_WORD);} else {addToken(Token.IDENTIFIER);} } case 129: break; case 87: { if(JavaScriptTokenMaker.isJavaScriptCompatible("1.7")){ addToken(Token.RESERVED_WORD);} else {addToken(Token.IDENTIFIER);} } case 130: break; case 55: { /*System.out.println("css_value: " + yytext());*/ addToken(Token.IDENTIFIER); } case 131: break; case 17: { /* A non-recognized HTML tag name */ yypushback(yylength()); yybegin(INTAG); } case 132: break; case 26: { addToken(Token.MARKUP_TAG_DELIMITER); yybegin(CSS, LANG_INDEX_CSS); } case 133: break; case 64: { addToken(start,zzStartRead, Token.LITERAL_CHAR); yybegin(cssPrevState); } case 134: break; case 27: { start = zzMarkedPos-1; yybegin(INATTR_SINGLE_STYLE); } case 135: break; case 7: { addToken(start,zzStartRead-1, Token.MARKUP_COMMENT); return firstToken; } case 136: break; case 78: { /* Invalid latin-1 character \xXX */ validJSString = false; } case 137: break; case 24: { yybegin(INTAG_SCRIPT); addToken(start,zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); } case 138: break; case 36: { int type = validJSString ? Token.LITERAL_STRING_DOUBLE_QUOTE : Token.ERROR_STRING_DOUBLE; addToken(start,zzStartRead, type); yybegin(JAVASCRIPT); } case 139: break; case 90: { addToken(Token.COMMENT_MULTILINE); } case 140: break; case 68: { start = zzMarkedPos-2; yybegin(PI); } case 141: break; case 99: { 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 142: break; case 50: { /*System.out.println("css_property: " + yytext());*/ addToken(Token.IDENTIFIER); } case 143: break; case 9: { addToken(start,zzStartRead-1, Token.MARKUP_DTD); return firstToken; } case 144: break; case 66: { int count = yylength(); addToken(zzStartRead,zzStartRead, Token.MARKUP_TAG_DELIMITER); zzMarkedPos -= (count-1); //yypushback(count-1); yybegin(INTAG_CHECK_TAG_NAME); } case 145: break; case 62: { /* Skip escaped chars. */ } case 146: break; case 77: { /* Invalid Unicode character \\uXXXX */ validJSString = false; } case 147: break; case 96: { addToken(zzStartRead,zzStartRead, Token.MARKUP_TAG_DELIMITER); addToken(zzMarkedPos-5,zzMarkedPos-1, Token.MARKUP_TAG_NAME); start = zzMarkedPos; cssPrevState = zzLexicalState; yybegin(INTAG_STYLE); } case 148: break; case 69: { yybegin(YYINITIAL); addToken(start,zzStartRead+1, Token.MARKUP_PROCESSING_INSTRUCTION); } case 149: break; case 79: { yybegin(JAVASCRIPT); addToken(start,zzStartRead+1, Token.COMMENT_MULTILINE); } case 150: break; case 30: { addEndToken(INTERNAL_IN_JS); return firstToken; } case 151: break; case 38: { addToken(start,zzStartRead-1, Token.ERROR_CHAR); addEndToken(INTERNAL_IN_JS); return firstToken; } case 152: break; case 15: { addToken(Token.OPERATOR); } case 153: break; case 57: { addToken(Token.OPERATOR); yybegin(CSS_PROPERTY); } case 154: break; case 88: { start = zzMarkedPos-4; yybegin(COMMENT); } case 155: break; case 85: { yybegin(YYINITIAL); addToken(start,zzStartRead+2, Token.MARKUP_COMMENT); } case 156: break; case 101: { 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 157: break; case 81: { addToken(Token.VARIABLE); } case 158: break; case 43: { /*System.out.println("CSS: " + yytext());*/ addToken(Token.IDENTIFIER); } case 159: break; case 2: { addToken(Token.IDENTIFIER); } case 160: break; case 95: { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_MULTILINE); start = zzMarkedPos; } case 161: break; case 22: { addToken(Token.MARKUP_TAG_DELIMITER); yybegin(JAVASCRIPT, LANG_INDEX_JS); } case 162: break; case 94: { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_EOL); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_EOL); start = zzMarkedPos; } case 163: break; case 53: { addToken(Token.SEPARATOR); yybegin(CSS); } case 164: break; case 31: { start = zzMarkedPos-1; validJSString = true; yybegin(JS_STRING); } case 165: break; case 61: { addToken(start,zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); yybegin(cssPrevState); } case 166: break; case 51: { addEndToken(INTERNAL_CSS_PROPERTY); return firstToken; } case 167: break; case 40: { int type = validJSString ? Token.LITERAL_CHAR : Token.ERROR_CHAR; addToken(start,zzStartRead, type); yybegin(JAVASCRIPT); } case 168: break; case 34: { start = zzMarkedPos-1; validJSString = true; yybegin(JS_CHAR); } case 169: break; case 72: { start = zzMarkedPos-2; yybegin(JS_MLC); } case 170: break; case 75: { addToken(Token.LITERAL_NUMBER_HEXADECIMAL); } case 171: break; case 59: { int temp = zzMarkedPos - 2; addToken(zzStartRead, temp, Token.FUNCTION); addToken(zzMarkedPos-1, zzMarkedPos-1, Token.SEPARATOR); zzStartRead = zzCurrentPos = zzMarkedPos; } case 172: break; case 103: { addToken(Token.ANNOTATION); } case 173: break; case 29: { addToken(Token.ERROR_IDENTIFIER); } case 174: break; case 56: { addEndToken(INTERNAL_CSS_VALUE); return firstToken; } case 175: break; case 89: { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.MARKUP_COMMENT); addHyperlinkToken(temp,zzMarkedPos-1, Token.MARKUP_COMMENT); start = zzMarkedPos; } case 176: break; case 6: { addToken(Token.MARKUP_ENTITY_REFERENCE); } case 177: break; case 91: { addToken(Token.LITERAL_BOOLEAN); } case 178: break; case 18: { /* Shouldn't happen */ yypushback(1); yybegin(INTAG); } case 179: break; case 3: { addNullToken(); return firstToken; } case 180: break; case 44: { addEndToken(INTERNAL_CSS); return firstToken; } case 181: break; case 100: { 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 182: break; case 48: { start = zzMarkedPos-1; cssPrevState = zzLexicalState; yybegin(CSS_CHAR_LITERAL); } case 183: break; case 52: { addToken(Token.RESERVED_WORD); } case 184: break; case 12: { start = zzMarkedPos-1; yybegin(INATTR_DOUBLE); } case 185: break; case 14: { yybegin(YYINITIAL); addToken(Token.MARKUP_TAG_DELIMITER); } case 186: break; case 46: { addToken(Token.DATA_TYPE); } case 187: break; case 33: { addToken(Token.SEPARATOR); } case 188: break; case 84: { int count = yylength(); addToken(zzStartRead,zzStartRead+1, Token.MARKUP_TAG_DELIMITER); zzMarkedPos -= (count-2); //yypushback(count-2); yybegin(INTAG_CHECK_TAG_NAME); } case 189: break; case 60: { addToken(start,zzStartRead-1, Token.LITERAL_STRING_DOUBLE_QUOTE); addEndToken(INTERNAL_CSS_STRING - cssPrevState); return firstToken; } case 190: break; case 58: { /* End of a function */ addToken(Token.SEPARATOR); } case 191: break; case 19: { addToken(Token.MARKUP_TAG_NAME); } case 192: break; case 11: { addToken(Token.MARKUP_TAG_ATTRIBUTE); } case 193: break; case 71: { start = zzMarkedPos-2; yybegin(JS_EOL_COMMENT); } case 194: break; case 37: { /* 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 195: break; case 74: { addToken(Token.LITERAL_NUMBER_FLOAT); } case 196: break; case 16: { start = zzMarkedPos-1; yybegin(INATTR_SINGLE); } case 197: break; case 86: { 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; } } // 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 198: break; case 13: { addToken(Token.MARKUP_TAG_DELIMITER); } case 199: break; case 65: { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addEndToken(INTERNAL_CSS_MLC - cssPrevState); return firstToken; } case 200: break; case 32: { addToken(Token.LITERAL_NUMBER_DECIMAL_INT); } case 201: break; case 67: { start = zzMarkedPos-2; yybegin(DTD); } case 202: break; case 21: { start = zzMarkedPos-1; yybegin(INATTR_DOUBLE_SCRIPT); } case 203: break; case 42: { addToken(start,zzStartRead-1, Token.COMMENT_EOL); addEndToken(INTERNAL_IN_JS); return firstToken; } case 204: break; case 47: { /* Unknown pseudo class */ addToken(Token.DATA_TYPE); } case 205: break; case 1: { } case 206: 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 805: break; case JS_CHAR: { addToken(start,zzStartRead-1, Token.ERROR_CHAR); addEndToken(INTERNAL_IN_JS); return firstToken; } case 806: break; case CSS_STRING: { addToken(start,zzStartRead-1, Token.LITERAL_STRING_DOUBLE_QUOTE); addEndToken(INTERNAL_CSS_STRING - cssPrevState); return firstToken; } case 807: break; case JS_MLC: { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addEndToken(INTERNAL_IN_JS_MLC); return firstToken; } case 808: break; case CSS_CHAR_LITERAL: { addToken(start,zzStartRead-1, Token.LITERAL_CHAR); addEndToken(INTERNAL_CSS_CHAR - cssPrevState); return firstToken; } case 809: break; case INTAG_SCRIPT: { addToken(zzMarkedPos,zzMarkedPos, INTERNAL_INTAG_SCRIPT); return firstToken; } case 810: break; case CSS_PROPERTY: { addEndToken(INTERNAL_CSS_PROPERTY); return firstToken; } case 811: break; case CSS_C_STYLE_COMMENT: { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addEndToken(INTERNAL_CSS_MLC - cssPrevState); return firstToken; } case 812: break; case CSS: { addEndToken(INTERNAL_CSS); return firstToken; } case 813: break; case CSS_VALUE: { addEndToken(INTERNAL_CSS_VALUE); return firstToken; } case 814: break; case COMMENT: { addToken(start,zzStartRead-1, Token.MARKUP_COMMENT); return firstToken; } case 815: break; case INATTR_DOUBLE_SCRIPT: { addToken(start,zzStartRead-1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); addEndToken(INTERNAL_ATTR_DOUBLE_QUOTE_SCRIPT); return firstToken; } case 816: break; case PI: { addToken(start,zzStartRead-1, Token.MARKUP_PROCESSING_INSTRUCTION); return firstToken; } case 817: break; case JAVASCRIPT: { addEndToken(INTERNAL_IN_JS); return firstToken; } case 818: break; case INTAG: { addToken(zzMarkedPos,zzMarkedPos, INTERNAL_INTAG); return firstToken; } case 819: break; case INTAG_CHECK_TAG_NAME: { addToken(zzMarkedPos,zzMarkedPos, INTERNAL_INTAG); return firstToken; } case 820: break; case INATTR_SINGLE_STYLE: { addToken(start,zzStartRead-1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); addEndToken(INTERNAL_ATTR_SINGLE_QUOTE_STYLE); return firstToken; } case 821: break; case DTD: { addToken(start,zzStartRead-1, Token.MARKUP_DTD); return firstToken; } case 822: break; case JS_EOL_COMMENT: { addToken(start,zzStartRead-1, Token.COMMENT_EOL); addEndToken(INTERNAL_IN_JS); return firstToken; } case 823: break; case INATTR_DOUBLE_STYLE: { addToken(start,zzStartRead-1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); addEndToken(INTERNAL_ATTR_DOUBLE_QUOTE_STYLE); return firstToken; } case 824: break; case INATTR_SINGLE: { addToken(start,zzStartRead-1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); addEndToken(INTERNAL_ATTR_SINGLE); return firstToken; } case 825: break; case YYINITIAL: { addNullToken(); return firstToken; } case 826: break; case INATTR_DOUBLE: { addToken(start,zzStartRead-1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); addEndToken(INTERNAL_ATTR_DOUBLE); return firstToken; } case 827: break; case JS_STRING: { addToken(start,zzStartRead-1, Token.ERROR_STRING_DOUBLE); addEndToken(INTERNAL_IN_JS); return firstToken; } case 828: break; case INTAG_STYLE: { addToken(zzMarkedPos,zzMarkedPos, INTERNAL_INTAG_STYLE); return firstToken; } case 829: break; default: return null; } } else { zzScanError(ZZ_NO_MATCH); } } } } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/DtdTokenMaker.flex0000644000175000001440000002574712202002502027243 0ustar benusers/* * 04/12/2012 * * DtdTokenMaker.java - Generates tokens for DTD syntax highlighting. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.*; /** * Scanner for DTD files. * * 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * 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.
  • *
  • You should NOT call yylex() on the generated scanner * 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 %unicode %type org.fife.ui.rsyntaxtextarea.Token %{ /** * 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. */ 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. */ 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. */ 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. */ private int prevState; /** * Constructor. This must be here because JFlex does not generate a * no-parameter constructor. */ public DtdTokenMaker() { } /** * 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. */ 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. * @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. */ 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. */ 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. */ @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. * * @param type The token type. * @return Whether tokens of this type should have "mark occurrences" * enabled. */ 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. * * @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) { resetTokenList(); this.offsetShift = -text.offset + startOffset; prevState = YYINITIAL; // 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; } } start = text.offset; s = text; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); return new TokenImpl(); } } /** * Refills the input buffer. * * @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. * * 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 */ 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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = zzPushbackPos = s.offset; zzLexicalState = YYINITIAL; zzReader = reader; zzAtBOL = true; zzAtEOF = false; } %} Whitespace = ([ \t\f]) LineTerminator = ([\n]) UnclosedString = ([\"][^\"]*) UnclosedChar = ([\'][^\']*) URLGenDelim = ([:\/\?#\[\]@]) URLSubDelim = ([\!\$&'\(\)\*\+,;=]) URLUnreserved = ([A-Za-z_0-9\-\.\~]) URLCharacter = ({URLGenDelim}|{URLSubDelim}|{URLUnreserved}|[%]) URLCharacters = ({URLCharacter}*) URLEndCharacter = ([\/\$A-Za-z0-9]) URL = (((https?|f(tp|ile))"://"|"www.")({URLCharacters}{URLEndCharacter})?) %state COMMENT %state INTAG_START %state INTAG_ELEMENT %state INTAG_ATTLIST %% { ([^ \t\f<]+) { /* Not really valid */ addToken(Token.IDENTIFIER); } "" { int temp = zzMarkedPos; addToken(start,zzStartRead+2, Token.COMMENT_MULTILINE); start = temp; yybegin(prevState); } "-" {} {LineTerminator} | <> { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addEndToken(INTERNAL_IN_COMMENT - prevState); return firstToken; } } { ("ELEMENT") { addToken(Token.MARKUP_TAG_NAME); yybegin(INTAG_ELEMENT); } ("ATTLIST") { addToken(Token.MARKUP_TAG_NAME); yybegin(INTAG_ATTLIST); } ([^ \t\f>]+) { addToken(Token.IDENTIFIER); } {Whitespace}+ { addToken(Token.WHITESPACE); } (">") { addToken(Token.MARKUP_TAG_DELIMITER); yybegin(YYINITIAL); } <> { addEndToken(INTERNAL_INTAG_START); return firstToken; } } { ([^ \t\f>]+) { addToken(Token.MARKUP_TAG_ATTRIBUTE); } {Whitespace}+ { addToken(Token.WHITESPACE); } (">") { addToken(Token.MARKUP_TAG_DELIMITER); yybegin(YYINITIAL); } <> { addEndToken(INTERNAL_INTAG_ELEMENT); return firstToken; } } { ("CDATA"|"#IMPLIED"|"#REQUIRED") { addToken(Token.MARKUP_PROCESSING_INSTRUCTION); } ([^ \t\f>\"\']+) { addToken(Token.MARKUP_TAG_ATTRIBUTE); } ({UnclosedString}[\"]?) { addToken(Token.MARKUP_TAG_ATTRIBUTE_VALUE); } ({UnclosedChar}[\']?) { addToken(Token.MARKUP_TAG_ATTRIBUTE_VALUE); } {Whitespace}+ { addToken(Token.WHITESPACE); } (">") { addToken(Token.MARKUP_TAG_DELIMITER); yybegin(YYINITIAL); } <> { addEndToken(INTERNAL_INTAG_ATTLIST); return firstToken; } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/DtdTokenMaker.java0000644000175000001440000006254012202002502027216 0ustar benusers/* The following code was generated by JFlex 1.4.1 on 4/14/12 10:23 AM */ /* * 04/12/2012 * * DtdTokenMaker.java - Generates tokens for DTD syntax highlighting. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.*; /** * Scanner for DTD files. * * 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * 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.
  • *
  • You should NOT call yylex() on the generated scanner * 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 */ public static final int INTAG_START = 2; public static final int INTAG_ELEMENT = 3; public static final int YYINITIAL = 0; public static final int INTAG_ATTLIST = 4; public static final int COMMENT = 1; /** * Translates characters to character classes */ private static final String ZZ_CMAP_PACKED = "\11\0\1\1\1\2\1\0\1\1\23\0\1\1\1\24\1\3\1\41"+ "\1\7\1\5\1\5\1\4\5\5\1\25\1\22\1\6\12\7\1\20"+ "\1\5\1\23\1\5\1\26\2\5\1\34\1\7\1\37\1\40\1\27"+ "\3\7\1\35\2\7\1\30\1\31\1\32\1\7\1\42\1\44\1\43"+ "\1\36\1\33\1\45\5\7\1\5\1\0\1\5\1\0\1\5\1\0"+ "\4\7\1\17\1\14\1\7\1\10\1\15\2\7\1\16\3\7\1\12"+ "\2\7\1\13\1\11\2\7\1\21\3\7\3\0\1\5\uff81\0"; /** * Translates characters to character classes */ private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED); /** * Translates DFA states to action switch labels. */ private static final int [] ZZ_ACTION = zzUnpackAction(); private static final String ZZ_ACTION_PACKED_0 = "\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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } return j; } /** * 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\46\0\114\0\162\0\230\0\276\0\344\0\u010a"+ "\0\u0130\0\u0156\0\u017c\0\u01a2\0\u01c8\0\u01ee\0\u0214\0\u0156"+ "\0\u023a\0\u0260\0\u0286\0\u02ac\0\u02d2\0\u02f8\0\u031e\0\u0344"+ "\0\u036a\0\u0390\0\u03b6\0\u03dc\0\u0402\0\u0428\0\u044e\0\u0474"+ "\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"; 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 */ int l = packed.length(); while (i < l) { int high = packed.charAt(i++) << 16; result[j++] = high | packed.charAt(i++); } 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 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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); value--; do result[j++] = value; while (--count > 0); } return j; } /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; private static final int ZZ_PUSHBACK_2BIG = 2; /* error messages for the codes above */ private static final String ZZ_ERROR_MSG[] = { "Unkown internal scanner error", "Error: could not match input", "Error: pushback value was too large" }; /** * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute(); private static final String ZZ_ATTRIBUTE_PACKED_0 = "\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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } return j; } /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ private int zzState; /** the current lexical state */ private int zzLexicalState = YYINITIAL; /** this buffer contains the current text to be matched and is the source of the yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ private int zzMarkedPos; /** the current text position in the buffer */ private int zzCurrentPos; /** startRead marks the beginning of the yytext() string in the buffer */ private int zzStartRead; /** endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** 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. */ public static final int INTERNAL_INTAG_START = -1; /** * 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. */ 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. */ 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. */ private int prevState; /** * Constructor. This must be here because JFlex does not generate a * no-parameter constructor. */ public DtdTokenMaker() { } /** * 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. */ 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. * @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. */ 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. */ 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. */ @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. * * @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. * * @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) { resetTokenList(); this.offsetShift = -text.offset + startOffset; prevState = YYINITIAL; // 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; } } start = text.offset; s = text; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); return new TokenImpl(); } } /** * Refills the input buffer. * * @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. * * 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 */ 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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = s.offset; zzLexicalState = YYINITIAL; 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. */ public DtdTokenMaker(java.io.Reader in) { this.zzReader = in; } /** * Creates a new scanner. * There is also java.io.Reader version of this constructor. * * @param in the java.io.Inputstream to read input from. */ public DtdTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } /** * Unpacks the compressed character translation table. * * @param packed the packed character translation table * @return the unpacked character translation table */ private static char [] zzUnpackCMap(String packed) { char [] map = new char[0x10000]; int i = 0; /* index in packed string */ int j = 0; /* index in unpacked array */ while (i < 138) { int count = packed.charAt(i++); char value = packed.charAt(i++); do map[j++] = value; while (--count > 0); } return map; } /** * Closes the input stream. */ public final void yyclose() throws java.io.IOException { zzAtEOF = true; /* indicate end of file */ zzEndRead = zzStartRead; /* invalidate buffer */ if (zzReader != null) zzReader.close(); } /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } /** * Enters a 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 yylength()-1. * * @return the character at position pos */ public final char yycharat(int pos) { return zzBuffer[zzStartRead+pos]; } /** * Returns the length of the matched text region. */ public final int yylength() { return zzMarkedPos-zzStartRead; } /** * Reports an error that occured while scanning. * * In a wellformed scanner (no or only correct usage of * yypushback(int) and a match-all fallback rule) this method * will only be called with things that "Can't Possibly Happen". * If this method is called, something is seriously wrong * (e.g. a JFlex bug producing a faulty scanner etc.). * * Usual syntax/scanner level error handling should be done * in error fallback rules. * * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; try { message = ZZ_ERROR_MSG[errorCode]; } catch (ArrayIndexOutOfBoundsException e) { message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR]; } throw new Error(message); } /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * * @param number the number of characters to be read again. * This number must not be greater than yylength()! */ public void yypushback(int number) { if ( number > yylength() ) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } /** * Resumes scanning until the next regular expression is matched, * the end of input is encountered or an I/O-Error occurs. * * @return the next token * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; int zzAction; // cached fields: int zzCurrentPosL; int zzMarkedPosL; int zzEndReadL = zzEndRead; char [] zzBufferL = zzBuffer; char [] zzCMapL = ZZ_CMAP; int [] zzTransL = ZZ_TRANS; int [] zzRowMapL = ZZ_ROWMAP; int [] zzAttrL = ZZ_ATTRIBUTE; while (true) { zzMarkedPosL = zzMarkedPos; zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; else if (zzAtEOF) { zzInput = YYEOF; break zzForAction; } else { // store back cached positions zzCurrentPos = zzCurrentPosL; zzMarkedPos = zzMarkedPosL; boolean eof = zzRefill(); // get translated positions and possibly new buffer zzCurrentPosL = zzCurrentPos; zzMarkedPosL = zzMarkedPos; zzBufferL = zzBuffer; zzEndReadL = zzEndRead; if (eof) { zzInput = YYEOF; break zzForAction; } else { zzInput = zzBufferL[zzCurrentPosL++]; } } int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ]; if (zzNext == -1) break zzForAction; zzState = zzNext; int zzAttributes = zzAttrL[zzState]; if ( (zzAttributes & 1) == 1 ) { zzAction = zzState; zzMarkedPosL = zzCurrentPosL; if ( (zzAttributes & 8) == 8 ) break zzForAction; } } } // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { case 3: { addToken(Token.IDENTIFIER); } case 16: break; case 12: { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_MULTILINE); start = zzMarkedPos; } case 17: break; case 2: { addToken(Token.WHITESPACE); } case 18: break; case 1: { /* Not really valid */ addToken(Token.IDENTIFIER); } 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 11: { start = zzStartRead; prevState = zzLexicalState; yybegin(COMMENT); } case 22: break; case 7: { addToken(Token.MARKUP_TAG_ATTRIBUTE); } case 23: break; case 10: { int temp = zzMarkedPos; addToken(start,zzStartRead+2, Token.COMMENT_MULTILINE); start = temp; yybegin(prevState); } 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.COMMENT_MULTILINE); 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.COMMENT_MULTILINE); addEndToken(INTERNAL_IN_COMMENT - prevState); return firstToken; } case 75: break; default: return null; } } else { zzScanError(ZZ_NO_MATCH); } } } } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/SQLTokenMaker.flex0000644000175000001440000002647212202237656027207 0ustar benusers/* * 02/15/2005 * * SQLTokenMaker.java - Scanner for SQL. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.*; /** * This class generates tokens representing a text stream as SQL.

* * 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * 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.
  • *
  • You should NOT call yylex() on the generated scanner * directly; rather, you should use getTokenList as you would * with any other TokenMaker instance.
  • *
* * @author Robert Futrell * @version 0.5 * */ %% %public %class SQLTokenMaker %extends AbstractJFlexTokenMaker %unicode %ignorecase %type org.fife.ui.rsyntaxtextarea.Token %{ /** * 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. */ 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. */ 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. */ @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 text to place at the beginning and end of a * line to "comment" it in a this programming language. * * @return The start and end strings to add to a line to "comment" * it out. */ @Override public String[] getLineCommentStartAndEnd() { 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. * * @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) { resetTokenList(); this.offsetShift = -text.offset + startOffset; // 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; } s = text; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); return new TokenImpl(); } } /** * Refills the input buffer. * * @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. * * 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 */ 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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = zzPushbackPos = s.offset; zzLexicalState = YYINITIAL; zzReader = reader; zzAtBOL = true; zzAtEOF = false; } %} LineTerminator = ([\n]) Letter = ([A-Za-z]) Digit = ([0-9]) Whitespace = ([ \t]+) IdentifierStart = ({Letter}) IdentifierPart = ({IdentifierStart}|{Digit}|[_]) Identifier = ({IdentifierStart}{IdentifierPart}*) Operator = (">="|"<="|"<>"|">"|"<"|"="|"+"|"-"|"*"|"/") Separator = ([\(\)]) Parameter = ([:]{Identifier}) Integer = ({Digit}+) Float = (({Digit}+[.]{Digit}*)|([.]{Digit}*)) ApproxNum = (({Digit}+[eE][+-]?{Digit}+)|({Digit}+[.]{Digit}*[eE][+-]?[0-9]+)|([.][0-9]*[eE][+-]?[0-9]+)) CommentBegin = ("--") Comment = ({CommentBegin}.*) MLCBegin = "/*" MLCEnd = "*/" %state STRING %state CHAR %state MLC %% { /* Keywords */ "ADD" | "ALL" | "ALTER" | "AND" | "ANY" | "AS" | "ASC" | "AUTOINCREMENT" | "AVA" | "BETWEEN" | "BINARY" | "BIT" | "BOOLEAN" | "BY" | "BYTE" | "CHAR" | "CHARACTER" | "COLUMN" | "CONSTRAINT" | "COUNT" | "COUNTER" | "CREATE" | "CURRENCY" | "DATABASE" | "DATE" | "DATETIME" | "DELETE" | "DESC" | "DISALLOW" | "DISTINCT" | "DISTINCTROW" | "DOUBLE" | "DROP" | "EXISTS" | "FLOAT" | "FLOAT4" | "FLOAT8" | "FOREIGN" | "FROM" | "GENERAL" | "GROUP" | "GUID" | "HAVING" | "INNER" | "INSERT" | "IGNORE" | "IMP" | "IN" | "INDEX" | "INT" | "INTEGER" | "INTEGER1" | "INTEGER2" | "INTEGER4" | "INTO" | "IS" | "JOIN" | "KEY" | "LEFT" | "LEVEL" | "LIKE" | "LOGICAL" | "LONG" | "LONGBINARY" | "LONGTEXT" | "MAX" | "MEMO" | "MIN" | "MOD" | "MONEY" | "NOT" | "NULL" | "NUMBER" | "NUMERIC" | "OLEOBJECT" | "ON" | "OPTION" | "OR" | "ORDER" | "OUTER" | "OWNERACCESS" | "PARAMETERS" | "PASSWORD" | "PERCENT" | "PIVOT" | "PRIMARY" | "REAL" | "REFERENCES" | "RIGHT" | "SELECT" | "SET" | "SHORT" | "SINGLE" | "SMALLINT" | "SOME" | "STDEV" | "STDEVP" | "STRING" | "SUM" | "TABLE" | "TABLEID" | "TEXT" | "TIME" | "TIMESTAMP" | "TOP" | "TRANSFORM" | "TYPE" | "UNION" | "UNIQUE" | "UPDATE" | "USER" | "VALUE" | "VALUES" | "VAR" | "VARBINARY" | "VARCHAR" | "VARP" | "WHERE" | "WITH" | "YESNO" { addToken(Token.RESERVED_WORD); } /* SQL99 aggregate functions */ "AVG" | "COUNT" | "MIN" | "MAX" | "SUM" { addToken(Token.FUNCTION); } /* SQL99 built-in scalar functions */ "CURRENT_DATE" | "CURRENT_TIME" | "CURRENT_TIMESTAMP" | "CURRENT_USER" | "SESSION_USER" | "SYSTEM_USER" { addToken(Token.FUNCTION); } /* SQL99 numeric scalar functions */ "BIT_LENGTH" | "CHAR_LENGTH" | "EXTRACT" | "OCTET_LENGTH" | "POSITION" { addToken(Token.FUNCTION); } /* SQL99 string functions */ "CONCATENATE" | "CONVERT" | "LOWER" | "SUBSTRING" | "TRANSLATE" | "TRIM" | "UPPER" { addToken(Token.FUNCTION); } {LineTerminator} { addNullToken(); return firstToken; } {Identifier} { addToken(Token.IDENTIFIER); } ";" { addToken(Token.IDENTIFIER); } {Parameter} { addToken(Token.IDENTIFIER); } {Comment} { addToken(Token.COMMENT_EOL); } {MLCBegin} { start = zzMarkedPos-2; yybegin(MLC); } {Whitespace} { addToken(Token.WHITESPACE); } {Operator} { addToken(Token.OPERATOR); } {Separator} { addToken(Token.SEPARATOR); } {Integer} { addToken(Token.LITERAL_NUMBER_DECIMAL_INT); } {Float} { addToken(Token.LITERAL_NUMBER_FLOAT); } {ApproxNum} { addToken(Token.LITERAL_NUMBER_FLOAT); } "\"" { start = zzMarkedPos-1; yybegin(STRING); } "\'" { start = zzMarkedPos-1; yybegin(CHAR); } "["[^\]]*"]" { addToken(Token.PREPROCESSOR); } "["[^\]]* { addToken(Token.ERROR_IDENTIFIER); addNullToken(); return firstToken; } <> { addNullToken(); return firstToken; } /* Catch any other (unhandled) characters and flag them as OK; */ /* I don't know enough about SQL to know what's really invalid. */ . { addToken(Token.IDENTIFIER); } } { [^\n\"]+ {} \n { addToken(start,zzStartRead-1, Token.LITERAL_STRING_DOUBLE_QUOTE); return firstToken; } "\"\"" {} "\"" { yybegin(YYINITIAL); addToken(start,zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); } <> { addToken(start,zzStartRead-1, Token.LITERAL_STRING_DOUBLE_QUOTE); return firstToken; } } { [^\n\']+ {} \n { addToken(start,zzStartRead-1, Token.LITERAL_CHAR); return firstToken; } "\'\'" {} "\'" { yybegin(YYINITIAL); addToken(start,zzStartRead, Token.LITERAL_CHAR); } <> { addToken(start,zzStartRead-1, Token.LITERAL_CHAR); return firstToken; } } { [^\n\*]+ {} \n { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); return firstToken; } {MLCEnd} { yybegin(YYINITIAL); addToken(start,zzStartRead+1, Token.COMMENT_MULTILINE); } \* {} <> { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); return firstToken; } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/SQLTokenMaker.java0000644000175000001440000012002012202002502027126 0ustar benusers/* The following code was generated by JFlex 1.4.1 on 2/7/09 11:02 AM */ /* * 02/15/2005 * * SQLTokenMaker.java - Scanner for SQL. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.*; /** * This class generates tokens representing a text stream as SQL.

* * 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * 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.
  • *
  • You should NOT call yylex() on the generated scanner * directly; rather, you should use getTokenList as you would * with any other TokenMaker instance.
  • *
* * @author Robert Futrell * @version 0.5 * */ public class SQLTokenMaker extends AbstractJFlexTokenMaker { /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ public static final int STRING = 1; public static final int YYINITIAL = 0; public static final int MLC = 3; public static final int CHAR = 2; /** * Translates characters to character classes */ 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"; /** * Translates characters to character classes */ private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED); /** * Translates DFA states to action switch labels. */ private static final int [] ZZ_ACTION = zzUnpackAction(); private static final String ZZ_ACTION_PACKED_0 = "\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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } return j; } /** * 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\60\0\140\0\220\0\300\0\300\0\360\0\u0120"+ "\0\u0150\0\u0180\0\300\0\u01b0\0\u01e0\0\u0210\0\300\0\u0240"+ "\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\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"+ "\0\u0d50\0\u0d80\0\u0db0\0\u0de0\0\u0e10\0\u0e40\0\u0e70\0\u0ea0"+ "\0\u0ed0\0\u0f00\0\u0f30\0\u0f60\0\u0f90\0\u0fc0\0\u0ff0\0\u1020"+ "\0\u1050\0\u1080\0\360\0\u10b0\0\u10e0\0\u1110\0\u1140\0\u1170"+ "\0\u11a0\0\u11d0\0\u1200\0\u1230\0\u1260\0\u1290\0\u12c0\0\u12f0"+ "\0\u1320\0\u1350\0\u1380\0\u13b0\0\u13e0\0\u1410\0\u1440\0\u1470"+ "\0\u14a0\0\u14d0\0\u1500\0\u1530\0\u1560\0\u1590\0\u15c0\0\u15f0"+ "\0\u1620\0\u1650\0\300\0\300\0\300\0\u1680\0\u1680\0\u16b0"+ "\0\u16e0\0\u1710\0\360\0\u1740\0\u0960\0\u1770\0\u17a0\0\u17d0"+ "\0\u1800\0\u1830\0\u1860\0\u1890\0\u18c0\0\u18f0\0\u1920\0\u1950"+ "\0\u1980\0\u19b0\0\u19e0\0\u1a10\0\u1a40\0\u1a70\0\u1aa0\0\u1ad0"+ "\0\u1b00\0\u1b30\0\u1b60\0\u1b90\0\u1bc0\0\u1bf0\0\u1c20\0\u1c50"+ "\0\u1c80\0\u1cb0\0\u1ce0\0\u1d10\0\u1d40\0\u1d70\0\u1da0\0\u1dd0"+ "\0\u1e00\0\u1e30\0\u1e60\0\u1e90\0\u1ec0\0\u1ef0\0\u1f20\0\u1f50"+ "\0\u1f80\0\u1fb0\0\u1fe0\0\u2010\0\u2040\0\u2070\0\u20a0\0\u20d0"+ "\0\u2100\0\u2130\0\u2160\0\u2190\0\u21c0\0\u21f0\0\u2220\0\u2250"+ "\0\u2280\0\u22b0\0\u22e0\0\u2310\0\u2340\0\u2370\0\u12f0\0\u23a0"+ "\0\u23d0\0\u2400\0\u2430\0\u2460\0\u2490\0\u24c0\0\u24f0\0\u2520"+ "\0\u2550\0\u2580\0\u25b0\0\u25e0\0\u2610\0\u2640\0\u2670\0\u26a0"+ "\0\u26d0\0\u2700\0\u2730\0\u2760\0\u2790\0\u27c0\0\u27f0\0\u2820"+ "\0\u2850\0\u2880\0\u28b0\0\u28e0\0\u2910\0\u2940\0\u2970\0\u29a0"+ "\0\u29d0\0\u2a00\0\u2a30\0\u2a60\0\u2a90\0\u2ac0\0\u2af0\0\u2b20"+ "\0\u2b50\0\u2b80\0\u2bb0\0\u2be0\0\u2c10\0\u2c40\0\u2c70\0\u2ca0"+ "\0\u2cd0\0\u2d00\0\u2d30\0\u2d60\0\u2d90\0\u2dc0\0\u2df0\0\u15f0"+ "\0\u2e20\0\u2e50\0\u2e80\0\u2eb0\0\u2ee0\0\u0c30\0\u2f10\0\u2f40"+ "\0\u2f70\0\u2fa0\0\u2fd0\0\u3000\0\u3030\0\u3060\0\u0ff0\0\u3090"+ "\0\u30c0\0\u2040\0\u30f0\0\u3120\0\u2ca0\0\u3150\0\u3180\0\u31b0"+ "\0\u31e0\0\u3210\0\u3240\0\u3270\0\u32a0\0\u32d0\0\u3300\0\u3330"+ "\0\u3360\0\u3390\0\u33c0\0\u33f0\0\u3420\0\u3450\0\u3480\0\u34b0"+ "\0\u34e0\0\u3510\0\u3540\0\u3570\0\u35a0\0\u35d0\0\u3600\0\u3630"+ "\0\u3660\0\u3690\0\u36c0\0\u36f0\0\u3720\0\u3750\0\u3780\0\u37b0"+ "\0\u37e0\0\u3810\0\u3840\0\u3870\0\u38a0\0\u38d0\0\u3900\0\u3930"+ "\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 */ int l = packed.length(); while (i < l) { int high = packed.charAt(i++) << 16; result[j++] = high | packed.charAt(i++); } 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"+ "\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"+ "\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"+ "\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"+ "\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"+ "\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"+ "\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"+ "\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\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"; 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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); value--; do result[j++] = value; while (--count > 0); } return j; } /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; private static final int ZZ_PUSHBACK_2BIG = 2; /* error messages for the codes above */ private static final String ZZ_ERROR_MSG[] = { "Unkown internal scanner error", "Error: could not match input", "Error: pushback value was too large" }; /** * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute(); private static final String ZZ_ATTRIBUTE_PACKED_0 = "\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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } return j; } /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ private int zzState; /** the current lexical state */ private int zzLexicalState = YYINITIAL; /** this buffer contains the current text to be matched and is the source of the yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ private int zzMarkedPos; /** the current text position in the buffer */ private int zzCurrentPos; /** startRead marks the beginning of the yytext() string in the buffer */ private int zzStartRead; /** endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** 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. */ public SQLTokenMaker() { super(); } /** * Adds the token specified to the current linked list of tokens. * * @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. */ 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. */ @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 text to place at the beginning and end of a * line to "comment" it in a this programming language. * * @return The start and end strings to add to a line to "comment" * it out. */ @Override public String[] getLineCommentStartAndEnd() { 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. * * @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) { resetTokenList(); this.offsetShift = -text.offset + startOffset; // 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; } s = text; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); return new TokenImpl(); } } /** * Refills the input buffer. * * @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. * * 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 */ 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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = s.offset; zzLexicalState = YYINITIAL; 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. */ public SQLTokenMaker(java.io.Reader in) { this.zzReader = in; } /** * Creates a new scanner. * There is also java.io.Reader version of this constructor. * * @param in the java.io.Inputstream to read input from. */ public SQLTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } /** * Unpacks the compressed character translation table. * * @param packed the packed character translation table * @return the unpacked character translation table */ private static char [] zzUnpackCMap(String packed) { char [] map = new char[0x10000]; int i = 0; /* index in packed string */ int j = 0; /* index in unpacked array */ while (i < 178) { int count = packed.charAt(i++); char value = packed.charAt(i++); do map[j++] = value; while (--count > 0); } return map; } /** * Closes the input stream. */ public final void yyclose() throws java.io.IOException { zzAtEOF = true; /* indicate end of file */ zzEndRead = zzStartRead; /* invalidate buffer */ if (zzReader != null) zzReader.close(); } /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } /** * Enters a 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 yylength()-1. * * @return the character at position pos */ public final char yycharat(int pos) { return zzBuffer[zzStartRead+pos]; } /** * Returns the length of the matched text region. */ public final int yylength() { return zzMarkedPos-zzStartRead; } /** * Reports an error that occured while scanning. * * In a wellformed scanner (no or only correct usage of * yypushback(int) and a match-all fallback rule) this method * will only be called with things that "Can't Possibly Happen". * If this method is called, something is seriously wrong * (e.g. a JFlex bug producing a faulty scanner etc.). * * Usual syntax/scanner level error handling should be done * in error fallback rules. * * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; try { message = ZZ_ERROR_MSG[errorCode]; } catch (ArrayIndexOutOfBoundsException e) { message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR]; } throw new Error(message); } /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * * @param number the number of characters to be read again. * This number must not be greater than yylength()! */ public void yypushback(int number) { if ( number > yylength() ) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } /** * Resumes scanning until the next regular expression is matched, * the end of input is encountered or an I/O-Error occurs. * * @return the next token * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; int zzAction; // cached fields: int zzCurrentPosL; int zzMarkedPosL; int zzEndReadL = zzEndRead; char [] zzBufferL = zzBuffer; char [] zzCMapL = ZZ_CMAP; int [] zzTransL = ZZ_TRANS; int [] zzRowMapL = ZZ_ROWMAP; int [] zzAttrL = ZZ_ATTRIBUTE; while (true) { zzMarkedPosL = zzMarkedPos; zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; else if (zzAtEOF) { zzInput = YYEOF; break zzForAction; } else { // store back cached positions zzCurrentPos = zzCurrentPosL; zzMarkedPos = zzMarkedPosL; boolean eof = zzRefill(); // get translated positions and possibly new buffer zzCurrentPosL = zzCurrentPos; zzMarkedPosL = zzMarkedPos; zzBufferL = zzBuffer; zzEndReadL = zzEndRead; if (eof) { zzInput = YYEOF; break zzForAction; } else { zzInput = zzBufferL[zzCurrentPosL++]; } } int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ]; if (zzNext == -1) break zzForAction; zzState = zzNext; int zzAttributes = zzAttrL[zzState]; if ( (zzAttributes & 1) == 1 ) { zzAction = zzState; zzMarkedPosL = zzCurrentPosL; if ( (zzAttributes & 8) == 8 ) break zzForAction; } } } // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { case 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); } } } } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/CTokenMaker.flex0000644000175000001440000003666212202237654026732 0ustar benusers/* * 11/13/2004 * * CTokenMaker.java - An object that can take a chunk of text and * return a linked list of tokens representing it in the C programming * language. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.*; /** * Scanner for the C programming language. * * 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * 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.
  • *
  • You should NOT call yylex() on the generated scanner * directly; rather, you should use getTokenList as you would * with any other TokenMaker instance.
  • *
* * @author Robert Futrell * @version 0.5 * */ %% %public %class CTokenMaker %extends AbstractJFlexCTokenMaker %unicode %type org.fife.ui.rsyntaxtextarea.Token %{ /** * 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. * @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. */ 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. */ 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. */ @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 text to place at the beginning and end of a * line to "comment" it in a this programming language. * * @return The start and end strings to add to a line to "comment" * it out. */ @Override public String[] getLineCommentStartAndEnd() { 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. * * @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) { resetTokenList(); this.offsetShift = -text.offset + startOffset; // 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; } s = text; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); return new TokenImpl(); } } /** * Refills the input buffer. * * @return true if EOF was reached, otherwise * false. * @exception IOException if any I/O-Error occurs. */ private boolean zzRefill() throws java.io.IOException { return zzCurrentPos>=s.offset+s.count; } /** * 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 */ public final void yyreset(java.io.Reader reader) throws java.io.IOException { // '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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = zzPushbackPos = s.offset; zzLexicalState = YYINITIAL; zzReader = reader; zzAtBOL = true; zzAtEOF = false; } %} Letter = [A-Za-z] LetterOrUnderscore = ({Letter}|[_]) Digit = [0-9] HexDigit = {Digit}|[A-Fa-f] OctalDigit = [0-7] Exponent = [eE][+-]?{Digit}+ PreprocessorWord = define|elif|else|endif|error|if|ifdef|ifndef|include|line|pragma|undef Trigraph = ("??="|"??("|"??)"|"??/"|"??'"|"??<"|"??>"|"??!"|"??-") OctEscape1 = ([\\]{OctalDigit}) OctEscape2 = ([\\]{OctalDigit}{OctalDigit}) OctEscape3 = ([\\][0-3]{OctalDigit}{OctalDigit}) OctEscape = ({OctEscape1}|{OctEscape2}|{OctEscape3}) HexEscape = ([\\][xX]{HexDigit}{HexDigit}) AnyChrChr = ([^\'\n\\]) Escape = ([\\]([abfnrtv\'\"\?\\0])) UnclosedCharLiteral = ([\']({Escape}|{OctEscape}|{HexEscape}|{Trigraph}|{AnyChrChr})) CharLiteral = ({UnclosedCharLiteral}[\']) ErrorUnclosedCharLiteral = ([\'][^\'\n]*) ErrorCharLiteral = (([\'][\'])|{ErrorUnclosedCharLiteral}[\']) AnyStrChr = ([^\"\n\\]) FalseTrigraph = (("?"(("?")*)[^\=\(\)\/\'\<\>\!\-\\\?\"\n])|("?"[\=\(\)\/\'\<\>\!\-])) StringLiteral = ([\"]((((("?")*)({Escape}|{OctEscape}|{HexEscape}|{Trigraph}))|{FalseTrigraph}|{AnyStrChr})*)(("?")*)[\"]) UnclosedStringLiteral = ([\"]([\\].|[^\\\"])*[^\"]?) ErrorStringLiteral = ({UnclosedStringLiteral}[\"]) LineTerminator = \n WhiteSpace = [ \t\f] MLCBegin = "/*" MLCEnd = "*/" LineCommentBegin = "//" NonFloatSuffix = (([uU][lL]?)|([lL][uU]?)) IntegerLiteral = ({Digit}+{Exponent}?{NonFloatSuffix}?) HexLiteral = ("0"[xX]{HexDigit}+{NonFloatSuffix}?) FloatLiteral = ((({Digit}*[\.]{Digit}+)|({Digit}+[\.]{Digit}*)){Exponent}?[fFlL]?) ErrorNumberFormat = (({IntegerLiteral}|{HexLiteral}|{FloatLiteral}){NonSeparator}+) NonSeparator = ([^\t\f\r\n\ \(\)\{\}\[\]\;\,\.\=\>\<\!\~\?\:\+\-\*\/\&\|\^\%\"\']|"#") Identifier = ({LetterOrUnderscore}({LetterOrUnderscore}|{Digit}|[$])*) ErrorIdentifier = ({NonSeparator}+) URLGenDelim = ([:\/\?#\[\]@]) URLSubDelim = ([\!\$&'\(\)\*\+,;=]) URLUnreserved = ({LetterOrUnderscore}|{Digit}|[\-\.\~]) URLCharacter = ({URLGenDelim}|{URLSubDelim}|{URLUnreserved}|[%]) URLCharacters = ({URLCharacter}*) URLEndCharacter = ([\/\$]|{Letter}|{Digit}) URL = (((https?|f(tp|ile))"://"|"www.")({URLCharacters}{URLEndCharacter})?) %state MLC %state EOL_COMMENT %% { /* Keywords */ "auto" | "break" | "case" | "const" | "continue" | "default" | "do" | "else" | "enum" | "extern" | "for" | "goto" | "if" | "register" | "return" | "sizeof" | "static" | "struct" | "switch" | "typedef" | "union" | "volatile" | "while" { addToken(Token.RESERVED_WORD); } /* Data types. */ "char" | "div_t" | "double" | "float" | "int" | "ldiv_t" | "long" | "short" | "signed" | "size_t" | "unsigned" | "void" | "wchar_t" { addToken(Token.DATA_TYPE); } /* Standard functions */ "abort" | "abs" | "acos" | "asctime" | "asin" | "assert" | "atan2" | "atan" | "atexit" | "atof" | "atoi" | "atol" | "bsearch" | "btowc" | "calloc" | "ceil" | "clearerr" | "clock" | "cosh" | "cos" | "ctime" | "difftime" | "div" | "errno" | "exit" | "exp" | "fabs" | "fclose" | "feof" | "ferror" | "fflush" | "fgetc" | "fgetpos" | "fgetwc" | "fgets" | "fgetws" | "floor" | "fmod" | "fopen" | "fprintf" | "fputc" | "fputs" | "fputwc" | "fputws" | "fread" | "free" | "freopen" | "frexp" | "fscanf" | "fseek" | "fsetpos" | "ftell" | "fwprintf" | "fwrite" | "fwscanf" | "getchar" | "getc" | "getenv" | "gets" | "getwc" | "getwchar" | "gmtime" | "isalnum" | "isalpha" | "iscntrl" | "isdigit" | "isgraph" | "islower" | "isprint" | "ispunct" | "isspace" | "isupper" | "isxdigit" | "labs" | "ldexp" | "ldiv" | "localeconv" | "localtime" | "log10" | "log" | "longjmp" | "malloc" | "mblen" | "mbrlen" | "mbrtowc" | "mbsinit" | "mbsrtowcs" | "mbstowcs" | "mbtowc" | "memchr" | "memcmp" | "memcpy" | "memmove" | "memset" | "mktime" | "modf" | "offsetof" | "perror" | "pow" | "printf" | "putchar" | "putc" | "puts" | "putwc" | "putwchar" | "qsort" | "raise" | "rand" | "realloc" | "remove" | "rename" | "rewind" | "scanf" | "setbuf" | "setjmp" | "setlocale" | "setvbuf" | "setvbuf" | "signal" | "sinh" | "sin" | "sprintf" | "sqrt" | "srand" | "sscanf" | "strcat" | "strchr" | "strcmp" | "strcmp" | "strcoll" | "strcpy" | "strcspn" | "strerror" | "strftime" | "strlen" | "strncat" | "strncmp" | "strncpy" | "strpbrk" | "strrchr" | "strspn" | "strstr" | "strtod" | "strtok" | "strtol" | "strtoul" | "strxfrm" | "swprintf" | "swscanf" | "system" | "tanh" | "tan" | "time" | "tmpfile" | "tmpnam" | "tolower" | "toupper" | "ungetc" | "ungetwc" | "va_arg" | "va_end" | "va_start" | "vfprintf" | "vfwprintf" | "vprintf" | "vsprintf" | "vswprintf" | "vwprintf" | "wcrtomb" | "wcscat" | "wcschr" | "wcscmp" | "wcscoll" | "wcscpy" | "wcscspn" | "wcsftime" | "wcslen" | "wcsncat" | "wcsncmp" | "wcsncpy" | "wcspbrk" | "wcsrchr" | "wcsrtombs" | "wcsspn" | "wcsstr" | "wcstod" | "wcstok" | "wcstol" | "wcstombs" | "wcstoul" | "wcsxfrm" | "wctob" | "wctomb" | "wmemchr" | "wmemcmp" | "wmemcpy" | "wmemmove" | "wmemset" | "wprintf" | "wscanf" { addToken(Token.FUNCTION); } /* Standard-defined macros. */ "__DATE__" | "__TIME__" | "__FILE__" | "__LINE__" | "__STDC__" { addToken(Token.PREPROCESSOR); } {LineTerminator} { addNullToken(); return firstToken; } {Identifier} { addToken(Token.IDENTIFIER); } {WhiteSpace}+ { addToken(Token.WHITESPACE); } /* Preprocessor directives */ "#"{WhiteSpace}*{PreprocessorWord} { addToken(Token.PREPROCESSOR); } /* String/Character Literals. */ {CharLiteral} { addToken(Token.LITERAL_CHAR); } {UnclosedCharLiteral} { addToken(Token.ERROR_CHAR); /*addNullToken(); return firstToken;*/ } {ErrorUnclosedCharLiteral} { addToken(Token.ERROR_CHAR); addNullToken(); return firstToken; } {ErrorCharLiteral} { addToken(Token.ERROR_CHAR); } {StringLiteral} { addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); } {UnclosedStringLiteral} { addToken(Token.ERROR_STRING_DOUBLE); addNullToken(); return firstToken; } {ErrorStringLiteral} { addToken(Token.ERROR_STRING_DOUBLE); } /* Comment Literals. */ {MLCBegin} { start = zzMarkedPos-2; yybegin(MLC); } {LineCommentBegin} { start = zzMarkedPos-2; yybegin(EOL_COMMENT); } /* Separators. */ "(" | ")" | "[" | "]" | "{" | "}" { addToken(Token.SEPARATOR); } /* Operators. */ {Trigraph} | "=" | "+" | "-" | "*" | "/" | "%" | "~" | "<" | ">" | "<<" | ">>" | "==" | "+=" | "-=" | "*=" | "/=" | "%=" | ">>=" | "<<=" | "^" | "&" | "&&" | "|" | "||" | "?" | ":" | "," | "!" | "++" | "--" | "." | "," { addToken(Token.OPERATOR); } /* Numbers */ {IntegerLiteral} { addToken(Token.LITERAL_NUMBER_DECIMAL_INT); } {HexLiteral} { addToken(Token.LITERAL_NUMBER_HEXADECIMAL); } {FloatLiteral} { addToken(Token.LITERAL_NUMBER_FLOAT); } {ErrorNumberFormat} { addToken(Token.ERROR_NUMBER_FORMAT); } /* Some lines will end in '\' to wrap an expression. */ "\\" { addToken(Token.IDENTIFIER); } {ErrorIdentifier} { addToken(Token.ERROR_IDENTIFIER); } /* Other punctuation, we'll highlight it as "identifiers." */ ";" { addToken(Token.IDENTIFIER); } /* Ended with a line not in a string or comment. */ <> { addNullToken(); return firstToken; } /* Catch any other (unhandled) characters and flag them as bad. */ . { addToken(Token.ERROR_IDENTIFIER); } } { [^hwf\n\*]+ {} {URL} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_MULTILINE); start = zzMarkedPos; } [hwf] {} \n { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); return firstToken; } {MLCEnd} { yybegin(YYINITIAL); addToken(start,zzStartRead+1, Token.COMMENT_MULTILINE); } \* {} <> { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); return firstToken; } } { [^hwf\n]+ {} {URL} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_EOL); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_EOL); start = zzMarkedPos; } [hwf] {} \n { addToken(start,zzStartRead-1, Token.COMMENT_EOL); addNullToken(); return firstToken; } <> { addToken(start,zzStartRead-1, Token.COMMENT_EOL); addNullToken(); return firstToken; } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/CTokenMaker.java0000644000175000001440000024154112202002502026665 0ustar benusers/* The following code was generated by JFlex 1.4.1 on 1/25/09 9:54 PM */ /* * 11/13/2004 * * CTokenMaker.java - An object that can take a chunk of text and * return a linked list of tokens representing it in the C programming * language. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.*; /** * Scanner for the C programming language. * * 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * 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.
  • *
  • You should NOT call yylex() on the generated scanner * directly; rather, you should use getTokenList as you would * with any other TokenMaker instance.
  • *
* * @author Robert Futrell * @version 0.5 * */ public class CTokenMaker extends AbstractJFlexCTokenMaker { /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ public static final int EOL_COMMENT = 2; public static final int YYINITIAL = 0; public static final int MLC = 1; /** * Translates characters to character classes */ 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\114\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\113\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\115\1\112"+ "\1\64\uff81\0"; /** * Translates characters to character classes */ private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED); /** * Translates DFA states to action switch labels. */ private static final int [] ZZ_ACTION = zzUnpackAction(); private static final String ZZ_ACTION_PACKED_0 = "\3\0\1\1\2\2\1\3\1\4\16\2\2\4\1\5"+ "\1\4\1\6\4\4\1\2\1\7\1\10\2\2\1\3"+ "\1\11\1\4\2\1\4\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"+ "\36\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\47\2\1\32\1\33\3\1\7\0\7\2"+ "\4\0\12\2\2\1\1\33\3\0\4\2\2\0\1\33"; private static int [] zzUnpackAction() { int [] result = new int[500]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } private static int zzUnpackAction(String packed, int offset, int [] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } 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\116\0\234\0\352\0\u0138\0\u0186\0\u01d4\0\u0222"+ "\0\u0270\0\u02be\0\u030c\0\u035a\0\u03a8\0\u03f6\0\u0444\0\u0492"+ "\0\u04e0\0\u052e\0\u057c\0\u05ca\0\u0618\0\u0666\0\u06b4\0\u0702"+ "\0\u0750\0\u079e\0\u07ec\0\u083a\0\u0888\0\u0750\0\u08d6\0\352"+ "\0\u0750\0\u0924\0\u0972\0\u09c0\0\u0a0e\0\u0a5c\0\u0aaa\0\u0750"+ "\0\u0af8\0\u0750\0\u0b46\0\u0b94\0\u0be2\0\u0c30\0\u0c7e\0\u0ccc"+ "\0\u0d1a\0\u0750\0\u0d68\0\u0db6\0\u0e04\0\u0e52\0\u0ea0\0\u0750"+ "\0\u0eee\0\u0f3c\0\u0f8a\0\u0fd8\0\u1026\0\u1074\0\u10c2\0\u1110"+ "\0\u115e\0\u11ac\0\u11fa\0\u1248\0\u1296\0\u12e4\0\u1332\0\u1380"+ "\0\u13ce\0\u141c\0\u146a\0\u14b8\0\u1506\0\u1554\0\u15a2\0\u15f0"+ "\0\u163e\0\u168c\0\u16da\0\u1728\0\u0138\0\u1776\0\u17c4\0\u1812"+ "\0\u1860\0\u18ae\0\u18fc\0\u194a\0\u1998\0\u19e6\0\u1a34\0\u1a82"+ "\0\u1ad0\0\u1b1e\0\u1b6c\0\u1bba\0\u1c08\0\u1c56\0\u1ca4\0\u1cf2"+ "\0\u1d40\0\u1d8e\0\u1ddc\0\u1e2a\0\u1e78\0\u1ec6\0\u1f14\0\u1f62"+ "\0\u1fb0\0\u1ffe\0\u204c\0\u209a\0\u20e8\0\u2136\0\u2184\0\u21d2"+ "\0\u2220\0\u226e\0\u22bc\0\u230a\0\u2358\0\u23a6\0\u0750\0\u0750"+ "\0\u23f4\0\u2442\0\u0750\0\u2490\0\u24de\0\u252c\0\u0750\0\u257a"+ "\0\u25c8\0\u2616\0\u2664\0\u26b2\0\u2700\0\u274e\0\u279c\0\u27ea"+ "\0\u2838\0\u2886\0\u28d4\0\u2922\0\u2970\0\u29be\0\u2a0c\0\u2a5a"+ "\0\u2aa8\0\u2af6\0\u2b44\0\u2b92\0\u2be0\0\u2c2e\0\u2c7c\0\u2cca"+ "\0\u2d18\0\u0750\0\u2d66\0\u2db4\0\u2e02\0\u2e50\0\u2e9e\0\u2eec"+ "\0\u2f3a\0\u2f88\0\u2fd6\0\u3024\0\u3072\0\u30c0\0\u310e\0\u0fd8"+ "\0\u315c\0\u0fd8\0\u31aa\0\u31f8\0\u3246\0\u3294\0\u32e2\0\u3330"+ "\0\u337e\0\u33cc\0\u0138\0\u341a\0\u3468\0\u34b6\0\u3504\0\u3552"+ "\0\u35a0\0\u35ee\0\u363c\0\u368a\0\u36d8\0\u3726\0\u3774\0\u37c2"+ "\0\u3810\0\u385e\0\u0138\0\u38ac\0\u38fa\0\u3948\0\u3996\0\u39e4"+ "\0\u3a32\0\u3a80\0\u3ace\0\u3b1c\0\u3b6a\0\u3bb8\0\u3c06\0\u3c54"+ "\0\u3ca2\0\u3cf0\0\u3d3e\0\u3d8c\0\u3dda\0\u3e28\0\u3e76\0\u3ec4"+ "\0\u3f12\0\u3f60\0\u3fae\0\u3ffc\0\u404a\0\u4098\0\u40e6\0\u4134"+ "\0\u4182\0\u41d0\0\u421e\0\u426c\0\u42ba\0\u4308\0\u4356\0\u43a4"+ "\0\u43f2\0\u4440\0\u448e\0\u44dc\0\u452a\0\u4578\0\u45c6\0\u4614"+ "\0\u4662\0\u46b0\0\u46fe\0\u474c\0\u479a\0\u47e8\0\u4836\0\u4884"+ "\0\u48d2\0\u0750\0\u4920\0\u496e\0\u49bc\0\u4a0a\0\u4a58\0\u4aa6"+ "\0\u4af4\0\u0750\0\u4b42\0\u4b90\0\u4bde\0\u4c2c\0\u4c7a\0\u4cc8"+ "\0\u4d16\0\u4d64\0\u4db2\0\u4e00\0\u4e4e\0\u4e9c\0\u4eea\0\u4f38"+ "\0\u4f86\0\u4fd4\0\u5022\0\u5070\0\u50be\0\u510c\0\u515a\0\u51a8"+ "\0\u51f6\0\u5244\0\u5292\0\u52e0\0\u532e\0\u537c\0\u53ca\0\u5418"+ "\0\u5466\0\u54b4\0\u5502\0\u5550\0\u559e\0\u55ec\0\u563a\0\u5688"+ "\0\u56d6\0\u5724\0\u5772\0\u57c0\0\u580e\0\u585c\0\u58aa\0\u58f8"+ "\0\u5946\0\u5994\0\u59e2\0\u5a30\0\u5a7e\0\u5acc\0\u5b1a\0\u5b68"+ "\0\u5bb6\0\u5c04\0\u5c52\0\u5ca0\0\u5cee\0\u5d3c\0\u5d8a\0\u5dd8"+ "\0\u5e26\0\u5e74\0\u5ec2\0\u5f10\0\u5f5e\0\u5fac\0\u5ffa\0\u6048"+ "\0\u6096\0\u60e4\0\u6132\0\u6180\0\u61ce\0\u621c\0\u626a\0\u62b8"+ "\0\u6306\0\u6354\0\u63a2\0\u63f0\0\u643e\0\u648c\0\u64da\0\u6528"+ "\0\u6576\0\u65c4\0\u6612\0\u6660\0\u66ae\0\u66fc\0\u674a\0\u6798"+ "\0\u67e6\0\u6834\0\u6882\0\u68d0\0\u691e\0\u696c\0\u69ba\0\u6a08"+ "\0\u6a56\0\u6aa4\0\u6af2\0\u6b40\0\u6b8e\0\u6bdc\0\u6c2a\0\u6c78"+ "\0\u6cc6\0\u6d14\0\u6d62\0\u6db0\0\u6dfe\0\u6e4c\0\u6e9a\0\u6ee8"+ "\0\u6f36\0\u6f84\0\u6fd2\0\u7020\0\u706e\0\u70bc\0\u710a\0\u7158"+ "\0\u71a6\0\u71f4\0\u7242\0\u7290\0\u72de\0\u732c\0\u737a\0\u73c8"+ "\0\u7416\0\u7464\0\u74b2\0\u7500\0\u754e\0\u759c\0\u75ea\0\u7638"+ "\0\u7686\0\u76d4\0\u7722\0\u7770\0\u77be\0\u780c\0\u785a\0\u78a8"+ "\0\u78f6\0\u7944\0\u7992\0\u3d3e\0\u79e0\0\u7a2e\0\u7a7c\0\u7aca"+ "\0\u7b18\0\u7b66\0\u7bb4\0\u7c02\0\u7c50\0\u7c9e\0\u7cec\0\u7d3a"+ "\0\u7d88\0\u7dd6\0\u7e24\0\u7e72\0\u7ec0\0\u7f0e\0\u7f5c\0\u7faa"+ "\0\u7ff8\0\u8046\0\u8094\0\u80e2\0\u8130\0\u817e\0\u81cc\0\u821a"+ "\0\u8268\0\u82b6\0\u8304\0\u8352\0\u83a0\0\u83ee\0\u0fd8\0\352"+ "\0\u843c\0\u848a\0\u84d8\0\u8526\0\u8574\0\u85c2\0\u8610\0\u865e"+ "\0\u86ac\0\u86fa\0\u8748\0\u8796\0\u87e4\0\u8832\0\u8880\0\u3246"+ "\0\u88ce\0\u891c\0\u7770\0\u896a\0\u785a\0\u89b8\0\u8a06\0\u8a54"+ "\0\u8aa2\0\u8af0\0\u8b3e\0\u8b8c\0\u8bda\0\u8c28\0\u8c76\0\u8cc4"+ "\0\u8d12\0\u0750\0\u8d60\0\u8dae\0\u8dfc\0\u8e4a\0\u8e98\0\u8ee6"+ "\0\u8f34\0\u8f82\0\u8fd0\0\u0138"; private static int [] zzUnpackRowMap() { int [] result = new int[500]; int offset = 0; offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result); return result; } private static int zzUnpackRowMap(String packed, int offset, int [] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ int l = packed.length(); while (i < l) { int high = packed.charAt(i++) << 16; result[j++] = high | packed.charAt(i++); } 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\36\1\37"+ "\1\40\1\7\1\5\1\41\1\42\1\43\1\44\1\45"+ "\1\46\1\30\2\5\1\47\1\5\1\50\1\51\2\4"+ "\1\31\1\52\1\36\1\30\1\5\1\53\1\36\1\54"+ "\4\5\2\7\1\5\1\55\10\5\1\31\1\36\1\56"+ "\1\57\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\36"+ "\20\0\1\36\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\36\233\0\1\36\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\34\0\1\30\116\0\1\30\110\0\1\36\6\0"+ "\1\36\56\0\40\42\1\205\2\42\1\206\1\207\51\42"+ "\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\46\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\120\0\1\36\116\0\1\36\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\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\36"+ "\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\4\u0101\1\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\42\4\206\1\42\1\206\1\42\2\206\1\42\4\206"+ "\1\42\2\206\1\42\3\206\1\42\4\206\2\42\1\u0108"+ "\1\0\4\42\17\206\1\42\3\206\1\u0108\2\206\2\42"+ "\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\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\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\u013b"+ "\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\u0165"+ "\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\u0166"+ "\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\u0167"+ "\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\u0168\1\0\21\5\4\0\1\4\6\5\1\0\5\5"+ "\1\u0169\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\u016a\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\1\5"+ "\1\u016c\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\u016d\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\u016e\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\u016f\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\u0170\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\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\1\5\1\u0172\4\5\1\273"+ "\2\5\1\u016e\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\u016f\20\5\4\0\1\4\6\5"+ "\1\0\6\5\1\u0173\2\5\1\u0174\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\u0175\3\5\1\u0176"+ "\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\u0177\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\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\u0178\1\u0101\3\u0178\6\u0101"+ "\1\u0178\2\u0101\1\u0178\6\u0101\1\203\5\u0101\1\u0178\1\u0101"+ "\1\0\2\u0101\2\u0178\5\u0101\1\u0178\20\u0101\2\u0178\2\u0101"+ "\2\u0178\5\u0101\1\u0178\4\u0101\3\206\4\u0179\1\206\3\u0179"+ "\6\206\1\u0179\2\206\1\u0179\13\206\1\u0109\1\u0179\2\206"+ "\1\u010a\1\206\2\u0179\5\206\1\u0179\20\206\2\u0179\2\206"+ "\2\u0179\5\206\1\u0179\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\u017a\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\u017b\5\5\1\u017c\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\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\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\u017f\20\5\4\0"+ "\3\74\4\u0111\1\0\3\u0111\2\74\1\u0180\3\74\1\u0111"+ "\1\u0181\1\74\1\u0111\2\74\11\0\1\74\1\u0111\1\74"+ "\2\0\1\74\2\u0111\2\0\1\u0181\1\u0180\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\u0182\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\u0183\2\4"+ "\1\u0184\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\u0185\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\u0186"+ "\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\u0187\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\u0184\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\u0186\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\u0188\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\u0189\120\0\1\u018a\1\u018b\1\0\1\u018c\110\0"+ "\1\u018d\1\0\1\u018e\114\0\1\u018f\116\0\1\u0190\120\0"+ "\1\u0191\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\u0192\1\5"+ "\1\u0193\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\u0194\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\u0195\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\u0196\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\u0197\1\0\21\5\4\0\1\4"+ "\6\5\1\0\14\5\1\u0198\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\u0199\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\u019a\50\0\1\u019b\146\0\1\u019c\52\0\1\u012e"+ "\174\0\1\u019d\50\0\1\u019e\146\0\1\u019f\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\u01a0\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\u01a0\1\0\1\5\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\u01a0\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\u01a0\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\u01a1\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\u01a2\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\u01a3\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\u016a\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\u01a4\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\u01a5\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\u01a5\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\u0170\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\u01a6\20\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\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\u01a8\1\0\21\5\4\0\1\4\6\5\1\0"+ "\13\5\1\u01a6\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\u01a9\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\u01aa\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\u01ab\6\5\1\u01ac\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\u01ad\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\u01ae\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\u01af\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\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\11\5\1\u01b1\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\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\6\5\1\u01b3\1\5"+ "\1\311\2\5\1\u01b4\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\u0167\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\u01b5\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\u01b6\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\u01b7\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\u01b8\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\u01b9\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\u01ba\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\u01bb\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\1\5\1\u01bc\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\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\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\u01be\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\u017f\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\u01bf\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\u01c0\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\u01c1"+ "\1\5\1\0\21\5\4\0\1\4\6\5\1\0\11\5"+ "\1\u016e\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\u01c2\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\u01b4\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\u0170\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\u0177\1\0\21\5\4\0\1\4\6\5\1\0"+ "\10\5\1\u01c3\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\42"+ "\1\206\3\42\6\206\1\42\2\206\1\42\13\206\1\u0109"+ "\1\42\2\206\1\u010a\1\206\2\42\5\206\1\42\20\206"+ "\2\42\2\206\2\42\5\206\1\42\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\u01c4\1\0\21\5\4\0\1\4\6\5\1\0\7\5"+ "\1\u01c5\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\u01c6\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\u01c7"+ "\4\74\11\0\3\74\2\0\3\74\2\0\1\u01c7\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\u01c7\11\74\11\0\3\74"+ "\2\0\3\74\2\0\1\74\1\u01c7\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\u0183\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\u01c8\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\u01c8\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\u01c9\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\u0183\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\u01ca\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\u01cb\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\u01cc\120\0\1\u01cd\2\0"+ "\1\u01ce\116\0\1\u01cf\106\0\1\u01d0\3\0\1\u0190\122\0"+ "\1\u01d1\110\0\1\u01ce\111\0\1\u01d0\131\0\1\u01d2\71\0"+ "\1\4\6\5\1\0\3\5\1\u01d3\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\u01ba\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\u01d4\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\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\1\5\1\u01d5\1\0\21\5\4\0"+ "\1\4\6\5\1\0\10\5\1\u01d6\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\u01d7\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\u01d8\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\u01d9\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\u01da\101\0\1\u012a\51\0\1\u019a\26\0\1\u019c"+ "\1\u01db\4\u019c\1\u01db\17\u019c\3\u01db\1\u019c\1\u01db\2\0"+ "\2\u01db\1\0\2\u019c\2\0\3\u019c\1\0\1\u01db\2\u019c"+ "\1\u01db\1\u019c\1\0\1\u01db\1\u019c\5\u01db\2\u019c\1\u01db"+ "\21\u019c\2\0\1\u01db\33\0\1\u01dc\101\0\1\u012e\51\0"+ "\1\u019d\26\0\1\u019f\1\u01dd\4\u019f\1\u01dd\17\u019f\3\u01dd"+ "\1\u019f\1\u01dd\2\0\2\u01dd\1\0\2\u019f\2\0\3\u019f"+ "\1\0\1\u01dd\2\u019f\1\u01dd\1\u019f\1\0\1\u01dd\1\u019f"+ "\5\u01dd\2\u019f\1\u01dd\21\u019f\2\0\1\u01dd\1\0\1\4"+ "\5\5\1\u01de\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\u01de\4\0\1\4\6\5\1\0"+ "\5\5\1\u0167\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\u01ba\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\u01df\1\5\1\0\21\5\4\0\1\4\6\5"+ "\1\0\13\5\1\u01a4\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\u01e0\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\u01e1\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\u01b4\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\u01ba\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\u01e2\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\u01e3\1\0\21\5"+ "\4\0\1\4\6\5\1\0\1\5\1\u01e4\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\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\4\5\1\u01e6\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\u017f"+ "\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\u01e7\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\u01a4\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\u01c8\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\u01e8"+ "\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\u01e9\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\u01cd\114\0\1\u01ea\114\0\1\u01ea"+ "\124\0\1\u01eb\106\0\1\u01cd\121\0\1\u01ec\125\0\1\u01ed"+ "\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\u01b0\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\u01ee\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\u01d9\11\0\1\4\2\5\2\0"+ "\3\5\2\0\2\5\1\0\1\5\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\u019c\115\0"+ "\1\u019f\63\0\1\4\1\5\1\u01ef\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\u01f0\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\u01d3\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\u01f1\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\u0184\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\u01c8\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\u01ea\120\0\1\u01f2\121\0\1\u01f3\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\u01f4\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\u0172\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\u01ce\131\0"+ "\1\u01ea\71\0"; private static int [] zzUnpackTrans() { int [] result = new int[36894]; int offset = 0; offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result); return result; } private static int zzUnpackTrans(String packed, int offset, int [] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); value--; do result[j++] = value; while (--count > 0); } return j; } /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; private static final int ZZ_PUSHBACK_2BIG = 2; /* error messages for the codes above */ private static final String ZZ_ERROR_MSG[] = { "Unkown internal scanner error", "Error: could not match input", "Error: pushback value was too large" }; /** * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute(); private static final String ZZ_ATTRIBUTE_PACKED_0 = "\3\0\25\1\1\11\4\1\1\11\2\1\1\11\6\1"+ "\1\11\1\1\1\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"+ "\121\1\4\0\1\1\4\0\10\1\2\0\1\1\2\0"+ "\55\1\7\0\7\1\4\0\14\1\1\11\3\0\4\1"+ "\2\0\1\1"; private static int [] zzUnpackAttribute() { int [] result = new int[500]; int offset = 0; offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result); return result; } private static int zzUnpackAttribute(String packed, int offset, int [] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } return j; } /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ private int zzState; /** the current lexical state */ private int zzLexicalState = YYINITIAL; /** this buffer contains the current text to be matched and is the source of the yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ private int zzMarkedPos; /** the current text position in the buffer */ private int zzCurrentPos; /** startRead marks the beginning of the yytext() string in the buffer */ private int zzStartRead; /** endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** 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. */ public CTokenMaker() { super(); } /** * Adds the token specified to the current linked list of tokens. * * @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. */ 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. */ 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. */ @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 text to place at the beginning and end of a * line to "comment" it in a this programming language. * * @return The start and end strings to add to a line to "comment" * it out. */ @Override public String[] getLineCommentStartAndEnd() { 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. * * @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) { resetTokenList(); this.offsetShift = -text.offset + startOffset; // 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; } s = text; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); return new TokenImpl(); } } /** * Refills the input buffer. * * @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. * * 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 */ 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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = s.offset; zzLexicalState = YYINITIAL; 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. */ public CTokenMaker(java.io.Reader in) { this.zzReader = in; } /** * Creates a new scanner. * There is also java.io.Reader version of this constructor. * * @param in the java.io.Inputstream to read input from. */ public CTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } /** * Unpacks the compressed character translation table. * * @param packed the packed character translation table * @return the unpacked character translation table */ private static char [] zzUnpackCMap(String packed) { char [] map = new char[0x10000]; int i = 0; /* index in packed string */ int j = 0; /* index in unpacked array */ while (i < 184) { int count = packed.charAt(i++); char value = packed.charAt(i++); do map[j++] = value; while (--count > 0); } return map; } /** * Closes the input stream. */ public final void yyclose() throws java.io.IOException { zzAtEOF = true; /* indicate end of file */ zzEndRead = zzStartRead; /* invalidate buffer */ if (zzReader != null) zzReader.close(); } /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } /** * Enters a 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 yylength()-1. * * @return the character at position pos */ public final char yycharat(int pos) { return zzBuffer[zzStartRead+pos]; } /** * Returns the length of the matched text region. */ public final int yylength() { return zzMarkedPos-zzStartRead; } /** * Reports an error that occured while scanning. * * In a wellformed scanner (no or only correct usage of * yypushback(int) and a match-all fallback rule) this method * will only be called with things that "Can't Possibly Happen". * If this method is called, something is seriously wrong * (e.g. a JFlex bug producing a faulty scanner etc.). * * Usual syntax/scanner level error handling should be done * in error fallback rules. * * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; try { message = ZZ_ERROR_MSG[errorCode]; } catch (ArrayIndexOutOfBoundsException e) { message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR]; } throw new Error(message); } /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * * @param number the number of characters to be read again. * This number must not be greater than yylength()! */ public void yypushback(int number) { if ( number > yylength() ) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } /** * Resumes scanning until the next regular expression is matched, * the end of input is encountered or an I/O-Error occurs. * * @return the next token * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; int zzAction; // cached fields: int zzCurrentPosL; int zzMarkedPosL; int zzEndReadL = zzEndRead; char [] zzBufferL = zzBuffer; char [] zzCMapL = ZZ_CMAP; int [] zzTransL = ZZ_TRANS; int [] zzRowMapL = ZZ_ROWMAP; int [] zzAttrL = ZZ_ATTRIBUTE; while (true) { zzMarkedPosL = zzMarkedPos; zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; else if (zzAtEOF) { zzInput = YYEOF; break zzForAction; } else { // store back cached positions zzCurrentPos = zzCurrentPosL; zzMarkedPos = zzMarkedPosL; boolean eof = zzRefill(); // get translated positions and possibly new buffer zzCurrentPosL = zzCurrentPos; zzMarkedPosL = zzMarkedPos; zzBufferL = zzBuffer; zzEndReadL = zzEndRead; if (eof) { zzInput = YYEOF; break zzForAction; } else { zzInput = zzBufferL[zzCurrentPosL++]; } } int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ]; if (zzNext == -1) break zzForAction; zzState = zzNext; int zzAttributes = zzAttrL[zzState]; if ( (zzAttributes & 1) == 1 ) { zzAction = zzState; zzMarkedPosL = zzCurrentPosL; if ( (zzAttributes & 8) == 8 ) break zzForAction; } } } // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { case 27: { addToken(Token.PREPROCESSOR); } case 30: break; case 7: { addNullToken(); return firstToken; } case 31: break; case 24: { addToken(Token.LITERAL_CHAR); } case 32: break; case 21: { yybegin(YYINITIAL); addToken(start,zzStartRead+1, Token.COMMENT_MULTILINE); } case 33: break; case 17: { start = zzMarkedPos-2; yybegin(MLC); } case 34: break; case 9: { addToken(Token.WHITESPACE); } case 35: break; case 26: { addToken(Token.LITERAL_NUMBER_HEXADECIMAL); } case 36: break; case 18: { addToken(Token.ERROR_CHAR); /*addNullToken(); return firstToken;*/ } case 37: break; case 25: { addToken(Token.ERROR_STRING_DOUBLE); } case 38: break; case 14: { addToken(Token.LITERAL_NUMBER_FLOAT); } case 39: break; case 15: { addToken(Token.RESERVED_WORD); } case 40: break; case 5: { addToken(Token.SEPARATOR); } case 41: break; case 2: { addToken(Token.IDENTIFIER); } case 42: break; case 12: { addToken(start,zzStartRead-1, Token.COMMENT_EOL); addNullToken(); return firstToken; } case 43: break; case 16: { start = zzMarkedPos-2; yybegin(EOL_COMMENT); } case 44: break; case 22: { addToken(Token.FUNCTION); } case 45: break; case 6: { addToken(Token.ERROR_CHAR); addNullToken(); return firstToken; } case 46: break; case 8: { addToken(Token.ERROR_STRING_DOUBLE); addNullToken(); return firstToken; } case 47: break; case 23: { addToken(Token.DATA_TYPE); } case 48: break; case 1: { addToken(Token.ERROR_IDENTIFIER); } case 49: break; case 19: { addToken(Token.ERROR_CHAR); } case 50: break; case 20: { 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 4: { 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 501: break; case YYINITIAL: { addNullToken(); return firstToken; } case 502: break; case MLC: { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); return firstToken; } case 503: break; default: return null; } } else { zzScanError(ZZ_NO_MATCH); } } } } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/WindowsBatchTokenMaker.java0000644000175000001440000004626612202002502031106 0ustar benusers/* * 03/07/2004 * * WindowsBatchTokenMaker.java - Scanner for Windows batch files. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.*; /** * 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 boolean bracketVariable; // Whether a variable is of the format %{...} /** * 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. * * @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; } super.addToken(segment, start, end, tokenType, startOffset); } /** * Returns the text to place at the beginning and end of a * line to "comment" it in a this programming language. * * @return The start and end strings to add to a line to "comment" * it out. */ @Override public String[] getLineCommentStartAndEnd() { return new String[] { "rem ", null }; } /** * 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. */ @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. * @see org.fife.ui.rsyntaxtextarea.AbstractTokenMaker#getWordsToHighlight */ @Override public TokenMap getWordsToHighlight() { TokenMap tokenMap = new TokenMap(true); // Ignore case. int reservedWord = Token.RESERVED_WORD; tokenMap.put("call", reservedWord); tokenMap.put("choice", reservedWord); tokenMap.put("cls", reservedWord); tokenMap.put("echo", reservedWord); tokenMap.put("exit", reservedWord); tokenMap.put("goto", reservedWord); tokenMap.put("if", reservedWord); tokenMap.put("pause", reservedWord); tokenMap.put("shift", reservedWord); tokenMap.put("start", reservedWord); tokenMap.put("ansi.sys", reservedWord); tokenMap.put("append", reservedWord); tokenMap.put("arp", reservedWord); tokenMap.put("assign", reservedWord); tokenMap.put("assoc", reservedWord); tokenMap.put("at", reservedWord); tokenMap.put("attrib", reservedWord); tokenMap.put("break", reservedWord); tokenMap.put("cacls", reservedWord); tokenMap.put("call", reservedWord); tokenMap.put("cd", reservedWord); tokenMap.put("chcp", reservedWord); tokenMap.put("chdir", reservedWord); tokenMap.put("chkdsk", reservedWord); tokenMap.put("chknfts", reservedWord); tokenMap.put("choice", reservedWord); tokenMap.put("cls", reservedWord); tokenMap.put("cmd", reservedWord); tokenMap.put("color", reservedWord); tokenMap.put("comp", reservedWord); tokenMap.put("compact", reservedWord); tokenMap.put("control", reservedWord); tokenMap.put("convert", reservedWord); tokenMap.put("copy", reservedWord); tokenMap.put("ctty", reservedWord); tokenMap.put("date", reservedWord); tokenMap.put("debug", reservedWord); tokenMap.put("defrag", reservedWord); tokenMap.put("del", reservedWord); tokenMap.put("deltree", reservedWord); tokenMap.put("dir", reservedWord); tokenMap.put("diskcomp", reservedWord); tokenMap.put("diskcopy", reservedWord); tokenMap.put("do", reservedWord); tokenMap.put("doskey", reservedWord); tokenMap.put("dosshell", reservedWord); tokenMap.put("drivparm", reservedWord); tokenMap.put("echo", reservedWord); tokenMap.put("edit", reservedWord); tokenMap.put("edlin", reservedWord); tokenMap.put("emm386", reservedWord); tokenMap.put("erase", reservedWord); tokenMap.put("exist", reservedWord); tokenMap.put("exit", reservedWord); tokenMap.put("expand", reservedWord); tokenMap.put("extract", reservedWord); tokenMap.put("fasthelp", reservedWord); tokenMap.put("fc", reservedWord); tokenMap.put("fdisk", reservedWord); tokenMap.put("find", reservedWord); tokenMap.put("for", reservedWord); tokenMap.put("format", reservedWord); tokenMap.put("ftp", reservedWord); tokenMap.put("graftabl", reservedWord); tokenMap.put("help", reservedWord); tokenMap.put("ifshlp.sys", reservedWord); tokenMap.put("in", reservedWord); tokenMap.put("ipconfig", reservedWord); tokenMap.put("keyb", reservedWord); tokenMap.put("label", reservedWord); tokenMap.put("lh", reservedWord); tokenMap.put("loadfix", reservedWord); tokenMap.put("loadhigh", reservedWord); tokenMap.put("lock", reservedWord); tokenMap.put("md", reservedWord); tokenMap.put("mem", reservedWord); tokenMap.put("mkdir", reservedWord); tokenMap.put("mode", reservedWord); tokenMap.put("more", reservedWord); tokenMap.put("move", reservedWord); tokenMap.put("msav", reservedWord); tokenMap.put("msd", reservedWord); tokenMap.put("mscdex", reservedWord); tokenMap.put("nbtstat", reservedWord); tokenMap.put("net", reservedWord); tokenMap.put("netstat", reservedWord); tokenMap.put("nlsfunc", reservedWord); tokenMap.put("not", reservedWord); tokenMap.put("nslookup", reservedWord); tokenMap.put("path", reservedWord); tokenMap.put("pathping", reservedWord); tokenMap.put("pause", reservedWord); tokenMap.put("ping", reservedWord); tokenMap.put("power", reservedWord); tokenMap.put("print", reservedWord); tokenMap.put("prompt", reservedWord); tokenMap.put("qbasic", reservedWord); tokenMap.put("rd", reservedWord); tokenMap.put("ren", reservedWord); tokenMap.put("rename", reservedWord); tokenMap.put("rmdir", reservedWord); tokenMap.put("route", reservedWord); tokenMap.put("sc", reservedWord); tokenMap.put("scandisk", reservedWord); tokenMap.put("scandreg", reservedWord); tokenMap.put("set", reservedWord); tokenMap.put("setx", reservedWord); tokenMap.put("setver", reservedWord); tokenMap.put("share", reservedWord); tokenMap.put("shutdown", reservedWord); tokenMap.put("smartdrv", reservedWord); tokenMap.put("sort", reservedWord); tokenMap.put("subset", reservedWord); tokenMap.put("switches", reservedWord); tokenMap.put("sys", reservedWord); tokenMap.put("time", reservedWord); tokenMap.put("tracert", reservedWord); tokenMap.put("tree", reservedWord); tokenMap.put("type", reservedWord); tokenMap.put("undelete", reservedWord); tokenMap.put("unformat", reservedWord); tokenMap.put("unlock", reservedWord); tokenMap.put("ver", reservedWord); tokenMap.put("verify", reservedWord); tokenMap.put("vol", reservedWord); 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. * @return A linked list of tokens representing text. */ public Token getTokenList(Segment text, int startTokenType, final int startOffset) { resetTokenList(); char[] array = text.array; int offset = text.offset; int count = text.count; int end = offset + count; // See, when we find a token, its starting position is always of the form: // 'startOffset + (currentTokenStart-offset)'; but since startOffset and // offset are constant, tokens' starting positions become: // 'newStartOffset+currentTokenStart' for one less subtraction operation. int newStartOffset = startOffset - offset; currentTokenStart = offset; currentTokenType = startTokenType; //beginning: for (int i=offset; i-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-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 '%'. bracketVariable = false; switch (c) { case '{': bracketVariable = true; break; default: if (RSyntaxUtilities.isLetter(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 '%'. if (bracketVariable==true) { if (c=='}') { addToken(text, currentTokenStart,i, Token.VARIABLE, newStartOffset+currentTokenStart); currentTokenType = Token.NULL; } } else { 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * 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.
  • *
  • You should NOT call yylex() on the generated scanner * directly; rather, you should use getTokenList as you would * with any other TokenMaker instance.
  • *
* * @author Robert Futrell * @version 0.7 * */ %% %public %class HtaccessTokenMaker %extends AbstractJFlexTokenMaker %unicode %ignorecase %type org.fife.ui.rsyntaxtextarea.Token %{ /** * 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. */ public static final int INTERNAL_ATTR_SINGLE = -2; /** * Token type specific to HtaccessTokenMaker 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; /** * Constructor. This must be here because JFlex does not generate a * no-parameter constructor. */ public HtaccessTokenMaker() { } /** * 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. */ 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. * @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. */ 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. */ 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. */ @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. * * @return The line comment start and end text for .htaccess files. */ @Override public String[] getLineCommentStartAndEnd() { 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. * * @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) { resetTokenList(); this.offsetShift = -text.offset + startOffset; // 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; } start = text.offset; s = text; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); return new TokenImpl(); } } /** * Refills the input buffer. * * @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. * * 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 */ 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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = zzPushbackPos = s.offset; zzLexicalState = YYINITIAL; zzReader = reader; zzAtBOL = true; zzAtEOF = false; } %} NameStartChar = ([\:A-Z_a-z]) NameChar = ({NameStartChar}|[\-\.0-9]) TagName = ({NameStartChar}{NameChar}*) Whitespace = ([ \t\f]+) Identifier = ([^ \t\n<#]+) InTagIdentifier = ([^ \t\n\"\'=>]+) LineCommentBegin = ("#") AnyCharacterButDoubleQuoteOrBackSlash = ([^\\\"\n]) Escape = ("\\".) StringLiteral = ([\"]({AnyCharacterButDoubleQuoteOrBackSlash}|{Escape})*[\"]) UnclosedStringLiteral = ([\"]([\\].|[^\\\"])*[^\"]?) ErrorStringLiteral = ({UnclosedStringLiteral}[\"]) NameStartChar = ([\:A-Z_a-z]) NameChar = ({NameStartChar}|[\-\.0-9]) TagName = ({NameStartChar}{NameChar}*) DirectiveStart = (("<"[/]?){TagName}) URLGenDelim = ([:\/\?#\[\]@]) URLSubDelim = ([\!\$&'\(\)\*\+,;=]) URLUnreserved = ([A-Za-z_0-9\-\.\~]) URLCharacter = ({URLGenDelim}|{URLSubDelim}|{URLUnreserved}|[%]) URLCharacters = ({URLCharacter}*) URLEndCharacter = ([\/\$A-Za-z0-9]) URL = (((https?|f(tp|ile))"://"|"www.")({URLCharacters}{URLEndCharacter})?) %state EOL_COMMENT %state INTAG %state INATTR_DOUBLE %state INATTR_SINGLE %% { {Whitespace} { addToken(Token.WHITESPACE); } {LineCommentBegin} { start = zzMarkedPos-1; yybegin(EOL_COMMENT); } "<"{TagName} { int count = yylength(); addToken(zzStartRead,zzStartRead, Token.MARKUP_TAG_DELIMITER); addToken(zzMarkedPos-(count-1), zzMarkedPos-1, Token.MARKUP_TAG_NAME); yybegin(INTAG); } "> { addNullToken(); return firstToken; } } { {InTagIdentifier} { addToken(Token.MARKUP_TAG_ATTRIBUTE); } {Whitespace}+ { addToken(Token.WHITESPACE); } "=" { addToken(Token.OPERATOR); } ">" { yybegin(YYINITIAL); addToken(Token.MARKUP_TAG_DELIMITER); } [\"] { start = zzMarkedPos-1; yybegin(INATTR_DOUBLE); } [\'] { start = zzMarkedPos-1; yybegin(INATTR_SINGLE); } <> { addToken(start,zzStartRead-1, INTERNAL_INTAG); return firstToken; } } { [^\"]* {} [\"] { yybegin(INTAG); addToken(start,zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); } <> { addToken(start,zzStartRead-1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); addEndToken(INTERNAL_ATTR_DOUBLE); return firstToken; } } { [^\']* {} [\'] { yybegin(INTAG); addToken(start,zzStartRead, Token.MARKUP_TAG_ATTRIBUTE_VALUE); } <> { addToken(start,zzStartRead-1, Token.MARKUP_TAG_ATTRIBUTE_VALUE); addEndToken(INTERNAL_ATTR_SINGLE); return firstToken; } } { [^hwf\n]+ {} {URL} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_EOL); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_EOL); start = zzMarkedPos; } [hwf] {} \n | <> { addToken(start,zzStartRead-1, Token.COMMENT_EOL); addNullToken(); return firstToken; } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/HtaccessTokenMaker.java0000644000175000001440000016734312202002502030247 0ustar benusers/* The following code was generated by JFlex 1.4.1 on 7/14/13 10:47 PM */ /* * 06/30/2013 * * HtaccessTokenMaker.java - Token generator for .htaccess files. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.*; /** * Scanner for .htaccess files. * * 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * 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.
  • *
  • You should NOT call yylex() on the generated scanner * directly; rather, you should use getTokenList as you would * with any other TokenMaker instance.
  • *
* * @author Robert Futrell * @version 0.7 * */ public class HtaccessTokenMaker extends AbstractJFlexTokenMaker { /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ public static final int EOL_COMMENT = 1; public static final int INTAG = 2; public static final int INATTR_DOUBLE = 3; public static final int YYINITIAL = 0; public static final int INATTR_SINGLE = 4; /** * Translates characters to character classes */ 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\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 */ private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED); /** * Translates DFA states to action switch labels. */ private static final int [] ZZ_ACTION = zzUnpackAction(); private static final String ZZ_ACTION_PACKED_0 = "\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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } return j; } /** * 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\57\0\136\0\215\0\274\0\353\0\u011a\0\u0149"+ "\0\u0178\0\u01a7\0\u01a7\0\u01d6\0\u0205\0\u0234\0\u0263\0\u0292"+ "\0\u02c1\0\u02f0\0\u031f\0\u034e\0\u037d\0\u03ac\0\u03db\0\u040a"+ "\0\u0439\0\u0468\0\u0497\0\u04c6\0\u04f5\0\u01a7\0\u0524\0\u0553"+ "\0\u0582\0\u05b1\0\u05e0\0\u060f\0\u063e\0\u066d\0\u01a7\0\u01a7"+ "\0\u01a7\0\u01a7\0\u069c\0\u01a7\0\u06cb\0\u06fa\0\u0729\0\u0758"+ "\0\u0787\0\u07b6\0\u07e5\0\u0814\0\u0843\0\u0872\0\u08a1\0\u08d0"+ "\0\u08ff\0\u092e\0\u095d\0\u098c\0\u09bb\0\u09ea\0\u0a19\0\u0a48"+ "\0\u0a77\0\u0aa6\0\u0ad5\0\u0b04\0\u0b33\0\u0b62\0\u0b91\0\u0bc0"+ "\0\u0bef\0\u0c1e\0\u0c4d\0\u0c7c\0\u0cab\0\u0cda\0\u0d09\0\u0d38"+ "\0\u0d67\0\u0d96\0\u0dc5\0\u0df4\0\u0e23\0\u0e52\0\u0e81\0\u0eb0"+ "\0\u0edf\0\u0f0e\0\u0f3d\0\u0f6c\0\u0f9b\0\u0fca\0\u0ff9\0\u01a7"+ "\0\u1028\0\u01a7\0\u1057\0\u1086\0\u10b5\0\u10e4\0\u1113\0\u1142"+ "\0\u1171\0\u11a0\0\u11cf\0\u11fe\0\u122d\0\u125c\0\u128b\0\u12ba"+ "\0\u12e9\0\u1318\0\u1347\0\u1376\0\u13a5\0\u13d4\0\u1403\0\u1432"+ "\0\u1461\0\u1490\0\u14bf\0\u14ee\0\u151d\0\u154c\0\u157b\0\u15aa"+ "\0\u15d9\0\u1608\0\u1637\0\u1666\0\u1695\0\u16c4\0\u16f3\0\u1722"+ "\0\u1751\0\u1780\0\u17af\0\u17de\0\u180d\0\u183c\0\u186b\0\u189a"+ "\0\u18c9\0\u18f8\0\u1927\0\u1956\0\u1985\0\u19b4\0\u19e3\0\u1a12"+ "\0\u1a41\0\u1a70\0\u1a9f\0\u1ace\0\u1afd\0\u1b2c\0\u1b5b\0\u1b8a"+ "\0\u1bb9\0\u1be8\0\u1c17\0\u1c46\0\u1c75\0\u1ca4\0\u1cd3\0\u1d02"+ "\0\u1d31\0\u1d60\0\u1d8f\0\u1dbe\0\u1ded\0\u1e1c\0\u1e4b\0\u1e7a"+ "\0\u1ea9\0\u1ed8\0\u1f07\0\u1f36\0\u1f65\0\u1f94\0\u1fc3\0\u1ff2"+ "\0\u2021\0\u2050\0\u207f\0\u20ae\0\u20dd\0\u210c\0\u213b\0\u216a"+ "\0\u2199\0\u21c8\0\u21f7\0\u2226\0\u2255\0\u2284\0\u22b3\0\u22e2"+ "\0\u2311\0\u2340\0\353\0\u236f\0\u239e\0\u23cd\0\u23fc\0\u242b"+ "\0\u245a\0\u2489\0\u24b8\0\u24e7\0\u2516\0\u2545\0\u2574\0\u25a3"+ "\0\u25d2\0\u2601\0\u2630\0\u265f\0\u268e\0\u26bd\0\u26ec\0\u271b"+ "\0\u274a\0\u2779\0\u27a8\0\u27d7\0\u2806\0\u2835\0\u2864\0\u2893"+ "\0\u28c2\0\u28f1\0\u2920\0\u294f\0\u297e\0\u29ad\0\u29dc\0\u2a0b"+ "\0\u2a3a\0\u2a69\0\u2a98\0\u2ac7\0\u2af6\0\u2b25\0\u2b54\0\u2b83"+ "\0\u2bb2\0\u2be1\0\u2c10\0\u2c3f\0\u2c6e\0\u2c9d\0\u2ccc\0\u2cfb"+ "\0\u2d2a\0\u2d59\0\u2d88\0\u2db7\0\u2de6\0\u2e15\0\u2e44\0\u2e73"+ "\0\u2ea2\0\u2ed1\0\u2f00\0\u2f2f\0\u2f5e\0\u2f8d\0\u2fbc\0\u2feb"+ "\0\u301a\0\u3049\0\u3078\0\u30a7\0\u30d6\0\u3105\0\u3134\0\u3163"+ "\0\u3192\0\u31c1\0\u31f0\0\u321f\0\u324e\0\u327d\0\u32ac\0\u32db"+ "\0\u330a\0\u2601\0\u3339\0\u3368\0\u3397\0\u33c6\0\u33f5\0\u3424"+ "\0\u3453\0\u3482\0\u34b1\0\u34e0\0\u350f\0\u353e\0\u356d\0\u359c"+ "\0\u35cb\0\u35fa\0\u3629\0\u3658\0\u3687\0\u36b6\0\u36e5\0\u3714"+ "\0\u3743\0\u3772\0\u37a1\0\u37d0\0\u37ff\0\u382e\0\u385d\0\u388c"+ "\0\u38bb\0\u38ea\0\u3919\0\u3948\0\u3977\0\u39a6\0\u39d5\0\u3a04"+ "\0\u3a33\0\u3a62\0\u3a91\0\u3ac0\0\u3aef\0\u3b1e\0\u3b4d\0\u3b7c"+ "\0\u3bab\0\u3bda\0\u3c09\0\u3c38\0\u3c67\0\u3c96\0\u3cc5\0\u3cf4"+ "\0\u3d23\0\u3d52\0\u3d81\0\u3db0\0\u3ddf\0\u3e0e\0\u3e3d\0\u3e6c"+ "\0\u3368\0\u3e9b\0\u3eca\0\u3ef9\0\u3f28\0\u3f57\0\u3f86\0\u3fb5"+ "\0\u3fe4\0\u4013\0\u4042\0\u4071\0\u40a0\0\u40cf\0\u40fe\0\u412d"+ "\0\u415c\0\u418b\0\u41ba\0\u41e9\0\u4218\0\u4247\0\u4276\0\u42a5"+ "\0\u42d4\0\u4303\0\u4332\0\u4361\0\u4390\0\u43bf\0\u43ee\0\u441d"+ "\0\u444c\0\u447b\0\u44aa\0\u44d9\0\u4508\0\u4537\0\u4566\0\u4595"+ "\0\u45c4\0\u45f3\0\u4622\0\u4651\0\u4680\0\u46af\0\u46de\0\u470d"+ "\0\u473c\0\u476b\0\u479a\0\u47c9\0\u47f8\0\u4827\0\u4856\0\u4885"+ "\0\u48b4\0\u48e3\0\u4912\0\u4941\0\u4970\0\u499f\0\u49ce\0\u49fd"+ "\0\u4a2c\0\u4a5b\0\u4a8a\0\u4ab9\0\u4ae8\0\u4b17\0\u4b46\0\u4b75"+ "\0\u4ba4\0\u4bd3\0\u4c02\0\u4c31\0\u4c60\0\u4c8f\0\u4cbe\0\u4ced"+ "\0\u4d1c\0\u4d4b\0\u4d7a\0\u4da9\0\u4dd8\0\u4e07\0\u4e36\0\u4e65"+ "\0\u4e94\0\u4ec3\0\u4ef2\0\u4f21\0\u4f50\0\u4f7f\0\u4fae\0\u4fdd"+ "\0\u500c\0\u503b\0\u506a\0\u5099\0\u50c8\0\u50f7\0\u5126\0\u5155"+ "\0\u5184\0\u51b3\0\u51e2\0\u5211\0\u5240\0\u526f\0\u529e\0\u52cd"+ "\0\u52fc\0\u532b\0\u535a\0\u5389\0\u53b8\0\u53e7\0\u5416\0\u5445"+ "\0\u5474\0\u54a3\0\u54d2\0\u5501\0\u5530\0\u555f\0\u558e\0\u55bd"+ "\0\u55ec\0\u561b\0\u564a\0\u5679\0\u56a8\0\u56d7\0\u5706\0\u5735"+ "\0\u5764\0\u5793\0\u57c2\0\u57f1\0\u5820\0\u584f\0\u587e\0\u58ad"+ "\0\u58dc\0\u590b\0\u593a\0\u5969\0\u5998\0\u59c7\0\u59f6\0\u5a25"+ "\0\u5a54\0\u5a83\0\u5ab2\0\u5ae1\0\u5b10\0\u5b3f\0\u5b6e\0\u5b9d"+ "\0\u5bcc\0\u5bfb\0\u5c2a\0\u5c59\0\u5c88\0\u5cb7\0\u5ce6\0\u5d15"+ "\0\u5d44\0\u5d73\0\u5da2\0\u5dd1\0\u5e00\0\u5e2f\0\u5e5e\0\u5e8d"+ "\0\u5ebc\0\u5eeb\0\u5f1a\0\u5f49\0\u5f78\0\u5fa7\0\u5fd6\0\u6005"+ "\0\u6034\0\u6063\0\u6092\0\u60c1\0\u60f0\0\u611f\0\u614e\0\u617d"+ "\0\u61ac\0\u61db\0\u620a\0\u6239\0\u6268\0\u6297\0\u62c6\0\u62f5"+ "\0\u6324\0\u6353\0\u6382\0\u63b1\0\u63e0\0\u640f\0\u643e\0\u646d"+ "\0\u649c\0\u64cb\0\u64fa\0\u6529\0\u6558\0\u6587\0\u65b6\0\u65e5"+ "\0\u6614\0\u6643\0\u6672\0\u66a1\0\u66d0\0\u66ff\0\u672e\0\u675d"+ "\0\u678c\0\u67bb\0\u67ea\0\u6819\0\u6848\0\u6877\0\u68a6\0\u68d5"+ "\0\u6904\0\u6933\0\u6962\0\u6991\0\u69c0\0\u69ef\0\u6a1e\0\u6a4d"+ "\0\u6a7c\0\u6aab\0\u6ada\0\u6b09\0\u6b38\0\u6b67\0\u6b96\0\u6bc5"+ "\0\u6bf4\0\u6c23\0\u6c52\0\u6c81\0\u6cb0\0\u6cdf\0\u6d0e\0\u6d3d"+ "\0\u6d6c\0\u6d9b\0\u6dca\0\u6df9\0\u6e28\0\u6e57\0\u6e86\0\u6eb5"+ "\0\u6ee4\0\u6f13\0\u6f42\0\u6f71\0\u6fa0\0\u6fcf\0\u6ffe\0\u702d"+ "\0\u705c\0\u708b\0\u70ba\0\u70e9\0\u7118\0\u7147\0\u7176\0\u71a5"+ "\0\u71d4\0\u7203\0\u7232\0\u7261\0\u7290\0\u72bf\0\u72ee\0\u731d"+ "\0\u734c\0\u737b\0\u73aa\0\u73d9\0\u7408\0\u7437\0\u7466\0\u7495"+ "\0\u74c4\0\u74f3\0\u7522\0\u7551\0\u7580\0\u75af\0\u75de\0\u760d"+ "\0\u763c\0\u766b\0\u769a\0\u76c9\0\u76f8\0\u7727\0\u7756\0\u7785"+ "\0\u77b4\0\u77e3\0\u7812\0\u7841\0\u7870\0\u789f\0\u78ce\0\u78fd"+ "\0\u792c\0\u795b\0\u798a\0\u79b9\0\u79e8\0\u7a17\0\u7a46\0\u7a75"+ "\0\u7aa4\0\u7ad3\0\u7b02\0\u7b31\0\u7b60\0\u7b8f\0\u7bbe\0\u7bed"+ "\0\u7c1c\0\u7c4b\0\u7c7a\0\u7ca9\0\u7cd8\0\u7d07\0\u7d36\0\u7d65"+ "\0\u7d94\0\u7dc3\0\u7df2\0\u7e21\0\u7e50\0\u7e7f\0\u7eae\0\u7edd"+ "\0\u7f0c\0\u7f3b\0\u7f6a\0\u7f99\0\u7fc8\0\u7ff7\0\u8026\0\u8055"+ "\0\u8084\0\u80b3\0\u80e2\0\u8111\0\u8140\0\u816f\0\u819e\0\u81cd"+ "\0\u81fc\0\u822b\0\u825a\0\u8289\0\u82b8\0\u82e7\0\u8316\0\u8345"+ "\0\u8374\0\u83a3\0\u83d2\0\u8401\0\u8430\0\u845f\0\u848e\0\u84bd"+ "\0\u84ec\0\u851b\0\u854a\0\u8579\0\u85a8\0\u85d7\0\u8606\0\u8635"+ "\0\u8664\0\u8693\0\u86c2\0\u86f1\0\u8720\0\u874f\0\u877e\0\u87ad"+ "\0\u87dc\0\u880b\0\u883a\0\u8869\0\u8898\0\u88c7\0\u88f6\0\u8925"+ "\0\u8954\0\u8983\0\u89b2\0\u89e1\0\u8a10\0\u8a3f\0\u8a6e\0\u8a9d"+ "\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 */ int l = packed.length(); while (i < l) { int high = packed.charAt(i++) << 16; result[j++] = high | packed.charAt(i++); } 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"+ "\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"+ "\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"+ "\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"+ "\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"+ "\13\6\1\u0129\36\6\2\0\1\6\2\0\37\6\1\u012a"+ "\12\6\2\0\1\6\2\0\20\6\1\u012b\31\6\2\0"+ "\1\6\2\0\33\6\1\u012c\16\6\2\0\1\6\2\0"+ "\25\6\1\u012d\24\6\2\0\1\6\2\0\13\6\1\u012e"+ "\36\6\2\0\1\6\2\0\36\6\1\u012f\13\6\2\0"+ "\1\6\2\0\12\6\1\347\37\6\2\0\1\6\2\0"+ "\33\6\1\u0130\16\6\2\0\1\6\2\0\15\6\1\205"+ "\26\6\1\205\5\6\2\0\1\6\2\0\12\6\1\u0131"+ "\37\6\2\0\1\6\2\0\12\6\1\u0132\37\6\2\0"+ "\1\6\2\0\12\6\1\271\4\6\1\u0133\32\6\2\0"+ "\1\6\2\0\15\6\1\u0134\1\6\1\u0135\3\6\1\u0136"+ "\7\6\1\u0137\10\6\1\u0134\5\6\2\0\1\6\2\0"+ "\16\6\1\u0138\7\6\1\u0139\23\6\2\0\1\6\2\0"+ "\20\6\1\u013a\31\6\2\0\1\6\2\0\23\6\1\u013b"+ "\26\6\2\0\1\6\2\0\20\6\1\u013c\31\6\2\0"+ "\1\6\2\0\33\6\1\u013d\5\6\1\u013e\10\6\2\0"+ "\1\6\2\0\23\6\1\u013f\26\6\2\0\1\6\2\0"+ "\20\6\1\u0140\31\6\2\0\1\6\2\0\27\6\1\u0141"+ "\22\6\2\0\1\6\2\0\20\6\1\u0142\31\6\2\0"+ "\1\6\2\0\17\6\1\u0143\32\6\2\0\1\6\2\0"+ "\25\6\1\313\24\6\2\0\1\6\2\0\12\6\1\u0144"+ "\37\6\2\0\1\6\2\0\35\6\1\u0145\14\6\2\0"+ "\1\6\2\0\13\6\1\u0143\36\6\2\0\1\6\2\0"+ "\26\6\1\u0146\23\6\2\0\1\6\2\0\25\6\1\u0147"+ "\24\6\2\0\1\6\2\0\24\6\1\u0148\25\6\2\0"+ "\1\6\2\0\12\6\1\u0149\37\6\2\0\1\6\2\0"+ "\23\6\1\u014a\26\6\2\0\1\6\2\0\12\6\1\u014b"+ "\37\6\2\0\1\6\2\0\14\6\1\u014c\1\u014d\26\6"+ "\1\u014d\5\6\2\0\1\6\2\0\27\6\1\u014e\22\6"+ "\2\0\1\6\2\0\34\6\1\u014f\15\6\2\0\1\6"+ "\2\0\23\6\1\u0150\26\6\2\0\1\6\2\0\16\6"+ "\1\u0151\11\6\1\u0152\21\6\2\0\1\6\2\0\23\6"+ "\1\u0153\26\6\2\0\1\6\2\0\33\6\1\u0154\16\6"+ "\2\0\1\6\2\0\14\6\1\u0155\35\6\2\0\1\6"+ "\2\0\14\6\1\u0156\35\6\2\0\1\6\2\0\20\6"+ "\1\u0157\31\6\2\0\1\6\2\0\25\6\1\u0158\24\6"+ "\2\0\1\6\2\0\20\6\1\u0159\31\6\2\0\1\6"+ "\2\0\13\6\1\u015a\36\6\2\0\1\6\2\0\25\6"+ "\1\u015b\24\6\2\0\1\6\2\0\12\6\1\u015c\37\6"+ "\2\0\1\6\2\0\17\6\1\u015d\32\6\2\0\1\6"+ "\2\0\20\6\1\u015e\31\6\2\0\1\6\2\0\12\6"+ "\1\u015f\37\6\2\0\1\6\2\0\12\6\1\u0160\37\6"+ "\2\0\1\6\2\0\20\6\1\u0161\31\6\2\0\1\6"+ "\2\0\20\6\1\u0162\31\6\2\0\1\6\2\0\20\6"+ "\1\u0163\31\6\2\0\1\6\2\0\33\6\1\u0143\16\6"+ "\2\0\1\6\2\0\14\6\1\u0164\35\6\2\0\1\6"+ "\2\0\34\6\1\u0165\15\6\2\0\1\6\2\0\16\6"+ "\1\u0166\33\6\2\0\1\6\2\0\16\6\1\310\33\6"+ "\2\0\1\6\2\0\36\6\1\u0167\13\6\2\0\1\6"+ "\2\0\23\6\1\u0168\22\6\7\35\1\0\3\35\1\331"+ "\40\35\16\0\1\332\43\0\4\6\2\0\1\6\2\0"+ "\25\6\1\u0107\24\6\2\0\1\6\2\0\36\6\1\313"+ "\13\6\2\0\1\6\2\0\20\6\1\u0169\31\6\2\0"+ "\1\6\2\0\26\6\1\u016a\23\6\2\0\1\6\2\0"+ "\41\6\1\u016b\10\6\2\0\1\6\2\0\11\6\1\u016c"+ "\31\6\1\u016c\6\6\2\0\1\6\2\0\34\6\1\u016d"+ "\15\6\2\0\1\6\2\0\33\6\1\u0161\16\6\2\0"+ "\1\6\2\0\16\6\1\u016e\33\6\2\0\1\6\2\0"+ "\27\6\1\u016f\22\6\2\0\1\6\2\0\34\6\1\u0170"+ "\15\6\2\0\1\6\2\0\16\6\1\u0171\33\6\2\0"+ "\1\6\2\0\14\6\1\u0172\35\6\2\0\1\6\2\0"+ "\16\6\1\u0173\33\6\2\0\1\6\2\0\23\6\1\u0174"+ "\26\6\2\0\1\6\2\0\23\6\1\77\26\6\2\0"+ "\1\6\2\0\23\6\1\u0175\26\6\2\0\1\6\2\0"+ "\26\6\1\u0176\23\6\2\0\1\6\2\0\13\6\1\u0177"+ "\36\6\2\0\1\6\2\0\20\6\1\u0178\31\6\2\0"+ "\1\6\2\0\32\6\1\u0179\17\6\2\0\1\6\2\0"+ "\13\6\1\113\17\6\1\u017a\16\6\2\0\1\6\2\0"+ "\15\6\1\u017b\26\6\1\u017b\5\6\2\0\1\6\2\0"+ "\14\6\1\u0143\35\6\2\0\1\6\2\0\25\6\1\u017c"+ "\24\6\2\0\1\6\2\0\20\6\1\u017d\31\6\2\0"+ "\1\6\2\0\35\6\1\u017e\14\6\2\0\1\6\2\0"+ "\32\6\1\u017f\17\6\2\0\1\6\2\0\14\6\1\u0180"+ "\20\6\1\u0181\14\6\2\0\1\6\2\0\26\6\1\u0182"+ "\23\6\2\0\1\6\2\0\14\6\1\u0183\35\6\2\0"+ "\1\6\2\0\20\6\1\313\31\6\2\0\1\6\2\0"+ "\13\6\1\u0184\36\6\2\0\1\6\2\0\26\6\1\u0185"+ "\23\6\2\0\1\6\2\0\25\6\1\u0149\24\6\2\0"+ "\1\6\2\0\32\6\1\u0186\17\6\2\0\1\6\2\0"+ "\26\6\1\u0187\23\6\2\0\1\6\2\0\30\6\1\u0188"+ "\21\6\2\0\1\6\2\0\33\6\1\u0189\16\6\2\0"+ "\1\6\2\0\13\6\1\u018a\36\6\2\0\1\6\2\0"+ "\24\6\1\u018b\25\6\2\0\1\6\2\0\23\6\1\u018c"+ "\26\6\2\0\1\6\2\0\23\6\1\u018d\26\6\2\0"+ "\1\6\2\0\12\6\1\u018e\37\6\2\0\1\6\2\0"+ "\35\6\1\u0143\14\6\2\0\1\6\2\0\32\6\1\u018f"+ "\17\6\2\0\1\6\2\0\35\6\1\u0190\14\6\2\0"+ "\1\6\2\0\14\6\1\u0191\35\6\2\0\1\6\2\0"+ "\26\6\1\u0192\23\6\2\0\1\6\2\0\20\6\1\u0193"+ "\31\6\2\0\1\6\2\0\13\6\1\u0194\36\6\2\0"+ "\1\6\2\0\12\6\1\u0195\37\6\2\0\1\6\2\0"+ "\12\6\1\u0196\37\6\2\0\1\6\2\0\12\6\1\u0197"+ "\1\6\1\u0198\3\6\1\u0199\4\6\1\u0107\1\6\1\u019a"+ "\22\6\2\0\1\6\2\0\20\6\1\u019b\31\6\2\0"+ "\1\6\2\0\14\6\1\313\35\6\2\0\1\6\2\0"+ "\26\6\1\u019c\23\6\2\0\1\6\2\0\12\6\1\u019d"+ "\37\6\2\0\1\6\2\0\33\6\1\u019e\16\6\2\0"+ "\1\6\2\0\24\6\1\u019f\1\u01a0\7\6\1\u01a1\14\6"+ "\2\0\1\6\2\0\20\6\1\u01a2\31\6\2\0\1\6"+ "\2\0\24\6\1\u01a3\25\6\2\0\1\6\2\0\11\6"+ "\1\243\1\271\3\6\1\244\1\273\1\274\3\6\1\276"+ "\1\6\1\246\14\6\1\243\6\6\2\0\1\6\2\0"+ "\12\6\1\u01a4\37\6\2\0\1\6\2\0\15\6\1\u01a5"+ "\26\6\1\u01a5\5\6\2\0\1\6\2\0\17\6\1\u01a6"+ "\32\6\2\0\1\6\2\0\16\6\1\u01a7\33\6\2\0"+ "\1\6\2\0\24\6\1\u01a8\25\6\2\0\1\6\2\0"+ "\15\6\1\u01a9\26\6\1\u01a9\5\6\2\0\1\6\2\0"+ "\33\6\1\u01aa\16\6\2\0\1\6\2\0\31\6\1\u01ab"+ "\20\6\2\0\1\6\2\0\20\6\1\u01ac\31\6\2\0"+ "\1\6\2\0\16\6\1\u01ad\33\6\2\0\1\6\2\0"+ "\15\6\1\u01ae\26\6\1\u01ae\5\6\2\0\1\6\2\0"+ "\17\6\1\202\32\6\2\0\1\6\2\0\12\6\1\u01af"+ "\37\6\2\0\1\6\2\0\15\6\1\u01b0\26\6\1\u01b0"+ "\5\6\2\0\1\6\2\0\16\6\1\u01b1\33\6\2\0"+ "\1\6\2\0\25\6\1\u01b2\24\6\2\0\1\6\2\0"+ "\32\6\1\313\17\6\2\0\1\6\2\0\40\6\1\u01b3"+ "\11\6\2\0\1\6\2\0\32\6\1\u01b4\17\6\2\0"+ "\1\6\2\0\13\6\1\u01b5\36\6\2\0\1\6\2\0"+ "\23\6\1\u01b6\26\6\2\0\1\6\2\0\25\6\1\u01b7"+ "\24\6\2\0\1\6\2\0\27\6\1\u01b8\22\6\2\0"+ "\1\6\2\0\23\6\1\u01b9\26\6\2\0\1\6\2\0"+ "\34\6\1\313\15\6\2\0\1\6\2\0\37\6\1\u01ba"+ "\12\6\2\0\1\6\2\0\17\6\1\u01bb\32\6\2\0"+ "\1\6\2\0\20\6\1\u01bc\31\6\2\0\1\6\2\0"+ "\20\6\1\u01bd\31\6\2\0\1\6\2\0\35\6\1\u01be"+ "\14\6\2\0\1\6\2\0\24\6\1\u01bf\25\6\2\0"+ "\1\6\2\0\23\6\1\u01c0\3\6\1\361\1\u01c1\21\6"+ "\2\0\1\6\2\0\23\6\1\u01c2\26\6\2\0\1\6"+ "\2\0\34\6\1\u01c3\15\6\2\0\1\6\2\0\34\6"+ "\1\u01c4\15\6\2\0\1\6\2\0\27\6\1\u01c5\22\6"+ "\2\0\1\6\2\0\31\6\1\u01c6\20\6\2\0\1\6"+ "\2\0\14\6\1\u01c7\35\6\2\0\1\6\2\0\34\6"+ "\1\u01c8\15\6\2\0\1\6\2\0\33\6\1\u01c9\16\6"+ "\2\0\1\6\2\0\34\6\1\u01ca\15\6\2\0\1\6"+ "\2\0\13\6\1\u01cb\36\6\2\0\1\6\2\0\11\6"+ "\1\u01cc\31\6\1\u01cc\6\6\2\0\1\6\2\0\20\6"+ "\1\u01cd\31\6\2\0\1\6\2\0\12\6\1\271\10\6"+ "\1\u0106\6\6\1\u010a\1\6\1\u010b\15\6\2\0\1\6"+ "\2\0\16\6\1\u01ce\33\6\2\0\1\6\2\0\34\6"+ "\1\u01cf\15\6\2\0\1\6\2\0\33\6\1\u01d0\16\6"+ "\2\0\1\6\2\0\20\6\1\u01d1\31\6\2\0\1\6"+ "\2\0\14\6\1\u01d2\11\6\1\237\1\361\22\6\2\0"+ "\1\6\2\0\27\6\1\u01d3\22\6\2\0\1\6\2\0"+ "\33\6\1\u01d4\16\6\2\0\1\6\2\0\12\6\1\u01d5"+ "\37\6\2\0\1\6\2\0\41\6\1\u01d6\10\6\2\0"+ "\1\6\2\0\26\6\1\u01d7\23\6\2\0\1\6\2\0"+ "\41\6\1\u01d8\10\6\2\0\1\6\2\0\33\6\1\u01d9"+ "\16\6\2\0\1\6\2\0\12\6\1\271\3\6\1\u01da"+ "\1\273\32\6\2\0\1\6\2\0\35\6\1\u01db\14\6"+ "\2\0\1\6\2\0\13\6\1\u017c\36\6\2\0\1\6"+ "\2\0\13\6\1\u01dc\36\6\2\0\1\6\2\0\20\6"+ "\1\u01dd\31\6\2\0\1\6\2\0\20\6\1\u01de\3\6"+ "\1\u01df\1\6\1\237\1\6\1\362\2\6\1\u01e0\16\6"+ "\2\0\1\6\2\0\12\6\1\u01e1\37\6\2\0\1\6"+ "\2\0\11\6\1\u01e2\31\6\1\u01e2\6\6\2\0\1\6"+ "\2\0\15\6\1\u01e3\26\6\1\u01e3\5\6\2\0\1\6"+ "\2\0\20\6\1\u015b\31\6\2\0\1\6\2\0\20\6"+ "\1\u01e4\31\6\2\0\1\6\2\0\40\6\1\313\11\6"+ "\2\0\1\6\2\0\26\6\1\u01e5\23\6\2\0\1\6"+ "\2\0\35\6\1\u01e6\14\6\2\0\1\6\2\0\24\6"+ "\1\236\11\6\1\u01e7\13\6\2\0\1\6\2\0\33\6"+ "\1\u01e8\16\6\2\0\1\6\2\0\33\6\1\u01e9\16\6"+ "\2\0\1\6\2\0\31\6\1\u01ea\20\6\2\0\1\6"+ "\2\0\15\6\1\u01eb\26\6\1\u01eb\5\6\2\0\1\6"+ "\2\0\25\6\1\u01ec\24\6\2\0\1\6\2\0\32\6"+ "\1\u01ed\17\6\2\0\1\6\2\0\12\6\1\u01ee\37\6"+ "\2\0\1\6\2\0\20\6\1\u01ef\31\6\2\0\1\6"+ "\2\0\25\6\1\u01f0\24\6\2\0\1\6\2\0\20\6"+ "\1\u01f1\31\6\2\0\1\6\2\0\27\6\1\u01f2\22\6"+ "\2\0\1\6\2\0\26\6\1\u011a\23\6\2\0\1\6"+ "\2\0\20\6\1\u01f3\31\6\2\0\1\6\2\0\34\6"+ "\1\u01f4\15\6\2\0\1\6\2\0\34\6\1\u01f5\15\6"+ "\2\0\1\6\2\0\33\6\1\u013d\16\6\2\0\1\6"+ "\2\0\13\6\1\u01f6\36\6\2\0\1\6\2\0\25\6"+ "\1\u01f7\24\6\2\0\1\6\2\0\23\6\1\u01f8\26\6"+ "\2\0\1\6\2\0\34\6\1\u01f9\15\6\2\0\1\6"+ "\2\0\24\6\1\u01fa\25\6\2\0\1\6\2\0\31\6"+ "\1\u01fb\20\6\2\0\1\6\2\0\12\6\1\u01fc\37\6"+ "\2\0\1\6\2\0\14\6\1\u01fd\35\6\2\0\1\6"+ "\2\0\23\6\1\u01fe\26\6\2\0\1\6\2\0\16\6"+ "\1\u01ff\33\6\2\0\1\6\2\0\12\6\1\271\5\6"+ "\1\274\31\6\2\0\1\6\2\0\20\6\1\u0200\31\6"+ "\2\0\1\6\2\0\12\6\1\u0201\37\6\2\0\1\6"+ "\2\0\16\6\1\u0202\33\6\2\0\1\6\2\0\17\6"+ "\1\u0203\32\6\2\0\1\6\2\0\15\6\1\u0204\2\6"+ "\1\u0205\2\6\1\u0106\1\u0206\2\6\1\u0207\1\u0208\1\6"+ "\1\u0209\1\u020a\1\u020b\7\6\1\u0204\5\6\2\0\1\6"+ "\2\0\26\6\1\u020c\23\6\2\0\1\6\2\0\14\6"+ "\1\u020d\35\6\2\0\1\6\2\0\24\6\1\u020e\25\6"+ "\2\0\1\6\2\0\13\6\1\u01d0\36\6\2\0\1\6"+ "\2\0\15\6\1\u020f\26\6\1\u020f\5\6\2\0\1\6"+ "\2\0\17\6\1\u0210\32\6\2\0\1\6\2\0\26\6"+ "\1\u0211\23\6\2\0\1\6\2\0\16\6\1\u0212\33\6"+ "\2\0\1\6\2\0\23\6\1\u0213\26\6\2\0\1\6"+ "\2\0\31\6\1\371\20\6\2\0\1\6\2\0\13\6"+ "\1\u0214\36\6\2\0\1\6\2\0\35\6\1\u0215\14\6"+ "\2\0\1\6\2\0\12\6\1\u0216\37\6\2\0\1\6"+ "\2\0\31\6\1\u0217\20\6\2\0\1\6\2\0\24\6"+ "\1\266\25\6\2\0\1\6\2\0\23\6\1\u0218\26\6"+ "\2\0\1\6\2\0\33\6\1\u0219\16\6\2\0\1\6"+ "\2\0\35\6\1\313\14\6\2\0\1\6\2\0\25\6"+ "\1\u021a\24\6\2\0\1\6\2\0\26\6\1\u021b\23\6"+ "\2\0\1\6\2\0\34\6\1\371\15\6\2\0\1\6"+ "\2\0\12\6\1\u021c\1\u021d\21\6\1\u021e\14\6\2\0"+ "\1\6\2\0\20\6\1\u021f\31\6\2\0\1\6\2\0"+ "\16\6\1\u0220\33\6\2\0\1\6\2\0\21\6\1\u0221"+ "\23\6\1\u0221\4\6\2\0\1\6\2\0\33\6\1\u0222"+ "\16\6\2\0\1\6\2\0\14\6\1\u0174\35\6\2\0"+ "\1\6\2\0\20\6\1\u0223\31\6\2\0\1\6\2\0"+ "\14\6\1\u0224\35\6\2\0\1\6\2\0\20\6\1\u0225"+ "\31\6\2\0\1\6\2\0\24\6\1\u0226\2\6\1\u0227"+ "\22\6\2\0\1\6\2\0\16\6\1\u0228\33\6\2\0"+ "\1\6\2\0\26\6\1\u0229\23\6\2\0\1\6\2\0"+ "\25\6\1\u022a\24\6\2\0\1\6\2\0\20\6\1\u022b"+ "\31\6\2\0\1\6\2\0\23\6\1\u022c\26\6\2\0"+ "\1\6\2\0\26\6\1\u022d\23\6\2\0\1\6\2\0"+ "\25\6\1\u022e\24\6\2\0\1\6\2\0\23\6\1\u022f"+ "\26\6\2\0\1\6\2\0\33\6\1\u0230\16\6\2\0"+ "\1\6\2\0\17\6\1\u0200\32\6\2\0\1\6\2\0"+ "\20\6\1\u0231\31\6\2\0\1\6\2\0\33\6\1\u0232"+ "\16\6\2\0\1\6\2\0\27\6\1\u01d0\22\6\2\0"+ "\1\6\2\0\13\6\1\313\36\6\2\0\1\6\2\0"+ "\35\6\1\u0233\14\6\2\0\1\6\2\0\12\6\1\u0234"+ "\37\6\2\0\1\6\2\0\12\6\1\271\37\6\2\0"+ "\1\6\2\0\11\6\1\u0235\31\6\1\u0235\3\6\1\u0236"+ "\2\6\2\0\1\6\2\0\52\6\2\0\1\6\2\0"+ "\32\6\1\u0143\17\6\2\0\1\6\2\0\25\6\1\u0174"+ "\24\6\2\0\1\6\2\0\12\6\1\313\37\6\2\0"+ "\1\6\2\0\15\6\1\u0237\26\6\1\u0237\5\6\2\0"+ "\1\6\2\0\13\6\1\u0238\36\6\2\0\1\6\2\0"+ "\12\6\1\u0239\37\6\2\0\1\6\2\0\33\6\1\u023a"+ "\16\6\2\0\1\6\2\0\25\6\1\u023b\24\6\2\0"+ "\1\6\2\0\26\6\1\u023c\23\6\2\0\1\6\2\0"+ "\20\6\1\u023d\31\6\2\0\1\6\2\0\16\6\1\u023e"+ "\33\6\2\0\1\6\2\0\33\6\1\u023f\16\6\2\0"+ "\1\6\2\0\20\6\1\u0240\31\6\2\0\1\6\2\0"+ "\33\6\1\u0241\16\6\2\0\1\6\2\0\33\6\1\u0242"+ "\16\6\2\0\1\6\2\0\12\6\1\u0243\37\6\2\0"+ "\1\6\2\0\13\6\1\u0244\7\6\1\u0106\26\6\2\0"+ "\1\6\2\0\16\6\1\371\33\6\2\0\1\6\2\0"+ "\17\6\1\u01c5\32\6\2\0\1\6\2\0\34\6\1\u0245"+ "\15\6\2\0\1\6\2\0\32\6\1\u0246\17\6\2\0"+ "\1\6\2\0\24\6\1\u0247\25\6\2\0\1\6\2\0"+ "\16\6\1\u0248\33\6\2\0\1\6\2\0\23\6\1\u0249"+ "\26\6\2\0\1\6\2\0\20\6\1\u024a\31\6\2\0"+ "\1\6\2\0\14\6\1\u024b\1\6\1\u024c\33\6\2\0"+ "\1\6\2\0\12\6\1\u024d\37\6\2\0\1\6\2\0"+ "\26\6\1\u024e\23\6\2\0\1\6\2\0\32\6\1\u024f"+ "\17\6\2\0\1\6\2\0\25\6\1\u0250\24\6\2\0"+ "\1\6\2\0\20\6\1\u0251\31\6\2\0\1\6\2\0"+ "\20\6\1\u0252\31\6\2\0\1\6\2\0\23\6\1\u0253"+ "\26\6\2\0\1\6\2\0\23\6\1\114\26\6\2\0"+ "\1\6\2\0\41\6\1\313\10\6\2\0\1\6\2\0"+ "\14\6\1\u0254\35\6\2\0\1\6\2\0\35\6\1\u0255"+ "\14\6\2\0\1\6\2\0\33\6\1\u0256\16\6\2\0"+ "\1\6\2\0\34\6\1\u0257\15\6\2\0\1\6\2\0"+ "\14\6\1\u0258\35\6\2\0\1\6\2\0\17\6\1\u0259"+ "\32\6\2\0\1\6\2\0\20\6\1\u025a\31\6\2\0"+ "\1\6\2\0\17\6\1\u025b\32\6\2\0\1\6\2\0"+ "\24\6\1\362\25\6\2\0\1\6\2\0\23\6\1\u025c"+ "\26\6\2\0\1\6\2\0\33\6\1\u025d\16\6\2\0"+ "\1\6\2\0\14\6\1\u025e\35\6\2\0\1\6\2\0"+ "\12\6\1\u025f\37\6\2\0\1\6\2\0\27\6\1\u0260"+ "\22\6\2\0\1\6\2\0\11\6\1\u0261\31\6\1\u0261"+ "\6\6\2\0\1\6\2\0\27\6\1\361\22\6\2\0"+ "\1\6\2\0\14\6\1\u0262\35\6\2\0\1\6\2\0"+ "\16\6\1\u0263\33\6\2\0\1\6\2\0\20\6\1\u0264"+ "\31\6\2\0\1\6\2\0\16\6\1\u0265\33\6\2\0"+ "\1\6\2\0\16\6\1\u0266\33\6\2\0\1\6\2\0"+ "\17\6\1\u0267\3\6\1\u0106\1\6\1\u0268\7\6\1\u0269"+ "\1\u026a\13\6\2\0\1\6\2\0\16\6\1\u026b\33\6"+ "\2\0\1\6\2\0\12\6\1\167\37\6\2\0\1\6"+ "\2\0\24\6\1\276\25\6\2\0\1\6\2\0\26\6"+ "\1\u026c\23\6\2\0\1\6\2\0\23\6\1\u026d\26\6"+ "\2\0\1\6\2\0\35\6\1\u026e\14\6\2\0\1\6"+ "\2\0\33\6\1\u026f\16\6\2\0\1\6\2\0\25\6"+ "\1\u0270\24\6\2\0\1\6\2\0\26\6\1\u0271\23\6"+ "\2\0\1\6\2\0\35\6\1\u0272\14\6\2\0\1\6"+ "\2\0\17\6\1\313\32\6\2\0\1\6\2\0\16\6"+ "\1\u0273\33\6\2\0\1\6\2\0\15\6\1\u020f\5\6"+ "\1\u0274\1\6\1\u0275\1\6\1\u019a\2\6\1\u010a\4\6"+ "\1\u0276\4\6\1\u020f\5\6\2\0\1\6\2\0\33\6"+ "\1\u0277\16\6\2\0\1\6\2\0\33\6\1\u0278\16\6"+ "\2\0\1\6\2\0\20\6\1\u0279\31\6\2\0\1\6"+ "\2\0\40\6\1\u01c5\11\6\2\0\1\6\2\0\33\6"+ "\1\u01a6\16\6\2\0\1\6\2\0\16\6\1\372\33\6"+ "\2\0\1\6\2\0\25\6\1\u027a\24\6\2\0\1\6"+ "\2\0\17\6\1\u027b\32\6\2\0\1\6\2\0\25\6"+ "\1\u027c\24\6\2\0\1\6\2\0\24\6\1\u027d\25\6"+ "\2\0\1\6\2\0\24\6\1\313\25\6\2\0\1\6"+ "\2\0\16\6\1\u027e\33\6\2\0\1\6\2\0\27\6"+ "\1\313\22\6\2\0\1\6\2\0\35\6\1\u01f8\14\6"+ "\2\0\1\6\2\0\33\6\1\u027f\16\6\2\0\1\6"+ "\2\0\12\6\1\u0280\37\6\2\0\1\6\2\0\35\6"+ "\1\u021e\14\6\2\0\1\6\2\0\23\6\1\u0200\26\6"+ "\2\0\1\6\2\0\16\6\1\u0281\33\6\2\0\1\6"+ "\2\0\16\6\1\u0282\33\6\2\0\1\6\2\0\14\6"+ "\1\u0241\35\6\2\0\1\6\2\0\16\6\1\u0233\33\6"+ "\2\0\1\6\2\0\13\6\1\u0283\36\6\2\0\1\6"+ "\2\0\12\6\1\202\37\6\2\0\1\6\2\0\12\6"+ "\1\u0284\37\6\2\0\1\6\2\0\13\6\1\u0285\36\6"+ "\2\0\1\6\2\0\31\6\1\u0286\20\6\2\0\1\6"+ "\2\0\14\6\1\u0287\35\6\2\0\1\6\2\0\17\6"+ "\1\u0288\32\6\2\0\1\6\2\0\20\6\1\u0289\31\6"+ "\2\0\1\6\2\0\12\6\1\u028a\37\6\2\0\1\6"+ "\2\0\26\6\1\u028b\23\6\2\0\1\6\2\0\25\6"+ "\1\u0200\24\6\2\0\1\6\2\0\36\6\1\u0143\13\6"+ "\2\0\1\6\2\0\25\6\1\u028c\24\6\2\0\1\6"+ "\2\0\26\6\1\u028d\23\6\2\0\1\6\2\0\26\6"+ "\1\u028e\23\6\2\0\1\6\2\0\34\6\1\u028f\15\6"+ "\2\0\1\6\2\0\20\6\1\u0290\31\6\2\0\1\6"+ "\2\0\17\6\1\u0291\32\6\2\0\1\6\2\0\25\6"+ "\1\u0292\24\6\2\0\1\6\2\0\30\6\1\u0293\21\6"+ "\2\0\1\6\2\0\13\6\1\u0294\36\6\2\0\1\6"+ "\2\0\20\6\1\u0295\31\6\2\0\1\6\2\0\27\6"+ "\1\u0296\22\6\2\0\1\6\2\0\34\6\1\u0297\15\6"+ "\2\0\1\6\2\0\26\6\1\u0298\23\6\2\0\1\6"+ "\2\0\12\6\1\u0299\37\6\2\0\1\6\2\0\17\6"+ "\1\u029a\32\6\2\0\1\6\2\0\26\6\1\u029b\23\6"+ "\2\0\1\6\2\0\26\6\1\u01f8\23\6\2\0\1\6"+ "\2\0\26\6\1\u029c\23\6\2\0\1\6\2\0\24\6"+ "\1\u029d\25\6\2\0\1\6\2\0\14\6\1\u0200\35\6"+ "\2\0\1\6\2\0\14\6\1\167\35\6\2\0\1\6"+ "\2\0\23\6\1\u029e\26\6\2\0\1\6\2\0\27\6"+ "\1\u029f\22\6\2\0\1\6\2\0\11\6\1\u01b0\31\6"+ "\1\u01b0\6\6\2\0\1\6\2\0\25\6\1\u0143\24\6"+ "\2\0\1\6\2\0\35\6\1\u02a0\14\6\2\0\1\6"+ "\2\0\24\6\1\u02a1\25\6\2\0\1\6\2\0\15\6"+ "\1\u02a2\26\6\1\u02a2\5\6\2\0\1\6\2\0\12\6"+ "\1\u0143\37\6\2\0\1\6\2\0\12\6\1\u02a1\37\6"+ "\2\0\1\6\2\0\34\6\1\u011a\15\6\2\0\1\6"+ "\2\0\33\6\1\u02a3\16\6\2\0\1\6\2\0\25\6"+ "\1\u024e\24\6\2\0\1\6\2\0\34\6\1\u02a4\15\6"+ "\2\0\1\6\2\0\26\6\1\u02a5\23\6\2\0\1\6"+ "\2\0\23\6\1\u02a6\26\6\2\0\1\6\2\0\30\6"+ "\1\u02a7\21\6\2\0\1\6\2\0\33\6\1\u02a8\16\6"+ "\2\0\1\6\2\0\15\6\1\u02a9\26\6\1\u02a9\5\6"+ "\2\0\1\6\2\0\32\6\1\u02aa\17\6\2\0\1\6"+ "\2\0\34\6\1\u02ab\15\6\2\0\1\6\2\0\14\6"+ "\1\u02ac\35\6\2\0\1\6\2\0\33\6\1\u02ad\16\6"+ "\2\0\1\6\2\0\12\6\1\u02ae\37\6\2\0\1\6"+ "\2\0\12\6\1\u02af\37\6\2\0\1\6\2\0\17\6"+ "\1\u02b0\32\6\2\0\1\6\2\0\23\6\1\u02b1\26\6"+ "\2\0\1\6\2\0\15\6\1\u02b2\26\6\1\u02b2\5\6"+ "\2\0\1\6\2\0\13\6\1\u02b3\13\6\1\372\22\6"+ "\2\0\1\6\2\0\13\6\1\u02b4\36\6\2\0\1\6"+ "\2\0\12\6\1\u02b5\37\6\2\0\1\6\2\0\23\6"+ "\1\u01fa\26\6\2\0\1\6\2\0\32\6\1\u02b6\17\6"+ "\2\0\1\6\2\0\25\6\1\u02b7\24\6\2\0\1\6"+ "\2\0\36\6\1\u02b8\13\6\2\0\1\6\2\0\20\6"+ "\1\u02b9\31\6\2\0\1\6\2\0\14\6\1\u02a1\35\6"+ "\2\0\1\6\2\0\20\6\1\u0220\31\6\2\0\1\6"+ "\2\0\23\6\1\u02ba\26\6\2\0\1\6\2\0\11\6"+ "\1\313\31\6\1\313\6\6\2\0\1\6\2\0\31\6"+ "\1\u02bb\20\6\2\0\1\6\2\0\20\6\1\u02bc\31\6"+ "\2\0\1\6\2\0\13\6\1\u02bd\36\6\2\0\1\6"+ "\2\0\32\6\1\u02be\17\6\2\0\1\6\2\0\27\6"+ "\1\u02bf\22\6\2\0\1\6\2\0\26\6\1\u02c0\23\6"+ "\2\0\1\6\2\0\16\6\1\u02c1\33\6\2\0\1\6"+ "\2\0\26\6\1\313\23\6\2\0\1\6\2\0\20\6"+ "\1\u02c2\31\6\2\0\1\6\2\0\14\6\1\u02c3\35\6"+ "\2\0\1\6\2\0\12\6\1\u02c4\37\6\2\0\1\6"+ "\2\0\16\6\1\u02c5\33\6\2\0\1\6\2\0\20\6"+ "\1\u02c6\31\6\2\0\1\6\2\0\13\6\1\u02c7\36\6"+ "\2\0\1\6\2\0\20\6\1\u0250\31\6\2\0\1\6"+ "\2\0\33\6\1\u02c8\16\6\2\0\1\6\2\0\20\6"+ "\1\u02c9\31\6\2\0\1\6\2\0\23\6\1\u02ca\26\6"+ "\2\0\1\6\2\0\23\6\1\u02cb\26\6\2\0\1\6"+ "\2\0\20\6\1\u02cc\31\6\2\0\1\6\2\0\26\6"+ "\1\u02cd\23\6\2\0\1\6\2\0\24\6\1\u02ce\25\6"+ "\2\0\1\6\2\0\16\6\1\114\33\6\2\0\1\6"+ "\2\0\20\6\1\u0286\31\6\2\0\1\6\2\0\25\6"+ "\1\u0233\24\6\2\0\1\6\2\0\27\6\1\u0227\22\6"+ "\2\0\1\6\2\0\12\6\1\u02cf\37\6\2\0\1\6"+ "\2\0\13\6\1\u02d0\36\6\2\0\1\6\2\0\12\6"+ "\1\u02d1\37\6\2\0\1\6\2\0\30\6\1\u02d2\21\6"+ "\2\0\1\6\2\0\27\6\1\205\22\6\2\0\1\6"+ "\2\0\12\6\1\205\37\6\2\0\1\6\2\0\35\6"+ "\1\u02d3\14\6\2\0\1\6\2\0\20\6\1\u02d4\31\6"+ "\2\0\1\6\2\0\32\6\1\u02d5\17\6\2\0\1\6"+ "\2\0\15\6\1\u02d6\26\6\1\u02d6\5\6\2\0\1\6"+ "\2\0\33\6\1\u02d7\16\6\2\0\1\6\2\0\23\6"+ "\1\u02d8\26\6\2\0\1\6\2\0\20\6\1\u02d9\31\6"+ "\2\0\1\6\2\0\33\6\1\u02da\16\6\2\0\1\6"+ "\2\0\14\6\1\u02db\35\6\2\0\1\6\2\0\12\6"+ "\1\u02dc\37\6\2\0\1\6\2\0\34\6\1\u02dd\15\6"+ "\2\0\1\6\2\0\33\6\1\u02de\16\6\2\0\1\6"+ "\2\0\20\6\1\u02df\31\6\2\0\1\6\2\0\20\6"+ "\1\u02e0\31\6\2\0\1\6\2\0\26\6\1\u02e1\23\6"+ "\2\0\1\6\2\0\26\6\1\u02e2\23\6\2\0\1\6"+ "\2\0\34\6\1\u02e3\15\6\2\0\1\6\2\0\23\6"+ "\1\u02e4\26\6\2\0\1\6\2\0\33\6\1\u02e5\16\6"+ "\2\0\1\6\2\0\16\6\1\u02e6\33\6\2\0\1\6"+ "\2\0\31\6\1\u02aa\20\6\2\0\1\6\2\0\30\6"+ "\1\u01c1\21\6\2\0\1\6\2\0\32\6\1\u02e7\17\6"+ "\2\0\1\6\2\0\27\6\1\u02e8\22\6\2\0\1\6"+ "\2\0\20\6\1\u02e9\31\6\2\0\1\6\2\0\14\6"+ "\1\u02ea\35\6\2\0\1\6\2\0\12\6\1\u02eb\37\6"+ "\2\0\1\6\2\0\14\6\1\u02ec\35\6\2\0\1\6"+ "\2\0\16\6\1\u02ed\33\6\2\0\1\6\2\0\15\6"+ "\1\u01a9\1\6\1\u02ee\24\6\1\u01a9\5\6\2\0\1\6"+ "\2\0\33\6\1\u02ef\16\6\2\0\1\6\2\0\33\6"+ "\1\u02f0\16\6\2\0\1\6\2\0\20\6\1\u02f1\16\6"+ "\1\u02f2\12\6\2\0\1\6\2\0\15\6\1\u02f3\26\6"+ "\1\u02f3\5\6\2\0\1\6\2\0\16\6\1\u0241\33\6"+ "\2\0\1\6\2\0\16\6\1\u0250\33\6\2\0\1\6"+ "\2\0\36\6\1\u02f4\13\6\2\0\1\6\2\0\20\6"+ "\1\326\31\6\2\0\1\6\2\0\25\6\1\u02f5\24\6"+ "\2\0\1\6\2\0\25\6\1\u02f6\24\6\2\0\1\6"+ "\2\0\21\6\1\u02f7\23\6\1\u02f7\4\6\2\0\1\6"+ "\2\0\33\6\1\u02f8\16\6\2\0\1\6\2\0\20\6"+ "\1\u02f9\31\6\2\0\1\6\2\0\12\6\1\u02fa\37\6"+ "\2\0\1\6\2\0\16\6\1\u02fb\33\6\2\0\1\6"+ "\2\0\14\6\1\u02fc\35\6\2\0\1\6\2\0\12\6"+ "\1\u02b0\37\6\2\0\1\6\2\0\33\6\1\u02fd\16\6"+ "\2\0\1\6\2\0\34\6\1\u02fe\15\6\2\0\1\6"+ "\2\0\15\6\1\202\26\6\1\202\5\6\2\0\1\6"+ "\2\0\20\6\1\u02aa\31\6\2\0\1\6\2\0\26\6"+ "\1\u02ff\23\6\2\0\1\6\2\0\24\6\1\u0300\25\6"+ "\2\0\1\6\2\0\26\6\1\u0301\23\6\2\0\1\6"+ "\2\0\16\6\1\u0302\33\6\2\0\1\6\2\0\33\6"+ "\1\u0303\16\6\2\0\1\6\2\0\11\6\1\u01dd\31\6"+ "\1\u01dd\6\6\2\0\1\6\2\0\15\6\1\u0304\26\6"+ "\1\u0304\5\6\2\0\1\6\2\0\26\6\1\u0305\23\6"+ "\2\0\1\6\2\0\33\6\1\u0306\16\6\2\0\1\6"+ "\2\0\20\6\1\u0307\31\6\2\0\1\6\2\0\25\6"+ "\1\u0308\24\6\2\0\1\6\2\0\20\6\1\u0309\31\6"+ "\2\0\1\6\2\0\33\6\1\u0250\16\6\2\0\1\6"+ "\2\0\30\6\1\u030a\21\6\2\0\1\6\2\0\16\6"+ "\1\u030b\33\6\2\0\1\6\2\0\20\6\1\u030c\31\6"+ "\2\0\1\6\2\0\34\6\1\u030d\15\6\2\0\1\6"+ "\2\0\26\6\1\u030e\23\6\2\0\1\6\2\0\33\6"+ "\1\205\16\6\2\0\1\6\2\0\14\6\1\u030f\35\6"+ "\2\0\1\6\2\0\23\6\1\u0310\26\6\2\0\1\6"+ "\2\0\34\6\1\u0311\15\6\2\0\1\6\2\0\14\6"+ "\1\u0312\35\6\2\0\1\6\2\0\12\6\1\u0313\37\6"+ "\2\0\1\6\2\0\33\6\1\u0314\16\6\2\0\1\6"+ "\2\0\33\6\1\u015b\16\6\2\0\1\6\2\0\20\6"+ "\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"; 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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); value--; do result[j++] = value; while (--count > 0); } return j; } /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; private static final int ZZ_PUSHBACK_2BIG = 2; /* error messages for the codes above */ private static final String ZZ_ERROR_MSG[] = { "Unkown internal scanner error", "Error: could not match input", "Error: pushback value was too large" }; /** * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute(); private static final String ZZ_ATTRIBUTE_PACKED_0 = "\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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } return j; } /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ private int zzState; /** the current lexical state */ private int zzLexicalState = YYINITIAL; /** this buffer contains the current text to be matched and is the source of the yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ private int zzMarkedPos; /** the current text position in the buffer */ private int zzCurrentPos; /** startRead marks the beginning of the yytext() string in the buffer */ private int zzStartRead; /** endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** 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. */ public static final int INTERNAL_ATTR_DOUBLE = -1; /** * Type specific to HtaccessTokenMaker denoting a line ending with an * unclosed single-quote attribute. */ public static final int INTERNAL_ATTR_SINGLE = -2; /** * Token type specific to HtaccessTokenMaker 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; /** * Constructor. This must be here because JFlex does not generate a * no-parameter constructor. */ public HtaccessTokenMaker() { } /** * 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. */ 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. * @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. */ 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. */ 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. */ @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. * * @return The line comment start and end text for .htaccess files. */ @Override public String[] getLineCommentStartAndEnd() { 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. * * @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) { resetTokenList(); this.offsetShift = -text.offset + startOffset; // 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; } start = text.offset; s = text; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); return new TokenImpl(); } } /** * Refills the input buffer. * * @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. * * 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 */ 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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = s.offset; zzLexicalState = YYINITIAL; 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. */ public HtaccessTokenMaker(java.io.Reader in) { this.zzReader = in; } /** * Creates a new scanner. * There is also java.io.Reader version of this constructor. * * @param in the java.io.Inputstream to read input from. */ public HtaccessTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } /** * Unpacks the compressed character translation table. * * @param packed the packed character translation table * @return the unpacked character translation table */ private static char [] zzUnpackCMap(String packed) { char [] map = new char[0x10000]; int i = 0; /* index in packed string */ int j = 0; /* index in unpacked array */ while (i < 172) { int count = packed.charAt(i++); char value = packed.charAt(i++); do map[j++] = value; while (--count > 0); } return map; } /** * Closes the input stream. */ public final void yyclose() throws java.io.IOException { zzAtEOF = true; /* indicate end of file */ zzEndRead = zzStartRead; /* invalidate buffer */ if (zzReader != null) zzReader.close(); } /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } /** * Enters a 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 yylength()-1. * * @return the character at position pos */ public final char yycharat(int pos) { return zzBuffer[zzStartRead+pos]; } /** * Returns the length of the matched text region. */ public final int yylength() { return zzMarkedPos-zzStartRead; } /** * Reports an error that occured while scanning. * * In a wellformed scanner (no or only correct usage of * yypushback(int) and a match-all fallback rule) this method * will only be called with things that "Can't Possibly Happen". * If this method is called, something is seriously wrong * (e.g. a JFlex bug producing a faulty scanner etc.). * * Usual syntax/scanner level error handling should be done * in error fallback rules. * * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; try { message = ZZ_ERROR_MSG[errorCode]; } catch (ArrayIndexOutOfBoundsException e) { message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR]; } throw new Error(message); } /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * * @param number the number of characters to be read again. * This number must not be greater than yylength()! */ public void yypushback(int number) { if ( number > yylength() ) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } /** * Resumes scanning until the next regular expression is matched, * the end of input is encountered or an I/O-Error occurs. * * @return the next token * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; int zzAction; // cached fields: int zzCurrentPosL; int zzMarkedPosL; int zzEndReadL = zzEndRead; char [] zzBufferL = zzBuffer; char [] zzCMapL = ZZ_CMAP; int [] zzTransL = ZZ_TRANS; int [] zzRowMapL = ZZ_ROWMAP; int [] zzAttrL = ZZ_ATTRIBUTE; while (true) { zzMarkedPosL = zzMarkedPos; zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; else if (zzAtEOF) { zzInput = YYEOF; break zzForAction; } else { // store back cached positions zzCurrentPos = zzCurrentPosL; zzMarkedPos = zzMarkedPosL; boolean eof = zzRefill(); // get translated positions and possibly new buffer zzCurrentPosL = zzCurrentPos; zzMarkedPosL = zzMarkedPos; zzBufferL = zzBuffer; zzEndReadL = zzEndRead; if (eof) { zzInput = YYEOF; break zzForAction; } else { zzInput = zzBufferL[zzCurrentPosL++]; } } int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ]; if (zzNext == -1) break zzForAction; zzState = zzNext; int zzAttributes = zzAttrL[zzState]; if ( (zzAttributes & 1) == 1 ) { zzAction = zzState; zzMarkedPosL = zzCurrentPosL; if ( (zzAttributes & 8) == 8 ) break zzForAction; } } } // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { case 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); } } } } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/DelphiTokenMaker.flex0000644000175000001440000003734512202240132027735 0ustar benusers/* * 7/28/2009 * * DelphiTokenMaker.java - Scanner for the Delphi programming language. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.*; /** * Scanner for the Delphi programming language.

* * 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * 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.
  • *
  • You should NOT call yylex() on the generated scanner * directly; rather, you should use getTokenList as you would * with any other TokenMaker instance.
  • *
* * @author Robert Futrell * @version 0.5 * */ %% %public %class DelphiTokenMaker %extends AbstractJFlexTokenMaker %unicode %type org.fife.ui.rsyntaxtextarea.Token %{ /** * 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. */ public static final int INTERNAL_COMPILER_DIRECTIVE = -2; /** * 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. */ public DelphiTokenMaker() { } /** * 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. */ 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. * @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. */ 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. * @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. */ @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 the text to place at the beginning and end of a * line to "comment" it in a this programming language. * * @return The start and end strings to add to a line to "comment" * it out. */ @Override public String[] getLineCommentStartAndEnd() { 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. * * @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) { resetTokenList(); this.offsetShift = -text.offset + startOffset; // 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; } s = text; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); return new TokenImpl(); } } /** * Refills the input buffer. * * @return true if EOF was reached, otherwise * false. * @exception IOException if any I/O-Error occurs. */ private boolean zzRefill() throws java.io.IOException { return zzCurrentPos>=s.offset+s.count; } /** * 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 */ public final void yyreset(java.io.Reader reader) throws java.io.IOException { // '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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = zzPushbackPos = s.offset; zzLexicalState = YYINITIAL; zzReader = reader; zzAtBOL = true; zzAtEOF = false; } %} Letter = [A-Za-z] LetterOrUnderscore = ({Letter}|"_") NonzeroDigit = [1-9] Digit = ("0"|{NonzeroDigit}) HexDigit = ({Digit}|[A-Fa-f]) OctalDigit = ([0-7]) NonSeparator = ([^\t\f\r\n\ \(\)\{\}\[\]\;\,\.\=\>\<\!\~\?\:\+\-\*\/\&\|\^\%\"\']|"#"|"\\") IdentifierStart = ({LetterOrUnderscore}|"$") IdentifierPart = ({IdentifierStart}|{Digit}) LineTerminator = (\n) WhiteSpace = ([ \t\f]) UnclosedStringLiteral = ([\'][^\']*) StringLiteral = ({UnclosedStringLiteral}[\']) EscapeSequence = ("#"{Digit}*) MLCBegin = "{" MLCEnd = "}" MLC2Begin = "(*" MLC2End = "*)" CompilerDirective1Begin = ({MLCBegin}"$") CompilerDirective2Begin = ({MLC2Begin}"$") LineCommentBegin = "//" IntegerHelper1 = (({NonzeroDigit}{Digit}*)|"0") IntegerHelper2 = ("0"(([xX]{HexDigit}+)|({OctalDigit}*))) IntegerLiteral = ({IntegerHelper1}[lL]?) HexLiteral = ({IntegerHelper2}[lL]?) FloatHelper1 = ([fFdD]?) FloatHelper2 = ([eE][+-]?{Digit}+{FloatHelper1}) FloatLiteral1 = ({Digit}+"."({FloatHelper1}|{FloatHelper2}|{Digit}+({FloatHelper1}|{FloatHelper2}))) FloatLiteral2 = ("."{Digit}+({FloatHelper1}|{FloatHelper2})) FloatLiteral3 = ({Digit}+{FloatHelper2}) FloatLiteral = ({FloatLiteral1}|{FloatLiteral2}|{FloatLiteral3}|({Digit}+[fFdD])) ErrorNumberFormat = (({IntegerLiteral}|{HexLiteral}|{FloatLiteral}){NonSeparator}+) BooleanLiteral = ("true"|"false") Separator = ([\(\)\[\]]) Separator2 = ([\;,.]) Operator = ([\^\@\:\=\<\>\+\-\/\*]) Identifier = ({IdentifierStart}{IdentifierPart}*) ErrorIdentifier = ({NonSeparator}+) URLGenDelim = ([:\/\?#\[\]@]) URLSubDelim = ([\!\$&'\(\)\*\+,;=]) URLUnreserved = ({LetterOrUnderscore}|{Digit}|[\-\.\~]) URLCharacter = ({URLGenDelim}|{URLSubDelim}|{URLUnreserved}|[%]) URLCharacters = ({URLCharacter}*) URLEndCharacter = ([\/\$]|{Letter}|{Digit}) URL = (((https?|f(tp|ile))"://"|"www.")({URLCharacters}{URLEndCharacter})?) %state MLC %state MLC2 %state COMPILER_DIRECTIVE %state COMPILER_DIRECTIVE2 %state EOL_COMMENT %% { /* Keywords */ "array" | "as" | "at" | "asm" | "begin" | "case" | "class" | "const" | "constructor" | "destructor" | "dispinterface" | "div" | "do" | "downto" | "else" | "end" | "except" | "exports" | "file" | "final" | "finalization" | "finally" | "for" | "function" | "goto" | "if" | "implementation" | "in" | "inherited" | "initialization" | "inline" | "interface" | "is" | "label" | "mod" | "not" | "object" | "of" | "on" | "or" | "out" | "packed" | "procedure" | "program" | "property" | "raise" | "record" | "repeat" | "resourcestring" | "set" | "sealed" | "shl" | "shr" | "static" | "string" | "then" | "threadvar" | "to" | "try" | "type" | "unit" | "unsafe" | "until" | "uses" | "var" | "while" | "with" | "xor" { addToken(Token.RESERVED_WORD); } /* Directives. */ "absolute" | "abstract" | "assembler" | "automated" | "cdecl" | "contains" | "default" | "deprecated" | "dispid" | "dynamic" | "export" | "external" | "far" | "forward" | "implements" | "index" | "library" | "local" | "message" | "name" | "namespaces" | "near" | "nil" | "nodefault" | "overload" | "override" | "package" | "pascal" | "platform" | "private" | "protected" | "public" | "published" | "read" | "readonly" | "register" | "reintroduce" | "requires" | "resident" | "safecall" | "self" | "stdcall" | "stored" | "varargs" | "virtual" | "write" | "writeonly" { addToken(Token.FUNCTION); } /* Data types. */ "shortint" | "byte" | "char" | "smallint" | "integer" | "word" | "longint" | "cardinal" | "boolean" | "bytebool" | "wordbool" | "longbool" | "real" | "single" | "double" | "extended" | "comp" | "currency" | "pointer" { addToken(Token.DATA_TYPE); } {BooleanLiteral} { addToken(Token.LITERAL_BOOLEAN); } {LineTerminator} { addNullToken(); return firstToken; } {Identifier} { addToken(Token.IDENTIFIER); } {WhiteSpace}+ { addToken(Token.WHITESPACE); } /* String/Character literals. */ {StringLiteral} { addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); } {UnclosedStringLiteral} { addToken(Token.ERROR_STRING_DOUBLE); addNullToken(); return firstToken; } {EscapeSequence} { addToken(Token.PREPROCESSOR); } /* Comment literals. */ {CompilerDirective1Begin} {start = zzMarkedPos-2; yybegin(COMPILER_DIRECTIVE); } {CompilerDirective2Begin} {start = zzMarkedPos-3; yybegin(COMPILER_DIRECTIVE2); } {MLCBegin} { start = zzMarkedPos-1; yybegin(MLC); } {MLC2Begin} { start = zzMarkedPos-2; yybegin(MLC2); } {LineCommentBegin} { start = zzMarkedPos-2; yybegin(EOL_COMMENT); } {Separator} { addToken(Token.SEPARATOR); } {Separator2} { addToken(Token.IDENTIFIER); } {Operator} { addToken(Token.OPERATOR); } {IntegerLiteral} { addToken(Token.LITERAL_NUMBER_DECIMAL_INT); } {HexLiteral} { addToken(Token.LITERAL_NUMBER_HEXADECIMAL); } {FloatLiteral} { addToken(Token.LITERAL_NUMBER_FLOAT); } {ErrorNumberFormat} { addToken(Token.ERROR_NUMBER_FORMAT); } {ErrorIdentifier} { addToken(Token.ERROR_IDENTIFIER); } /* Ended with a line not in a string or comment. */ <> { addNullToken(); return firstToken; } /* Catch any other (unhandled) characters. */ . { addToken(Token.IDENTIFIER); } } { [^hwf\n\}]+ {} {URL} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_MULTILINE); start = zzMarkedPos; } [hwf] {} \n { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); return firstToken; } {MLCEnd} { yybegin(YYINITIAL); addToken(start,zzStartRead, Token.COMMENT_MULTILINE); } <> { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); return firstToken; } } { [^hwf\n\*]+ {} {URL} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_MULTILINE); start = zzMarkedPos; } [hwf] {} \n { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addEndToken(INTERNAL_MLC2); return firstToken; } {MLC2End} { yybegin(YYINITIAL); addToken(start,zzStartRead+1, Token.COMMENT_MULTILINE); } \* {} <> { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addEndToken(INTERNAL_MLC2); return firstToken; } } { [^\n\}]+ {} \n { addToken(start,zzStartRead-1, Token.PREPROCESSOR); addEndToken(INTERNAL_COMPILER_DIRECTIVE); return firstToken; } {MLCEnd} { yybegin(YYINITIAL); addToken(start,zzStartRead, Token.PREPROCESSOR); } <> { addToken(start,zzStartRead-1, Token.PREPROCESSOR); addEndToken(INTERNAL_COMPILER_DIRECTIVE); return firstToken; } } { [^\n\*]+ {} \n { addToken(start,zzStartRead-1, Token.PREPROCESSOR); addEndToken(INTERNAL_COMPILER_DIRECTIVE2); return firstToken; } {MLC2End} { yybegin(YYINITIAL); addToken(start,zzStartRead+1, Token.PREPROCESSOR); } \* {} <> { addToken(start,zzStartRead-1, Token.PREPROCESSOR); addEndToken(INTERNAL_COMPILER_DIRECTIVE2); return firstToken; } } { [^hwf\n]+ {} {URL} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_EOL); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_EOL); start = zzMarkedPos; } [hwf] {} \n { addToken(start,zzStartRead-1, Token.COMMENT_EOL); addNullToken(); return firstToken; } <> { addToken(start,zzStartRead-1, Token.COMMENT_EOL); addNullToken(); return firstToken; } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/DelphiTokenMaker.java0000644000175000001440000017614112202002502027713 0ustar benusers/* The following code was generated by JFlex 1.4.1 on 8/19/09 10:23 AM */ /* * 7/28/2009 * * DelphiTokenMaker.java - Scanner for the Delphi programming language. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.*; /** * Scanner for the Delphi programming language.

* * 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * 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.
  • *
  • You should NOT call yylex() on the generated scanner * directly; rather, you should use getTokenList as you would * with any other TokenMaker instance.
  • *
* * @author Robert Futrell * @version 0.5 * */ public class DelphiTokenMaker extends AbstractJFlexTokenMaker { /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ public static final int COMPILER_DIRECTIVE = 3; public static final int EOL_COMMENT = 5; public static final int YYINITIAL = 0; public static final int COMPILER_DIRECTIVE2 = 4; public static final int MLC = 1; public static final int MLC2 = 2; /** * Translates characters to character classes */ 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"; /** * Translates characters to character classes */ private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED); /** * Translates DFA states to action switch labels. */ private static final int [] ZZ_ACTION = zzUnpackAction(); private static final String ZZ_ACTION_PACKED_0 = "\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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } return j; } /** * 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\71\0\162\0\253\0\344\0\u011d\0\u0156\0\u018f"+ "\0\u01c8\0\u0201\0\u023a\0\u0273\0\u023a\0\u02ac\0\u02e5\0\u031e"+ "\0\u0357\0\u023a\0\u023a\0\u0390\0\u03c9\0\u0402\0\u043b\0\u0474"+ "\0\u04ad\0\u04e6\0\u051f\0\u0558\0\u0591\0\u0156\0\u05ca\0\u0603"+ "\0\u063c\0\u0675\0\u06ae\0\u06e7\0\u0720\0\u0759\0\u0792\0\u07cb"+ "\0\u0804\0\u083d\0\u0876\0\u023a\0\u023a\0\u08af\0\u08e8\0\u0921"+ "\0\u095a\0\u023a\0\u0993\0\u09cc\0\u023a\0\u023a\0\u0a05\0\u023a"+ "\0\u0a3e\0\u0a77\0\u023a\0\u0ab0\0\u0ae9\0\u0b22\0\u0b5b\0\u0b5b"+ "\0\u0b5b\0\u0b94\0\u0bcd\0\u0c06\0\u0c3f\0\u0c78\0\u023a\0\u023a"+ "\0\u0cb1\0\u023a\0\u0cea\0\u0d23\0\u0d5c\0\u018f\0\u0d95\0\u0dce"+ "\0\u0e07\0\u0e40\0\u0e79\0\u0eb2\0\u0eeb\0\u0f24\0\u0f5d\0\u0f96"+ "\0\u0fcf\0\u1008\0\u1041\0\u107a\0\u10b3\0\u10ec\0\u1125\0\u115e"+ "\0\u1197\0\u11d0\0\u1209\0\u1242\0\u127b\0\u12b4\0\u12ed\0\u1326"+ "\0\u135f\0\u1398\0\u13d1\0\u140a\0\u1443\0\u147c\0\u14b5\0\u14ee"+ "\0\u1527\0\u1560\0\u1599\0\u15d2\0\u160b\0\u1644\0\u167d\0\u16b6"+ "\0\u16ef\0\u1728\0\u1761\0\u179a\0\u17d3\0\u180c\0\u1845\0\u187e"+ "\0\u18b7\0\u18f0\0\u1929\0\u1962\0\u199b\0\u19d4\0\u1a0d\0\u1a46"+ "\0\u1a7f\0\u1ab8\0\u1af1\0\u1b2a\0\u1b63\0\u1b9c\0\u023a\0\u023a"+ "\0\u1bd5\0\u1c0e\0\u1c47\0\u1c80\0\u1cb9\0\u1cf2\0\u0b5b\0\u1d2b"+ "\0\u023a\0\u1d64\0\u1d9d\0\u1dd6\0\u1e0f\0\u1e48\0\u1e81\0\u1eba"+ "\0\u1ef3\0\u1f2c\0\u1f65\0\u1f9e\0\u1fd7\0\u2010\0\u2049\0\u2082"+ "\0\u20bb\0\u20f4\0\u212d\0\u018f\0\u2166\0\u219f\0\u21d8\0\u2211"+ "\0\u224a\0\u2283\0\u22bc\0\u22f5\0\u232e\0\u2367\0\u23a0\0\u23d9"+ "\0\u2412\0\u244b\0\u2484\0\u24bd\0\u24f6\0\u252f\0\u2568\0\u25a1"+ "\0\u25da\0\u2613\0\u264c\0\u2685\0\u26be\0\u26f7\0\u2730\0\u2769"+ "\0\u27a2\0\u27db\0\u2814\0\u284d\0\u2886\0\u28bf\0\u28f8\0\u2931"+ "\0\u296a\0\u29a3\0\u29dc\0\u2a15\0\u2a4e\0\u2a87\0\u2ac0\0\u2af9"+ "\0\u2b32\0\u2b6b\0\u2ba4\0\u2bdd\0\u2c16\0\u2c4f\0\u2c88\0\u2cc1"+ "\0\u2cfa\0\u2d33\0\u2d6c\0\u2da5\0\u2dde\0\u2e17\0\u2e50\0\u2e89"+ "\0\u2ec2\0\u2efb\0\u2f34\0\u2f6d\0\u2fa6\0\u2fdf\0\u3018\0\u3051"+ "\0\u308a\0\u30c3\0\u30fc\0\u3135\0\u018f\0\u316e\0\u018f\0\u31a7"+ "\0\u31e0\0\u3219\0\u3252\0\u328b\0\u32c4\0\u32fd\0\u3336\0\u336f"+ "\0\u33a8\0\u33e1\0\u341a\0\u3453\0\u348c\0\u34c5\0\u34fe\0\u3537"+ "\0\u3570\0\u35a9\0\u35e2\0\u361b\0\u3654\0\u368d\0\u36c6\0\u36ff"+ "\0\u3738\0\u3771\0\u37aa\0\u37e3\0\u381c\0\u3855\0\u388e\0\u38c7"+ "\0\u3900\0\u3939\0\u3972\0\u39ab\0\u39e4\0\u3a1d\0\u3a56\0\u3a8f"+ "\0\u3ac8\0\u3b01\0\u3b3a\0\u3b73\0\u3bac\0\u3be5\0\u3c1e\0\u3c57"+ "\0\u3c90\0\u3cc9\0\u3d02\0\u3d3b\0\u3d74\0\u3dad\0\u3de6\0\u3e1f"+ "\0\u3e58\0\u3e91\0\u3eca\0\u3f03\0\u3f3c\0\u3f75\0\u3fae\0\u3fe7"+ "\0\u4020\0\u4059\0\u4092\0\u40cb\0\u4104\0\u413d\0\u4176\0\u41af"+ "\0\u41e8\0\u4221\0\u425a\0\u4293\0\u42cc\0\u4305\0\u433e\0\u4377"+ "\0\u43b0\0\u43e9\0\u4422\0\u445b\0\u4494\0\u44cd\0\u4506\0\u453f"+ "\0\u4578\0\u45b1\0\u45ea\0\u4623\0\u465c\0\u4695\0\u46ce\0\u4707"+ "\0\u4740\0\u4779\0\u47b2\0\u47eb\0\u4824\0\u485d\0\u4896\0\u48cf"+ "\0\u4908\0\u4941\0\u497a\0\u49b3\0\u49ec\0\u4a25\0\u4a5e\0\u4a97"+ "\0\u4ad0\0\u4b09\0\u3eca\0\u4b42\0\u4b7b\0\u4bb4\0\u4bed\0\u4c26"+ "\0\u4c5f\0\u4c98\0\u4cd1\0\u4d0a\0\u4092\0\u4d43\0\u413d\0\u4d7c"+ "\0\u4db5\0\u4dee\0\u4e27\0\u4e60\0\u4e99\0\u4ed2\0\u4f0b\0\u1fd7"+ "\0\u4f44\0\u4f7d\0\u4fb6\0\u4fef\0\u5028\0\u5061\0\u509a\0\u50d3"+ "\0\u510c\0\u5145\0\u517e\0\u51b7\0\u51f0\0\u5229\0\u5262\0\u529b"+ "\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"; 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 */ int l = packed.length(); while (i < l) { int high = packed.charAt(i++) << 16; result[j++] = high | packed.charAt(i++); } 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"+ "\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"+ "\1\101\1\77\1\100\1\77\2\0\1\77\3\0\13\77"+ "\1\101\1\77\1\106\4\77\71\0\3\7\2\14\1\7"+ "\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\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\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"+ "\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"+ "\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\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"+ "\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"+ "\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"+ "\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"+ "\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"+ "\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"+ "\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"+ "\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"+ "\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"+ "\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"+ "\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"+ "\11\0\4\10\2\0\3\10\1\u0130\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\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"+ "\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"+ "\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"+ "\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"+ "\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"+ "\2\0\6\10\1\u014f\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\u0150\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\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"+ "\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"+ "\2\0\3\10\1\124\1\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\4\10\1\u0160\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\u0161\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\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"+ "\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"+ "\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"+ "\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"+ "\4\10\2\0\10\10\2\0\1\7\3\0\6\10\1\u0184"+ "\13\10\1\7\6\10\1\0\1\7\1\10\11\0\4\10"+ "\2\0\5\10\1\u0185\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"+ "\2\10\1\u0159\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\u0186\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\u0187\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\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"+ "\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"+ "\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"+ "\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"+ "\2\0\1\7\3\0\7\10\1\u019e\12\10\22\0\1\u013b"+ "\70\0\1\u013e\46\0\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\u019f\5\10\1\7\6\10\1\0\1\7\1\10\11\0"+ "\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"+ "\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"+ "\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"+ "\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"+ "\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"+ "\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"+ "\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"; 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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); value--; do result[j++] = value; while (--count > 0); } return j; } /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; private static final int ZZ_PUSHBACK_2BIG = 2; /* error messages for the codes above */ private static final String ZZ_ERROR_MSG[] = { "Unkown internal scanner error", "Error: could not match input", "Error: pushback value was too large" }; /** * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute(); private static final String ZZ_ATTRIBUTE_PACKED_0 = "\6\0\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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } return j; } /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ private int zzState; /** the current lexical state */ private int zzLexicalState = YYINITIAL; /** this buffer contains the current text to be matched and is the source of the yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ private int zzMarkedPos; /** the current text position in the buffer */ private int zzCurrentPos; /** startRead marks the beginning of the yytext() string in the buffer */ private int zzStartRead; /** endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** 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. */ public static final int INTERNAL_MLC2 = -1; /** * 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. */ public static final int INTERNAL_COMPILER_DIRECTIVE2 = -3; /** * Constructor. This must be here because JFlex does not generate a * no-parameter constructor. */ public DelphiTokenMaker() { } /** * 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. */ 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. * @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. */ 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. * @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. */ @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 the text to place at the beginning and end of a * line to "comment" it in a this programming language. * * @return The start and end strings to add to a line to "comment" * it out. */ @Override public String[] getLineCommentStartAndEnd() { 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. * * @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) { resetTokenList(); this.offsetShift = -text.offset + startOffset; // 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; } s = text; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); return new TokenImpl(); } } /** * Refills the input buffer. * * @return true if EOF was reached, otherwise * false. * @exception IOException if any I/O-Error occurs. */ private boolean zzRefill() throws java.io.IOException { return zzCurrentPos>=s.offset+s.count; } /** * 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 */ public final void yyreset(java.io.Reader reader) throws java.io.IOException { // '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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = s.offset; zzLexicalState = YYINITIAL; 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. */ public DelphiTokenMaker(java.io.Reader in) { this.zzReader = in; } /** * Creates a new scanner. * There is also java.io.Reader version of this constructor. * * @param in the java.io.Inputstream to read input from. */ public DelphiTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } /** * Unpacks the compressed character translation table. * * @param packed the packed character translation table * @return the unpacked character translation table */ private static char [] zzUnpackCMap(String packed) { char [] map = new char[0x10000]; int i = 0; /* index in packed string */ int j = 0; /* index in unpacked array */ while (i < 158) { int count = packed.charAt(i++); char value = packed.charAt(i++); do map[j++] = value; while (--count > 0); } return map; } /** * Closes the input stream. */ public final void yyclose() throws java.io.IOException { zzAtEOF = true; /* indicate end of file */ zzEndRead = zzStartRead; /* invalidate buffer */ if (zzReader != null) zzReader.close(); } /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } /** * Enters a 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 yylength()-1. * * @return the character at position pos */ public final char yycharat(int pos) { return zzBuffer[zzStartRead+pos]; } /** * Returns the length of the matched text region. */ public final int yylength() { return zzMarkedPos-zzStartRead; } /** * Reports an error that occured while scanning. * * In a wellformed scanner (no or only correct usage of * yypushback(int) and a match-all fallback rule) this method * will only be called with things that "Can't Possibly Happen". * If this method is called, something is seriously wrong * (e.g. a JFlex bug producing a faulty scanner etc.). * * Usual syntax/scanner level error handling should be done * in error fallback rules. * * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; try { message = ZZ_ERROR_MSG[errorCode]; } catch (ArrayIndexOutOfBoundsException e) { message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR]; } throw new Error(message); } /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * * @param number the number of characters to be read again. * This number must not be greater than yylength()! */ public void yypushback(int number) { if ( number > yylength() ) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } /** * Resumes scanning until the next regular expression is matched, * the end of input is encountered or an I/O-Error occurs. * * @return the next token * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; int zzAction; // cached fields: int zzCurrentPosL; int zzMarkedPosL; int zzEndReadL = zzEndRead; char [] zzBufferL = zzBuffer; char [] zzCMapL = ZZ_CMAP; int [] zzTransL = ZZ_TRANS; int [] zzRowMapL = ZZ_ROWMAP; int [] zzAttrL = ZZ_ATTRIBUTE; while (true) { zzMarkedPosL = zzMarkedPos; zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; else if (zzAtEOF) { zzInput = YYEOF; break zzForAction; } else { // store back cached positions zzCurrentPos = zzCurrentPosL; zzMarkedPos = zzMarkedPosL; boolean eof = zzRefill(); // get translated positions and possibly new buffer zzCurrentPosL = zzCurrentPos; zzMarkedPosL = zzMarkedPos; zzBufferL = zzBuffer; zzEndReadL = zzEndRead; if (eof) { zzInput = YYEOF; break zzForAction; } else { zzInput = zzBufferL[zzCurrentPosL++]; } } int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ]; if (zzNext == -1) break zzForAction; zzState = zzNext; int zzAttributes = zzAttrL[zzState]; if ( (zzAttributes & 1) == 1 ) { zzAction = zzState; zzMarkedPosL = zzCurrentPosL; if ( (zzAttributes & 8) == 8 ) break zzForAction; } } } // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { case 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); } } } } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/GroovyTokenMaker.flex0000644000175000001440000006255312202237654030033 0ustar benusers/* * 09/28/2007 * * GroovyTokenMaker.java - Scanner for the Groovy programming language. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.*; /** * Scanner for the Groovy programming language.

* * 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * 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.
  • *
  • You should NOT call yylex() on the generated scanner * directly; rather, you should use getTokenList as you would * with any other TokenMaker instance.
  • *
* * @author Robert Futrell * @version 0.5 * */ %% %public %class GroovyTokenMaker %extends AbstractJFlexCTokenMaker %unicode %type org.fife.ui.rsyntaxtextarea.Token %{ /** * Constructor. This must be here because JFlex does not generate a * no-parameter constructor. */ public GroovyTokenMaker() { } /** * Adds the token specified to the current linked list of tokens. * * @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. */ 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. */ 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. */ @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 text to place at the beginning and end of a * line to "comment" it in a this programming language. * * @return The start and end strings to add to a line to "comment" * it out. */ @Override public String[] getLineCommentStartAndEnd() { 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. * * @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) { resetTokenList(); this.offsetShift = -text.offset + startOffset; // 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; } s = text; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); return new TokenImpl(); } } /** * Returns whether a regular expression token can follow the specified * token. * * @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=='[' )) || /* 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. */ 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. * * 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 */ 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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = zzPushbackPos = s.offset; zzLexicalState = YYINITIAL; zzReader = reader; zzAtBOL = true; zzAtEOF = false; } %} Letter = [A-Za-z] LetterOrUnderscore = ({Letter}|"_") NonzeroDigit = [1-9] BinaryDigit = ([0-1]) Digit = ("0"|{NonzeroDigit}) HexDigit = ({Digit}|[A-Fa-f]) OctalDigit = ([0-7]) AnyCharacterButApostropheOrBackSlash = ([^\\']) EscapedSourceCharacter = ("u"{HexDigit}{HexDigit}{HexDigit}{HexDigit}) Escape = ("\\"(([btnfr\"'\\])|([0123]{OctalDigit}?{OctalDigit}?)|({OctalDigit}{OctalDigit}?)|{EscapedSourceCharacter})) NonSeparator = ([^\t\f\r\n\ \(\)\{\}\[\]\;\,\.\=\>\<\!\~\?\:\+\-\*\/\&\|\^\%\"\']|"#"|"\\") IdentifierStart = ({LetterOrUnderscore}|"$") IdentifierPart = ({IdentifierStart}|{Digit}|("\\"{EscapedSourceCharacter})) LineTerminator = (\n) WhiteSpace = ([ \t\f]) CharLiteral = ([\']({AnyCharacterButApostropheOrBackSlash}|{Escape})*[\']) UnclosedCharLiteral = ([\'][^\'\n]*) ErrorCharLiteral = ({UnclosedCharLiteral}[\']) MLCBegin = "/*" MLCEnd = "*/" DocCommentBegin = "/**" LineCommentBegin = "//" DigitOrUnderscore = ({Digit}|[_]) DigitsAndUnderscoresEnd = ({DigitOrUnderscore}*{Digit}) IntegerHelper = (({NonzeroDigit}{DigitsAndUnderscoresEnd}?)|"0") IntegerLiteral = ({IntegerHelper}[lL]?) BinaryDigitOrUnderscore = ({BinaryDigit}|[_]) BinaryDigitsAndUnderscores = ({BinaryDigit}({BinaryDigitOrUnderscore}*{BinaryDigit})?) BinaryLiteral = ("0"[bB]{BinaryDigitsAndUnderscores}) HexDigitOrUnderscore = ({HexDigit}|[_]) HexDigitsAndUnderscores = ({HexDigit}({HexDigitOrUnderscore}*{HexDigit})?) OctalDigitOrUnderscore = ({OctalDigit}|[_]) OctalDigitsAndUnderscoresEnd= ({OctalDigitOrUnderscore}*{OctalDigit}) HexHelper = ("0"(([xX]{HexDigitsAndUnderscores})|({OctalDigitsAndUnderscoresEnd}))) HexLiteral = ({HexHelper}[lL]?) FloatHelper1 = ([fFdD]?) FloatHelper2 = ([eE][+-]?{Digit}+{FloatHelper1}) FloatLiteral1 = ({Digit}+"."({FloatHelper1}|{FloatHelper2}|{Digit}+({FloatHelper1}|{FloatHelper2}))) FloatLiteral2 = ("."{Digit}+({FloatHelper1}|{FloatHelper2})) FloatLiteral3 = ({Digit}+{FloatHelper2}) FloatLiteral = ({FloatLiteral1}|{FloatLiteral2}|{FloatLiteral3}|({Digit}+[fFdD])) ErrorNumberFormat = (({IntegerLiteral}|{HexLiteral}|{FloatLiteral}){NonSeparator}+) BooleanLiteral = ("true"|"false") Regex = ([~]?"/"([^\*\\/]|\\.)([^/\\]|\\.)*"/") Separator = ([\(\)\{\}\[\]]) Separator2 = ([\;,.]) NonAssignmentOperator = ("+"|"-"|"<="|"^"|"++"|"<"|"*"|">="|"%"|"--"|">"|"/"|"!="|"?"|">>"|"!"|"&"|"=="|":"|">>"|"~"|"|"|"&&"|">>>") AssignmentOperator = ("="|"-="|"*="|"/="|"|="|"&="|"^="|"+="|"%="|"<<="|">>="|">>>=") GroovyOperator = ("=~") Operator = ({NonAssignmentOperator}|{AssignmentOperator}|{GroovyOperator}) CurrentBlockTag = ("author"|"deprecated"|"exception"|"param"|"return"|"see"|"serial"|"serialData"|"serialField"|"since"|"throws"|"version") ProposedBlockTag = ("category"|"example"|"tutorial"|"index"|"exclude"|"todo"|"internal"|"obsolete"|"threadsafety") BlockTag = ({CurrentBlockTag}|{ProposedBlockTag}) InlineTag = ("code"|"docRoot"|"inheritDoc"|"link"|"linkplain"|"literal"|"value") Identifier = ({IdentifierStart}{IdentifierPart}*) ErrorIdentifier = ({NonSeparator}+) // Variables in strings VariableStart = ([\$]) BracedVariable = ({VariableStart}\{[^\}]+\}) UnbracedVariable = ({VariableStart}{Identifier}) Variable = ({BracedVariable}|{UnbracedVariable}) Annotation = ("@"{Identifier}?) URLGenDelim = ([:\/\?#\[\]@]) URLSubDelim = ([\!\$&'\(\)\*\+,;=]) URLUnreserved = ({LetterOrUnderscore}|{Digit}|[\-\.\~]) URLCharacter = ({URLGenDelim}|{URLSubDelim}|{URLUnreserved}|[%]) URLCharacters = ({URLCharacter}*) URLEndCharacter = ([\/\$]|{Letter}|{Digit}) URL = (((https?|f(tp|ile))"://"|"www.")({URLCharacters}{URLEndCharacter})?) %state MLC %state DOCCOMMENT %state MULTILINE_STRING_DOUBLE %state MULTILINE_STRING_SINGLE %state STRING_DOUBLE %% { /* Keywords */ "abstract" | "break" | "case" | "catch" | "class" | "continue" | "default" | "do" | "else" | "enum" | "extends" | "final" | "finally" | "for" | "if" | "it" | "implements" | "import" | "instanceof" | "interface" | "native" | "new" | "null" | "package" | "private" | "protected" | "public" | "static" | "strictfp" | "super" | "switch" | "synchronized" | "this" | "throw" | "throws" | "transient" | "try" | "void" | "volatile" | "while" { addToken(Token.RESERVED_WORD); } "return" { addToken(Token.RESERVED_WORD_2); } /* Groovy keywords */ "as" | "assert" | "def" | "mixin" | "property" | "test" | "using" | "in" { addToken(Token.RESERVED_WORD); } /* Data types. */ "boolean" | "byte" | "char" | "double" | "float" | "int" | "long" | "short" { addToken(Token.DATA_TYPE); } /* Booleans. */ {BooleanLiteral} { addToken(Token.LITERAL_BOOLEAN); } /* java.lang classes */ "Appendable" | "AutoCloseable" | "CharSequence" | "Cloneable" | "Comparable" | "Iterable" | "Readable" | "Runnable" | "Thread.UncaughtExceptionHandler" | "Boolean" | "Byte" | "Character" | "Character.Subset" | "Character.UnicodeBlock" | "Class" | "ClassLoader" | "Compiler" | "Double" | "Enum" | "Float" | "InheritableThreadLocal" | "Integer" | "Long" | "Math" | "Number" | "Object" | "Package" | "Process" | "ProcessBuilder" | "ProcessBuilder.Redirect" | "Runtime" | "RuntimePermission" | "SecurityManager" | "Short" | "StackTraceElement" | "StrictMath" | "String" | "StringBuffer" | "StringBuilder" | "System" | "Thread" | "ThreadGroup" | "ThreadLocal" | "Throwable" | "Void" | "Character.UnicodeScript" | "ProcessBuilder.Redirect.Type" | "Thread.State" | "ArithmeticException" | "ArrayIndexOutOfBoundsException" | "ArrayStoreException" | "ClassCastException" | "ClassNotFoundException" | "CloneNotSupportedException" | "EnumConstantNotPresentException" | "Exception" | "IllegalAccessException" | "IllegalArgumentException" | "IllegalMonitorStateException" | "IllegalStateException" | "IllegalThreadStateException" | "IndexOutOfBoundsException" | "InstantiationException" | "InterruptedException" | "NegativeArraySizeException" | "NoSuchFieldException" | "NoSuchMethodException" | "NullPointerException" | "NumberFormatException" | "RuntimeException" | "SecurityException" | "StringIndexOutOfBoundsException" | "TypeNotPresentException" | "UnsupportedOperationException" | "AbstractMethodError" | "AssertionError" | "ClassCircularityError" | "ClassFormatError" | "Error" | "ExceptionInInitializerError" | "IllegalAccessError" | "IncompatibleClassChangeError" | "InstantiationError" | "InternalError" | "LinkageError" | "NoClassDefFoundError" | "NoSuchFieldError" | "NoSuchMethodError" | "OutOfMemoryError" | "StackOverflowError" | "ThreadDeath" | "UnknownError" | "UnsatisfiedLinkError" | "UnsupportedClassVersionError" | "VerifyError" | "VirtualMachineError" | /* java.io classes*/ "Closeable" | "DataInput" | "DataOutput" | "Externalizable" | "FileFilter" | "FilenameFilter" | "Flushable" | "ObjectInput" | "ObjectInputValidation" | "ObjectOutput" | "ObjectStreamConstants" | "Serializable" | "BufferedInputStream" | "BufferedOutputStream" | "BufferedReader" | "BufferedWriter" | "ByteArrayInputStream" | "ByteArrayOutputStream" | "CharArrayReader" | "CharArrayWriter" | "Console" | "DataInputStream" | "DataOutputStream" | "File" | "FileDescriptor" | "FileInputStream" | "FileOutputStream" | "FilePermission" | "FileReader" | "FileWriter" | "FilterInputStream" | "FilterOutputStream" | "FilterReader" | "FilterWriter" | "InputStream" | "InputStreamReader" | "LineNumberInputStream" | "LineNumberReader" | "ObjectInputStream" | "ObjectInputStream.GetField" | "ObjectOutputStream" | "ObjectOutputStream.PutField" | "ObjectStreamClass" | "ObjectStreamField" | "OutputStream" | "OutputStreamWriter" | "PipedInputStream" | "PipedOutputStream" | "PipedReader" | "PipedWriter" | "PrintStream" | "PrintWriter" | "PushbackInputStream" | "PushbackReader" | "RandomAccessFile" | "Reader" | "SequenceInputStream" | "SerializablePermission" | "StreamTokenizer" | "StringBufferInputStream" | "StringReader" | "StringWriter" | "Writer" | "CharConversionException" | "EOFException" | "FileNotFoundException" | "InterruptedIOException" | "InvalidClassException" | "InvalidObjectException" | "IOException" | "NotActiveException" | "NotSerializableException" | "ObjectStreamException" | "OptionalDataException" | "StreamCorruptedException" | "SyncFailedException" | "UnsupportedEncodingException" | "UTFDataFormatException" | "WriteAbortedException" | "IOError" | /* java.util classes */ "Collection" | "Comparator" | "Deque" | "Enumeration" | "EventListener" | "Formattable" | "Iterator" | "List" | "ListIterator" | "Map" | "Map.Entry" | "NavigableMap" | "NavigableSet" | "Observer" | "Queue" | "RandomAccess" | "Set" | "SortedMap" | "SortedSet" | "AbstractCollection" | "AbstractList" | "AbstractMap" | "AbstractMap.SimpleEntry" | "AbstractMap.SimpleImmutableEntry" | "AbstractQueue" | "AbstractSequentialList" | "AbstractSet" | "ArrayDeque" | "ArrayList" | "Arrays" | "BitSet" | "Calendar" | "Collections" | "Currency" | "Date" | "Dictionary" | "EnumMap" | "EnumSet" | "EventListenerProxy" | "EventObject" | "FormattableFlags" | "Formatter" | "GregorianCalendar" | "HashMap" | "HashSet" | "Hashtable" | "IdentityHashMap" | "LinkedHashMap" | "LinkedHashSet" | "LinkedList" | "ListResourceBundle" | "Locale" | "Locale.Builder" | "Objects" | "Observable" | "PriorityQueue" | "Properties" | "PropertyPermission" | "PropertyResourceBundle" | "Random" | "ResourceBundle" | "ResourceBundle.Control" | "Scanner" | "ServiceLoader" | "SimpleTimeZone" | "Stack" | "StringTokenizer" | "Timer" | "TimerTask" | "TimeZone" | "TreeMap" | "TreeSet" | "UUID" | "Vector" | "WeakHashMap" | "Formatter.BigDecimalLayoutForm" | "Locale.Category" | "ConcurrentModificationException" | "DuplicateFormatFlagsException" | "EmptyStackException" | "FormatFlagsConversionMismatchException" | "FormatterClosedException" | "IllegalFormatCodePointException" | "IllegalFormatConversionException" | "IllegalFormatException" | "IllegalFormatFlagsException" | "IllegalFormatPrecisionException" | "IllegalFormatWidthException" | "IllformedLocaleException" | "InputMismatchException" | "InvalidPropertiesFormatException" | "MissingFormatArgumentException" | "MissingFormatWidthException" | "MissingResourceException" | "NoSuchElementException" | "TooManyListenersException" | "UnknownFormatConversionException" | "UnknownFormatFlagsException" | "ServiceConfigurationError" { addToken(Token.FUNCTION); } /* Commonly used methods added to Object class */ "addShutdownHook" | "any" | "asBoolean" | "asType" | "collect" | "dump" | "each" | "eachWithIndex" | "every" | "find" | "findAll" | "findIndexOf" | "findIndexValues" | "findLastIndexOf" | "getAt" | "getMetaClass" | "getMetaPropertyValues" | "getProperties" | "grep" | "hasProperty" | "identity" | "inject" | "inspect" | "invokeMethod" | "is" | "isCase" | "iterator" | "metaClass" | "print" | "printf" | "println" | "putAt" | "respondsTo" | "setMetaClass" | "sleep" | "split" | "sprintf" | "toString" | "use" | "with" { addToken(Token.FUNCTION); } {LineTerminator} { addNullToken(); return firstToken; } {Identifier} { addToken(Token.IDENTIFIER); } {WhiteSpace}+ { addToken(Token.WHITESPACE); } /* Multiline string literals. */ \"\"\" { start = zzMarkedPos-3; yybegin(MULTILINE_STRING_DOUBLE); } \'\'\' { start = zzMarkedPos-3; yybegin(MULTILINE_STRING_SINGLE); } /* String/Character literals. */ {CharLiteral} { addToken(Token.LITERAL_CHAR); } {UnclosedCharLiteral} { addToken(Token.ERROR_CHAR); addNullToken(); return firstToken; } {ErrorCharLiteral} { addToken(Token.ERROR_CHAR); } \" { start = zzMarkedPos-1; yybegin(STRING_DOUBLE); } /* Comment literals. */ "/**/" { addToken(Token.COMMENT_MULTILINE); } {MLCBegin} { start = zzMarkedPos-2; yybegin(MLC); } {DocCommentBegin} { start = zzMarkedPos-3; yybegin(DOCCOMMENT); } {LineCommentBegin}.* { addToken(Token.COMMENT_EOL); addNullToken(); return firstToken; } /* Regular expressions. */ {Regex} { 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; } } // 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; } } /* Annotations. */ {Annotation} { addToken(Token.ANNOTATION); } /* Separators. */ {Separator} { addToken(Token.SEPARATOR); } {Separator2} { addToken(Token.IDENTIFIER); } /* Operators. */ {Operator} { addToken(Token.OPERATOR); } /* Numbers */ {IntegerLiteral} { addToken(Token.LITERAL_NUMBER_DECIMAL_INT); } {BinaryLiteral} { addToken(Token.LITERAL_NUMBER_DECIMAL_INT); } {HexLiteral} { addToken(Token.LITERAL_NUMBER_HEXADECIMAL); } {FloatLiteral} { addToken(Token.LITERAL_NUMBER_FLOAT); } {ErrorNumberFormat} { addToken(Token.ERROR_NUMBER_FORMAT); } {ErrorIdentifier} { addToken(Token.ERROR_IDENTIFIER); } /* Ended with a line not in a string or comment. */ <> { addNullToken(); return firstToken; } /* Catch any other (unhandled) characters and flag them as bad. */ . { addToken(Token.ERROR_IDENTIFIER); } } { [^hwf\n\*]+ {} {URL} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_MULTILINE); start = zzMarkedPos; } [hwf] {} \n { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); return firstToken; } {MLCEnd} { yybegin(YYINITIAL); addToken(start,zzStartRead+1, Token.COMMENT_MULTILINE); } \* {} <> { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); return firstToken; } } { [^hwf\@\{\n\<\*]+ {} {URL} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_DOCUMENTATION); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_DOCUMENTATION); start = zzMarkedPos; } [hwf] {} "@"{BlockTag} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_DOCUMENTATION); addToken(temp,zzMarkedPos-1, Token.VARIABLE); start = zzMarkedPos; } "@" {} "{@"{InlineTag}[^\}]*"}" { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_DOCUMENTATION); addToken(temp,zzMarkedPos-1, Token.VARIABLE); start = zzMarkedPos; } "{" {} \n { addToken(start,zzStartRead-1, Token.COMMENT_DOCUMENTATION); return firstToken; } "<"[/]?({Letter}[^\>]*)?">" { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_DOCUMENTATION); addToken(temp,zzMarkedPos-1, Token.PREPROCESSOR); start = zzMarkedPos; } \< {} {MLCEnd} { yybegin(YYINITIAL); addToken(start,zzStartRead+1, Token.COMMENT_DOCUMENTATION); } \* {} <> { yybegin(YYINITIAL); addToken(start,zzEndRead, Token.COMMENT_DOCUMENTATION); return firstToken; } } { [^\"\\\$\n]* {} \\.? { /* Skip escaped chars, handles case: '\"""'. */ } \"\"\" { yybegin(YYINITIAL); addToken(start,zzStartRead+2, Token.LITERAL_STRING_DOUBLE_QUOTE); } {Variable} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.LITERAL_STRING_DOUBLE_QUOTE); addToken(temp,zzMarkedPos-1, Token.VARIABLE); start = zzMarkedPos; } {VariableStart} {} \" {} \n | <> { addToken(start,zzStartRead-1, Token.LITERAL_STRING_DOUBLE_QUOTE); return firstToken; } } { [^\'\\\n]* {} \\.? { /* Skip escaped chars, handles case: "\'''". */ } \'\'\' { yybegin(YYINITIAL); addToken(start,zzStartRead+2, Token.LITERAL_CHAR); } \' {} \n | <> { addToken(start,zzStartRead-1, Token.LITERAL_CHAR); return firstToken; } } { [^\n\\\$\"]+ {} \n { addToken(start,zzStartRead-1, Token.ERROR_STRING_DOUBLE); addNullToken(); return firstToken; } \\.? { /* Skip escaped chars. */ } {Variable} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.LITERAL_STRING_DOUBLE_QUOTE); addToken(temp,zzMarkedPos-1, Token.VARIABLE); start = zzMarkedPos; } {VariableStart} {} \" { yybegin(YYINITIAL); addToken(start,zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); } <> { addToken(start,zzStartRead-1, Token.ERROR_STRING_DOUBLE); return firstToken; } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/GroovyTokenMaker.java0000644000175000001440000073661312202002502030001 0ustar benusers/* The following code was generated by JFlex 1.4.1 on 11/11/12 7:19 PM */ /* * 09/28/2007 * * GroovyTokenMaker.java - Scanner for the Groovy programming language. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.*; /** * Scanner for the Groovy programming language.

* * 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * 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.
  • *
  • You should NOT call yylex() on the generated scanner * directly; rather, you should use getTokenList as you would * with any other TokenMaker instance.
  • *
* * @author Robert Futrell * @version 0.5 * */ public class GroovyTokenMaker extends AbstractJFlexCTokenMaker { /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ public static final int MULTILINE_STRING_DOUBLE = 3; public static final int DOCCOMMENT = 2; public static final int YYINITIAL = 0; public static final int MLC = 1; public static final int STRING_DOUBLE = 5; public static final int MULTILINE_STRING_SINGLE = 4; /** * Translates characters to character classes */ 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\4\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\116\1\110\1\105\2\1\1\25\1\111\1\112\1\113\1\115\1\121"+ "\1\74\1\103\1\106\1\107\1\117\1\120\1\30\1\1\1\122\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\114\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 */ private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED); /** * Translates DFA states to action switch labels. */ private static final int [] ZZ_ACTION = zzUnpackAction(); private static final String ZZ_ACTION_PACKED_0 = "\3\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\7\1\1\16\2\1"+ "\1\17\2\1\1\20\1\21\1\22\1\23\1\24\1\2"+ "\2\25\1\26\1\4\1\25\1\26\2\25\1\27\2\25"+ "\5\3\1\5\1\30\1\5\1\0\1\3\1\0\7\3"+ "\2\0\1\31\1\32\1\11\36\3\1\33\12\3\2\0"+ "\1\11\3\3\1\33\7\3\3\33\1\34\21\3\1\13"+ "\56\3\2\0\1\35\4\0\1\36\2\0\1\37\16\0"+ "\1\16\1\0\1\40\2\0\1\20\1\22\1\2\1\4"+ "\1\26\1\0\2\27\1\4\1\27\10\3\1\30\1\41"+ "\1\5\1\42\1\5\1\0\1\34\1\3\1\43\5\3"+ "\1\44\1\45\64\3\1\33\13\3\1\46\27\3\1\2"+ "\46\3\1\34\30\3\33\0\1\47\2\0\1\50\1\2"+ "\2\25\12\3\1\42\1\5\1\0\4\3\1\34\1\51"+ "\3\3\1\34\3\3\1\34\2\3\1\46\4\3\2\34"+ "\6\3\1\52\5\3\1\34\53\3\1\2\51\3\1\0"+ "\32\3\2\0\1\53\2\0\1\54\15\0\1\55\11\0"+ "\1\40\1\2\2\3\1\34\10\3\1\5\1\0\1\33"+ "\40\3\1\33\17\3\1\34\22\3\1\2\11\3\1\34"+ "\27\3\1\34\6\3\1\0\32\3\34\0\1\2\14\3"+ "\1\5\1\0\4\3\1\34\33\3\1\56\31\3\1\34"+ "\1\2\11\3\1\34\26\3\1\34\10\3\1\0\2\3"+ "\1\34\10\3\1\34\13\3\23\0\12\3\1\0\2\3"+ "\1\0\46\3\1\34\2\3\1\2\40\3\1\0\11\3"+ "\1\0\23\3\1\34\7\3\5\0\1\55\4\0\14\3"+ "\2\0\101\3\2\0\7\3\1\0\33\3\11\0\4\3"+ "\1\34\6\3\2\0\5\3\1\34\10\3\1\34\11\3"+ "\1\34\45\3\2\0\6\3\1\34\25\3\5\0\4\3"+ "\1\0\2\3\1\34\2\3\2\0\3\3\1\0\55\3"+ "\2\0\27\3\5\0\3\3\2\0\3\3\2\0\3\3"+ "\1\0\1\34\14\3\1\34\14\3\1\34\12\3\2\0"+ "\14\3\1\34\4\3\2\0\2\3\2\0\3\3\2\0"+ "\3\3\1\0\10\3\1\34\3\3\1\0\1\3\1\34"+ "\2\3\1\34\16\3\1\0\13\3\1\34\3\3\1\34"+ "\4\3\2\0\2\3\1\0\2\3\1\0\2\3\1\34"+ "\10\3\1\0\12\3\1\0\21\3\2\0\3\3\1\0"+ "\5\3\1\34\1\3\1\0\12\3\1\0\14\3\1\34"+ "\2\0\3\3\1\0\4\3\1\0\1\3\1\0\11\3"+ "\1\0\11\3\2\0\2\3\1\0\2\3\1\0\1\3"+ "\1\0\7\3\1\0\6\3\2\0\1\3\1\0\1\3"+ "\1\0\1\3\1\0\4\3\1\0\3\3\1\34\1\3"+ "\3\0\1\3\1\0\1\3\1\0\1\3\1\0\2\3"+ "\1\0\3\3\1\0\1\34\3\0\1\3\1\0\1\3"+ "\2\0\2\3\1\0\2\3\5\0\1\3\1\0\1\3"+ "\2\0\1\3\6\0\1\3\1\0\1\3\16\0\1\34"+ "\23\0"; private static int [] zzUnpackAction() { int [] result = new int[1876]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } private static int zzUnpackAction(String packed, int offset, int [] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } 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\123\0\246\0\371\0\u014c\0\u019f\0\u01f2\0\u0245"+ "\0\u0298\0\u02eb\0\u033e\0\u0391\0\u03e4\0\u0437\0\u048a\0\u04dd"+ "\0\u0530\0\u0530\0\u0583\0\u05d6\0\u0629\0\u067c\0\u06cf\0\u0722"+ "\0\u0775\0\u07c8\0\u081b\0\u086e\0\u08c1\0\u0914\0\u0967\0\u09ba"+ "\0\u0a0d\0\u0a60\0\u0ab3\0\u0530\0\u0530\0\u0b06\0\u0b59\0\u0bac"+ "\0\u0bff\0\u0530\0\u0c52\0\u0ca5\0\u0cf8\0\u0d4b\0\u0d9e\0\u0df1"+ "\0\u0e44\0\u0e97\0\u0eea\0\u0f3d\0\u0f90\0\u0fe3\0\u1036\0\u1089"+ "\0\u10dc\0\u112f\0\u1182\0\u11d5\0\u1228\0\u127b\0\u12ce\0\u1321"+ "\0\u1374\0\u13c7\0\u141a\0\u146d\0\u14c0\0\u1513\0\u1566\0\u0530"+ "\0\u15b9\0\u160c\0\u165f\0\u16b2\0\u1705\0\u0530\0\u1758\0\u17ab"+ "\0\u17fe\0\u1851\0\u18a4\0\u18f7\0\u194a\0\u199d\0\u19f0\0\u1a43"+ "\0\u0530\0\u1a96\0\u1ae9\0\u1b3c\0\u0530\0\u1b8f\0\u0530\0\u0530"+ "\0\u1be2\0\u1c35\0\u1c88\0\u1c35\0\u1c35\0\u1cdb\0\u1d2e\0\u1d81"+ "\0\u1dd4\0\u1e27\0\u1e7a\0\u1ecd\0\u1f20\0\u1f73\0\u1fc6\0\u2019"+ "\0\u206c\0\u20bf\0\u2112\0\u2165\0\u21b8\0\u220b\0\u225e\0\u22b1"+ "\0\u2304\0\u2357\0\u23aa\0\u23fd\0\u2450\0\u24a3\0\u24f6\0\u2549"+ "\0\u259c\0\u25ef\0\u24f6\0\u2642\0\u2695\0\u26e8\0\u273b\0\u278e"+ "\0\u27e1\0\u2834\0\u2887\0\u28da\0\u292d\0\u2980\0\u29d3\0\u2a26"+ "\0\u2a79\0\u2acc\0\u2b1f\0\u2b72\0\u2bc5\0\u2c18\0\u2c6b\0\u2cbe"+ "\0\u2d11\0\u2d64\0\u2db7\0\u2e0a\0\u2e5d\0\u2eb0\0\u2f03\0\u2f56"+ "\0\u2fa9\0\u2ffc\0\u304f\0\u30a2\0\u30f5\0\u3148\0\u319b\0\u31ee"+ "\0\u3241\0\u3294\0\u32e7\0\u333a\0\u338d\0\u0629\0\u33e0\0\u3433"+ "\0\u3486\0\u34d9\0\u352c\0\u357f\0\u35d2\0\u3625\0\u3678\0\u36cb"+ "\0\u371e\0\u3771\0\u37c4\0\u0245\0\u3817\0\u386a\0\u38bd\0\u3910"+ "\0\u3963\0\u39b6\0\u3a09\0\u3a5c\0\u3aaf\0\u3b02\0\u3b55\0\u3ba8"+ "\0\u3bfb\0\u3c4e\0\u3ca1\0\u3cf4\0\u3d47\0\u3d9a\0\u3ded\0\u3e40"+ "\0\u3e93\0\u3ee6\0\u3f39\0\u3f8c\0\u3fdf\0\u4032\0\u4085\0\u40d8"+ "\0\u412b\0\u417e\0\u41d1\0\u4224\0\u4277\0\u42ca\0\u431d\0\u4370"+ "\0\u43c3\0\u4416\0\u4469\0\u44bc\0\u450f\0\u4562\0\u45b5\0\u4608"+ "\0\u465b\0\u46ae\0\u4701\0\u4754\0\u47a7\0\u47fa\0\u484d\0\u48a0"+ "\0\u48f3\0\u4946\0\u4999\0\u49ec\0\u4a3f\0\u4a92\0\u4ae5\0\u4b38"+ "\0\u4b8b\0\u4bde\0\u4c31\0\u4c84\0\u4cd7\0\u4d2a\0\u4d7d\0\u4dd0"+ "\0\u0530\0\u4e23\0\u4e76\0\u4ec9\0\u4f1c\0\u0530\0\u4f6f\0\u4fc2"+ "\0\u0530\0\u5015\0\u5068\0\u50bb\0\u510e\0\u5161\0\u51b4\0\u5207"+ "\0\u525a\0\u52ad\0\u5300\0\u5353\0\u53a6\0\u53f9\0\u544c\0\u0530"+ "\0\u549f\0\u54f2\0\u5545\0\u5598\0\u0530\0\u0530\0\u55eb\0\u563e"+ "\0\u5691\0\u56e4\0\u5737\0\u1c35\0\u578a\0\u57dd\0\u5830\0\u5883"+ "\0\u58d6\0\u5929\0\u597c\0\u59cf\0\u5a22\0\u5a75\0\u0530\0\u0530"+ "\0\u5ac8\0\u21b8\0\u5b1b\0\u5b6e\0\u0245\0\u5bc1\0\u0530\0\u5c14"+ "\0\u5c67\0\u5cba\0\u5d0d\0\u5d60\0\u0530\0\u5db3\0\u5e06\0\u5e59"+ "\0\u5eac\0\u5eff\0\u5f52\0\u5fa5\0\u5ff8\0\u604b\0\u609e\0\u60f1"+ "\0\u6144\0\u6197\0\u61ea\0\u623d\0\u6290\0\u62e3\0\u6336\0\u6389"+ "\0\u63dc\0\u642f\0\u6482\0\u64d5\0\u6528\0\u657b\0\u65ce\0\u6621"+ "\0\u6674\0\u66c7\0\u671a\0\u676d\0\u67c0\0\u6813\0\u6866\0\u68b9"+ "\0\u690c\0\u695f\0\u69b2\0\u6a05\0\u6a58\0\u6aab\0\u6afe\0\u6b51"+ "\0\u6ba4\0\u6bf7\0\u6c4a\0\u6c9d\0\u6cf0\0\u6d43\0\u6d96\0\u6de9"+ "\0\u6e3c\0\u6e8f\0\u6ee2\0\u6f35\0\u6f88\0\u6fdb\0\u702e\0\u7081"+ "\0\u70d4\0\u7127\0\u717a\0\u71cd\0\u7220\0\u7273\0\u72c6\0\u7319"+ "\0\u736c\0\u73bf\0\u7412\0\u7465\0\u74b8\0\u750b\0\u755e\0\u75b1"+ "\0\u7604\0\u7657\0\u76aa\0\u76fd\0\u7750\0\u77a3\0\u77f6\0\u7849"+ "\0\u789c\0\u78ef\0\u7942\0\u7995\0\u79e8\0\u7a3b\0\u7a8e\0\u7ae1"+ "\0\u7b34\0\u7b87\0\u7bda\0\u7c2d\0\u7c80\0\u7cd3\0\u7d26\0\u7d79"+ "\0\u7dcc\0\u7e1f\0\u7e72\0\u7ec5\0\u7f18\0\u7f6b\0\u7fbe\0\u8011"+ "\0\u8064\0\u80b7\0\u810a\0\u815d\0\u81b0\0\u8203\0\u8256\0\u82a9"+ "\0\u82fc\0\u834f\0\u83a2\0\u83f5\0\u8448\0\u849b\0\u84ee\0\u8541"+ "\0\u8594\0\u85e7\0\u863a\0\u868d\0\u86e0\0\u8733\0\u8786\0\u87d9"+ "\0\u882c\0\u887f\0\u88d2\0\u8925\0\u8978\0\u89cb\0\u8a1e\0\u8a71"+ "\0\u8ac4\0\u8b17\0\u8b6a\0\u8bbd\0\u8c10\0\u8c63\0\u8cb6\0\u8d09"+ "\0\u8d5c\0\u8daf\0\u8e02\0\u8e55\0\u8ea8\0\u8efb\0\u8f4e\0\u8fa1"+ "\0\u8ff4\0\u9047\0\u909a\0\u90ed\0\u9140\0\u9193\0\u91e6\0\u9239"+ "\0\u928c\0\u92df\0\u9332\0\u9385\0\u93d8\0\u942b\0\u947e\0\u94d1"+ "\0\u9524\0\u9577\0\u95ca\0\u961d\0\u9670\0\u96c3\0\u9716\0\u9769"+ "\0\u97bc\0\u0530\0\u980f\0\u9862\0\u0530\0\u98b5\0\u578a\0\u9908"+ "\0\u995b\0\u99ae\0\u9a01\0\u9a54\0\u9aa7\0\u9afa\0\u9b4d\0\u9ba0"+ "\0\u9bf3\0\u9c46\0\u0530\0\u9c99\0\u9cec\0\u9d3f\0\u9d92\0\u9de5"+ "\0\u9e38\0\u9e8b\0\u0530\0\u9ede\0\u9f31\0\u9f84\0\u9fd7\0\ua02a"+ "\0\ua07d\0\ua0d0\0\ua123\0\ua176\0\ua1c9\0\u0245\0\ua21c\0\ua26f"+ "\0\ua2c2\0\ua315\0\ua368\0\ua3bb\0\ua40e\0\ua461\0\ua4b4\0\ua507"+ "\0\ua55a\0\ua5ad\0\u0245\0\ua600\0\ua653\0\ua6a6\0\ua6f9\0\ua74c"+ "\0\ua79f\0\ua7f2\0\ua845\0\ua898\0\ua8eb\0\ua93e\0\ua991\0\ua9e4"+ "\0\uaa37\0\uaa8a\0\uaadd\0\uab30\0\uab83\0\uabd6\0\uac29\0\uac7c"+ "\0\uaccf\0\uad22\0\uad75\0\uadc8\0\uae1b\0\uae6e\0\uaec1\0\uaf14"+ "\0\uaf67\0\uafba\0\ub00d\0\ub060\0\ub0b3\0\ub106\0\ub159\0\ub1ac"+ "\0\ub1ff\0\ub252\0\ub2a5\0\ub2f8\0\ub34b\0\ub39e\0\ub3f1\0\ub444"+ "\0\ub497\0\ub4ea\0\ub53d\0\ub590\0\ub5e3\0\ub636\0\ub689\0\ub6dc"+ "\0\ub72f\0\ub782\0\ub7d5\0\ub828\0\ub87b\0\ub8ce\0\ub921\0\ub974"+ "\0\ub9c7\0\uba1a\0\uba6d\0\ubac0\0\ubb13\0\ubb66\0\ubbb9\0\ubc0c"+ "\0\ubc5f\0\ubcb2\0\ubd05\0\ubd58\0\ubdab\0\ubdfe\0\ube51\0\ubea4"+ "\0\ubef7\0\ubf4a\0\ubf9d\0\ubff0\0\uc043\0\uc096\0\uc0e9\0\uc13c"+ "\0\uc18f\0\uc1e2\0\uc235\0\uc288\0\uc2db\0\uc32e\0\uc381\0\uc3d4"+ "\0\uc427\0\uc47a\0\uc4cd\0\uc520\0\uc573\0\uc5c6\0\uc619\0\uc66c"+ "\0\uc6bf\0\uc712\0\uc765\0\uc7b8\0\uc80b\0\uc85e\0\uc8b1\0\uc904"+ "\0\uc957\0\uc9aa\0\uc9fd\0\uca50\0\ucaa3\0\ucaf6\0\ucb49\0\ucb9c"+ "\0\ucbef\0\ucc42\0\ucc95\0\ucce8\0\ucd3b\0\ucd8e\0\ucde1\0\uce34"+ "\0\uce87\0\uceda\0\ucf2d\0\ucf80\0\ucfd3\0\ud026\0\ud079\0\ud0cc"+ "\0\ud11f\0\ud172\0\ud1c5\0\ud218\0\u0530\0\ud26b\0\ud2be\0\ud311"+ "\0\ud364\0\ud3b7\0\ud40a\0\ud45d\0\ud4b0\0\ud503\0\u0530\0\ud556"+ "\0\ud5a9\0\ud5fc\0\ud64f\0\ud6a2\0\ud6f5\0\ud748\0\ud79b\0\ud7ee"+ "\0\ud841\0\ud894\0\ud8e7\0\ud93a\0\ud98d\0\ud9e0\0\uda33\0\uda86"+ "\0\udad9\0\udb2c\0\udb7f\0\udbd2\0\udc25\0\udc78\0\udccb\0\udd1e"+ "\0\udd71\0\uddc4\0\ude17\0\ude6a\0\udebd\0\udf10\0\udf63\0\udfb6"+ "\0\ue009\0\ue05c\0\ue0af\0\ue102\0\ue155\0\ue1a8\0\ue1fb\0\ue24e"+ "\0\ue2a1\0\ue2f4\0\ue347\0\ue39a\0\ue3ed\0\ue440\0\u6674\0\ue493"+ "\0\ue4e6\0\ue539\0\ue58c\0\ue5df\0\ue632\0\ue685\0\ue6d8\0\ue72b"+ "\0\ue77e\0\ue7d1\0\ue824\0\ue877\0\ue8ca\0\ue91d\0\ue970\0\ue9c3"+ "\0\uea16\0\uea69\0\ueabc\0\ueb0f\0\ueb62\0\uebb5\0\uec08\0\uec5b"+ "\0\uecae\0\ued01\0\ued54\0\ueda7\0\uedfa\0\uee4d\0\ueea0\0\ueef3"+ "\0\uef46\0\uef99\0\uefec\0\uf03f\0\uf092\0\uf0e5\0\uf138\0\uf18b"+ "\0\uf1de\0\uf231\0\uf284\0\uf2d7\0\uf32a\0\uf37d\0\uf3d0\0\uf423"+ "\0\uf476\0\uf4c9\0\uf51c\0\uf56f\0\uf5c2\0\uf615\0\uf668\0\uf6bb"+ "\0\uf70e\0\uf761\0\uf7b4\0\uf807\0\uf85a\0\uf8ad\0\uf900\0\uf953"+ "\0\uf9a6\0\uf9f9\0\ufa4c\0\ufa9f\0\ufaf2\0\ufb45\0\ufb98\0\ufbeb"+ "\0\ufc3e\0\ufc91\0\ufce4\0\ufd37\0\ufd8a\0\ufddd\0\ufe30\0\ufe83"+ "\0\ufed6\0\uff29\0\uff7c\0\uffcf\1\42\1\165\1\310\1\u011b"+ "\1\u016e\1\u01c1\1\u0214\1\u0267\1\u02ba\1\u030d\1\u0360\1\u03b3"+ "\1\u0406\1\u0459\1\u04ac\1\u04ff\1\u0552\1\u05a5\0\ucce8\1\u05f8"+ "\0\ucde1\1\u064b\1\u069e\1\u06f1\1\u0744\1\u0797\1\u07ea\1\u083d"+ "\1\u0890\1\u08e3\1\u0936\1\u0989\1\u09dc\1\u0a2f\1\u0a82\1\u0ad5"+ "\1\u0b28\1\u0b7b\1\u0bce\1\u0c21\1\u0c74\1\u0cc7\1\u0d1a\1\u0d6d"+ "\1\u0dc0\1\u0e13\1\u0e66\1\u0eb9\1\u0f0c\1\u0f5f\1\u0fb2\1\u1005"+ "\1\u1058\1\u10ab\1\u10fe\1\u1151\1\u11a4\1\u11f7\1\u124a\1\u129d"+ "\1\u12f0\1\u1343\1\u1396\1\u13e9\1\u143c\1\u148f\1\u14e2\1\u1535"+ "\1\u1588\0\u3817\1\u15db\1\u162e\1\u1681\1\u16d4\1\u1727\1\u177a"+ "\1\u17cd\1\u1820\1\u1873\1\u18c6\1\u1919\1\u196c\1\u19bf\1\u1a12"+ "\1\u1a65\1\u1ab8\1\u1b0b\1\u1b5e\1\u1bb1\1\u1c04\1\u1c57\1\u1caa"+ "\0\u0245\1\u1cfd\1\u1d50\1\u1da3\1\u1df6\1\u1e49\1\u1e9c\1\u1eef"+ "\1\u1f42\1\u1f95\1\u1fe8\1\u203b\1\u208e\1\u20e1\1\u2134\1\u2187"+ "\1\u21da\1\u222d\1\u2280\1\u22d3\1\u2326\1\u2379\1\u23cc\1\u241f"+ "\1\u2472\1\u24c5\1\u2518\1\u256b\1\u25be\1\u2611\1\u2664\1\u26b7"+ "\1\u270a\1\u275d\1\u27b0\1\u2803\1\u2856\1\u28a9\1\u28fc\1\u294f"+ "\1\u29a2\1\u29f5\1\u2a48\1\u2a9b\1\u2aee\1\u2b41\1\u2b94\1\u2be7"+ "\1\u2c3a\1\u2c8d\1\u2ce0\1\u2d33\1\u2d86\1\u2dd9\1\u2e2c\1\u2e7f"+ "\1\u2ed2\1\u2f25\1\u2f78\1\u2fcb\1\u301e\1\u3071\1\u30c4\1\u3117"+ "\1\u316a\1\u31bd\1\u3210\1\u3263\1\u32b6\1\u3309\1\u335c\1\u33af"+ "\1\u3402\1\u3455\1\u34a8\1\u34fb\1\u354e\1\u35a1\1\u35f4\1\u3647"+ "\1\u369a\1\u36ed\1\u3740\1\u3793\1\u37e6\1\u3839\1\u388c\1\u38df"+ "\1\u3932\1\u3985\1\u39d8\1\u3a2b\1\u3a7e\1\u3ad1\1\u3b24\1\u3b77"+ "\1\u3bca\1\u3c1d\1\u3c70\1\u3cc3\1\u3d16\1\u3d69\1\u3dbc\1\u3e0f"+ "\1\u3e62\1\u3eb5\1\u3f08\1\u3f5b\1\u3fae\1\u4001\1\u4054\1\u40a7"+ "\1\u40fa\1\u414d\1\u41a0\1\u41f3\1\u4246\1\u4299\1\u42ec\1\u433f"+ "\1\u4392\1\u43e5\1\u4438\1\u448b\1\u44de\1\u4531\1\u4584\1\u45d7"+ "\1\u462a\1\u467d\1\u46d0\1\u4723\1\u4776\1\u47c9\1\u481c\1\u486f"+ "\1\u48c2\1\u4915\1\u4968\1\u49bb\1\u4a0e\1\u4a61\1\u4ab4\1\u4b07"+ "\1\u4b5a\1\u4bad\1\u4c00\1\u4c53\1\u4ca6\1\u4cf9\1\u4d4c\1\u4d9f"+ "\1\u4df2\1\u4e45\1\u4e98\1\u4eeb\1\u4f3e\1\u4f91\1\u4fe4\1\u5037"+ "\1\u508a\1\u50dd\1\u5130\1\u5183\1\u51d6\1\u5229\1\u527c\1\u52cf"+ "\1\u5322\1\u5375\1\u53c8\1\u541b\1\u546e\1\u54c1\1\u5514\1\u5567"+ "\1\u55ba\1\u560d\1\u5660\1\u56b3\1\u5706\1\u5759\1\u57ac\1\u57ff"+ "\1\u5852\1\u58a5\1\u58f8\1\u594b\1\u599e\1\u59f1\1\u5a44\1\u5a97"+ "\1\u5aea\1\u5b3d\1\u5b90\1\u5be3\1\u5c36\1\u5c89\1\u5cdc\1\u5d2f"+ "\1\u5d82\1\u5dd5\1\u5e28\1\u5e7b\1\u5ece\1\u5f21\1\u5f74\1\u5fc7"+ "\1\u601a\1\u3402\1\u606d\1\u60c0\1\u6113\1\u6166\1\u61b9\1\u620c"+ "\1\u625f\1\u62b2\1\u6305\1\u6358\1\u63ab\1\u63fe\1\u6451\1\u64a4"+ "\1\u64f7\1\u654a\1\u659d\1\u65f0\1\u6643\1\u6696\1\u66e9\1\u673c"+ "\1\u678f\1\u67e2\1\u6835\1\u6888\1\u68db\1\u692e\1\u6981\1\u69d4"+ "\1\u6a27\1\u6a7a\1\u6acd\1\u6b20\1\u6b73\1\u6bc6\1\u6c19\1\u6c6c"+ "\1\u6cbf\1\u6d12\1\u6d65\1\u6db8\1\u6e0b\1\u6e5e\1\u6eb1\1\u6f04"+ "\1\u6f57\1\u6faa\1\u6ffd\1\u7050\1\u70a3\1\u70f6\1\u7149\1\u719c"+ "\1\u71ef\1\u7242\1\u7295\1\u72e8\1\u733b\1\u738e\1\u73e1\1\u7434"+ "\1\u7487\1\u74da\1\u752d\1\u7580\1\u75d3\1\u7626\1\u7679\1\u76cc"+ "\1\u771f\1\u7772\1\u77c5\1\u7818\1\u786b\1\u78be\1\u7911\1\u7964"+ "\1\u79b7\1\u7a0a\1\u7a5d\1\u7ab0\1\u7b03\1\u7b56\1\u7ba9\1\u7bfc"+ "\1\u7c4f\1\u7ca2\1\u7cf5\1\u7d48\1\u7d9b\1\u7dee\1\u7e41\1\u7e94"+ "\1\u7ee7\1\u7f3a\1\u7f8d\1\u7fe0\1\u8033\1\u8086\1\u80d9\1\u812c"+ "\1\u817f\1\u81d2\1\u8225\1\u8278\1\u82cb\1\u831e\1\u8371\1\u83c4"+ "\1\u8417\1\u846a\1\u84bd\1\u8510\1\u8563\1\u85b6\1\u8609\1\u865c"+ "\1\u86af\1\u8702\1\u8755\1\u87a8\1\u87fb\1\u884e\1\u88a1\1\u88f4"+ "\1\u8947\1\u899a\1\u89ed\1\u8a40\1\u8a93\1\u8ae6\1\u8b39\1\u8b8c"+ "\1\u8bdf\1\u8c32\1\u8c85\1\u8cd8\1\u8d2b\1\u8d7e\1\u8dd1\1\u8e24"+ "\1\u8e77\1\u8eca\1\u8f1d\1\u8f70\1\u8fc3\1\u9016\1\u9069\1\u90bc"+ "\1\u910f\1\u9162\1\u91b5\1\u9208\1\u925b\1\u92ae\1\u9301\1\u9354"+ "\1\u93a7\1\u93fa\1\u944d\1\u94a0\1\u94f3\1\u9546\1\u9599\1\u95ec"+ "\1\u963f\1\u9692\1\u96e5\1\u9738\1\u978b\1\u97de\1\u9831\1\u9884"+ "\1\u98d7\1\u992a\1\u997d\1\u99d0\1\u9a23\1\u9a76\1\u9ac9\1\u9b1c"+ "\1\u9b6f\1\u9bc2\1\u9c15\1\u9c68\1\u9cbb\1\u9d0e\1\u9d61\1\u9db4"+ "\1\u9e07\1\u9e5a\1\u9ead\1\u9f00\1\u9f53\1\u9fa6\1\u9ff9\1\ua04c"+ "\1\ua09f\1\ua0f2\1\u9c15\1\ua145\1\ua198\1\ua1eb\1\ua23e\1\ua291"+ "\1\ua2e4\1\ua337\1\ua38a\1\ua3dd\1\ua430\1\ua483\1\ua4d6\1\ua529"+ "\1\ua57c\1\ua5cf\1\ua622\1\ua675\1\ua6c8\1\ua71b\1\ua76e\1\ua7c1"+ "\1\ua814\1\ua867\1\ua8ba\1\ua90d\1\ua960\1\ua9b3\1\uaa06\1\uaa59"+ "\1\uaaac\1\uaaff\1\uab52\1\uaba5\1\uabf8\1\uac4b\1\uac9e\1\uacf1"+ "\1\uad44\1\uad97\1\uadea\1\uae3d\1\uae90\1\uaee3\1\uaf36\1\uaf89"+ "\0\u0530\1\uafdc\1\ub02f\1\ub082\1\ub0d5\1\ub128\1\ub17b\1\ub1ce"+ "\1\ub221\1\ub274\1\ub2c7\1\ub31a\1\ub36d\1\ub3c0\1\ub413\1\ub466"+ "\1\ub4b9\1\ub50c\1\ub55f\1\ub5b2\1\ub605\1\ub658\1\ub6ab\1\ub6fe"+ "\1\ub751\1\ub7a4\1\ub7f7\1\ub84a\1\ub89d\1\ub8f0\1\ub943\1\ub996"+ "\1\ub9e9\1\uba3c\1\u79b7\1\uba8f\1\ubae2\1\ubb35\1\ubb88\1\ubbdb"+ "\1\ubc2e\1\ubc81\1\ubcd4\1\ubd27\1\ubd7a\1\ubdcd\1\ube20\1\ube73"+ "\1\ubec6\1\ubf19\1\ubf6c\1\ubfbf\1\uc012\1\uc065\1\uc0b8\1\uc10b"+ "\1\uc15e\1\uc1b1\1\uc204\1\uc257\1\uc2aa\1\uc2fd\1\uc350\1\uc3a3"+ "\1\uc3f6\1\uc449\1\uc49c\1\uc4ef\1\uc542\1\uc595\1\uc5e8\1\uc63b"+ "\1\uc68e\1\uc6e1\1\uc734\1\uc787\1\uc7da\1\uc82d\1\uc880\1\uc8d3"+ "\1\uc926\1\uc979\1\uc9cc\1\uca1f\1\uca72\1\ucac5\1\ucb18\1\ucb6b"+ "\1\ucbbe\1\ucc11\1\ucc64\1\uccb7\1\ucd0a\1\ucd5d\1\ucdb0\1\uce03"+ "\1\uce56\1\ucea9\1\ucefc\1\ucf4f\1\ucfa2\1\ucff5\1\ud048\1\ud09b"+ "\1\ud0ee\1\ud141\1\ud194\1\ud1e7\1\ud23a\1\ud28d\1\ud2e0\1\ud333"+ "\1\ud386\1\ud3d9\1\ud42c\1\ud47f\1\ud4d2\1\ud525\1\ud578\1\ud5cb"+ "\1\ud61e\1\ud671\1\ud6c4\1\ud717\1\ud76a\1\ud7bd\1\ud810\1\ud863"+ "\1\ud8b6\1\ud909\1\ud95c\1\ud9af\1\uda02\1\uda55\1\udaa8\1\udafb"+ "\1\udb4e\1\udba1\1\udbf4\1\udc47\1\udc9a\1\udced\1\udd40\1\udd93"+ "\1\udde6\1\ude39\1\ude8c\1\udedf\1\udf32\1\udf85\1\udfd8\1\ue02b"+ "\1\ue07e\1\ue0d1\1\ue124\1\ue177\1\ue1ca\1\ue21d\1\ue270\1\ue2c3"+ "\1\ue316\1\ue369\1\ue3bc\1\ue40f\1\ue462\1\ue4b5\1\ue508\1\ue55b"+ "\1\ue5ae\1\ue601\1\ue654\1\ue6a7\1\ue6fa\1\ue74d\1\ue7a0\1\ue7f3"+ "\1\ue846\1\ue899\1\ue8ec\1\ue93f\1\ue992\1\ue9e5\1\uea38\1\uea8b"+ "\1\ueade\1\ueb31\1\ueb84\1\uebd7\1\uec2a\1\uec7d\1\uecd0\1\ued23"+ "\1\ued76\1\uedc9\1\uee1c\1\uee6f\1\ueec2\1\uef15\1\uef68\1\uefbb"+ "\1\uf00e\1\uf061\1\uf0b4\1\uf107\1\uf15a\1\uf1ad\1\uf200\1\uf253"+ "\1\uf2a6\1\uf2f9\1\uf34c\1\uf39f\1\uf3f2\1\uf445\1\uf498\1\uf4eb"+ "\1\uf53e\1\u7fe0\1\uf591\1\uf5e4\1\uf637\1\uf68a\1\uf6dd\1\uf730"+ "\1\uf783\1\uf7d6\1\uf829\1\uf87c\1\uf8cf\1\uf922\1\uf975\1\uf9c8"+ "\1\ufa1b\1\ufa6e\1\ufac1\1\ufb14\1\ufb67\1\ufbba\1\ufc0d\1\ufc60"+ "\1\ufcb3\1\ufd06\1\ufd59\1\ufdac\1\ufdff\1\ufe52\1\ufea5\1\ufef8"+ "\1\uff4b\1\uff9e\1\ufff1\2\104\2\227\2\352\2\u013d\2\u0190"+ "\2\u01e3\2\u0236\2\u0289\2\u02dc\2\u032f\2\u0382\2\u03d5\2\u0428"+ "\2\u047b\2\u04ce\2\u0521\2\u0574\2\u05c7\2\u061a\2\u066d\2\u06c0"+ "\2\u0713\2\u0766\2\u07b9\2\u080c\2\u085f\2\u08b2\2\u0905\2\u0958"+ "\2\u09ab\2\u09fe\2\u0a51\2\u0aa4\2\u0af7\2\u0b4a\2\u0b9d\2\u0bf0"+ "\2\u0c43\2\u0c96\2\u0ce9\2\u0d3c\2\u0d8f\2\u0de2\2\u0e35\2\u0e88"+ "\2\u0edb\2\u0f2e\2\u0f81\2\u0fd4\2\u1027\2\u107a\2\u10cd\2\u1120"+ "\2\u1173\2\u11c6\2\u1219\2\u126c\2\u12bf\2\u1312\2\u1365\2\u13b8"+ "\2\u140b\2\u145e\2\u14b1\2\u1504\2\u1557\2\u15aa\2\u15fd\2\u1650"+ "\2\u16a3\2\u16f6\2\u1749\2\u179c\2\u17ef\2\u1842\2\u1895\2\u18e8"+ "\2\u193b\2\u198e\2\u19e1\2\u1a34\2\u1a87\2\u1ada\2\u1b2d\2\u1b80"+ "\2\u1bd3\2\u1c26\2\u1c79\2\u1ccc\2\u1d1f\2\u1d72\2\u1dc5\2\u1e18"+ "\2\u1e6b\2\u1ebe\2\u1f11\2\u1f64\2\u1fb7\2\u200a\2\u205d\2\u20b0"+ "\2\u2103\2\u2156\2\u21a9\2\u21fc\2\u224f\2\u22a2\2\u22f5\2\u2348"+ "\2\u239b\2\u23ee\2\u2441\2\u2494\2\u24e7\2\u253a\2\u258d\2\u25e0"+ "\2\u2633\2\u2686\2\u26d9\2\u272c\2\u277f\2\u27d2\2\u2825\2\u2878"+ "\2\u28cb\2\u291e\2\u2971\2\u29c4\2\u2a17\2\u2a6a\2\u2abd\2\u2b10"+ "\2\u2b63\2\u2bb6\2\u2c09\2\u2c5c\2\u2caf\2\u2d02\2\u2d55\2\u2da8"+ "\2\u2dfb\2\u2e4e\2\u2ea1\2\u2ef4\2\u2f47\2\u2f9a\2\u2fed\2\u3040"+ "\2\u3093\2\u30e6\2\u3139\2\u318c\2\u31df\2\u3232\2\u3285\2\u32d8"+ "\2\u332b\2\u337e\2\u33d1\2\u3424\2\u3477\2\u34ca\2\u351d\2\u3570"+ "\2\u35c3\2\u3616\2\u3669\2\u36bc\2\u370f\2\u3762\2\u37b5\2\u3808"+ "\2\u385b\2\u38ae\2\u3901\2\u3954\2\u39a7\2\u39fa\2\u3a4d\2\u3aa0"+ "\2\u3af3\2\u3b46\2\u3b99\2\u3bec\2\u3c3f\2\u3c92\2\u3ce5\2\u3d38"+ "\2\u3d8b\2\u3dde\2\u3e31\2\u3e84\2\u3ed7\2\u3f2a\2\u3f7d\2\u3fd0"+ "\2\u4023\2\u4076\2\u40c9\2\u411c\2\u416f\2\u41c2\2\u4215\2\u4268"+ "\2\u42bb\2\u430e\2\u4361\2\u43b4\2\u4407\2\u445a\2\u44ad\2\u4500"+ "\2\u4553\2\u45a6\2\u45f9\2\u464c\2\u469f\2\u46f2\2\u4745\2\u4798"+ "\2\u47eb\2\u483e\2\u4891\2\u48e4\2\u4937\2\u498a\2\u49dd\2\u4a30"+ "\2\u4a83\2\u4ad6\2\u4b29\2\u4b7c\2\u4bcf\2\u4c22\2\u4c75\2\u4cc8"+ "\2\u4d1b\2\u4d6e\2\u4dc1\2\u4e14\2\u4e67\2\u4eba\2\u4f0d\2\u4f60"+ "\2\u4fb3\2\u5006\2\u5059\2\u50ac"; private static int [] zzUnpackRowMap() { int [] result = new int[1876]; int offset = 0; offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result); return result; } private static int zzUnpackRowMap(String packed, int offset, int [] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ int l = packed.length(); while (i < l) { int high = packed.charAt(i++) << 16; result[j++] = high | packed.charAt(i++); } 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\11\1\13\1\11\1\14"+ "\1\15\1\7\1\16\1\17\1\20\1\21\1\7\1\10"+ "\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\10"+ "\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\46\1\47\1\50"+ "\1\25\1\51\1\25\1\52\1\53\1\52\1\54\1\10"+ "\1\55\1\56\1\57\1\10\1\60\1\61\1\62\1\63"+ "\1\64\1\65\1\10\1\66\1\10\2\44\1\67\1\10"+ "\1\70\1\71\1\10\1\72\1\73\1\74\1\75\1\76"+ "\1\77\1\100\1\10\1\101\1\102\1\103\1\104\1\105"+ "\1\10\15\106\1\107\3\106\1\110\2\106\1\111\32\106"+ "\1\112\10\106\1\113\32\106\15\114\1\115\3\114\1\116"+ "\2\114\1\117\22\114\1\120\7\114\1\121\10\114\1\122"+ "\5\114\1\123\1\114\1\124\22\114\12\125\1\126\1\127"+ "\4\125\1\130\1\131\101\125\10\132\1\133\1\132\1\134"+ "\6\132\1\135\101\132\12\125\1\136\1\137\4\125\1\130"+ "\1\140\101\125\10\7\1\0\2\7\1\0\2\7\1\0"+ "\2\7\4\0\6\7\2\0\6\7\14\0\17\7\2\0"+ "\24\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\17\10"+ "\2\0\1\7\22\10\2\142\1\143\3\11\1\142\1\11"+ "\1\0\2\142\1\0\1\142\1\144\1\0\2\142\4\0"+ "\1\145\3\142\1\144\1\146\1\0\1\147\2\142\1\146"+ "\1\142\1\145\1\142\14\0\2\142\1\144\5\142\1\144"+ "\6\142\2\0\25\142\1\150\1\151\2\152\1\142\1\152"+ "\1\0\2\142\1\0\1\142\1\144\1\0\2\142\4\0"+ "\1\145\2\153\1\154\1\144\1\146\1\0\1\147\2\142"+ "\1\146\1\142\1\145\1\142\14\0\2\142\1\144\2\142"+ "\1\154\2\142\1\144\6\142\2\0\23\142\1\7\7\10"+ "\1\0\1\155\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\3\10\1\156\1\157\1\10\14\0"+ "\1\160\1\161\15\10\2\0\1\7\22\10\10\162\1\163"+ "\1\162\1\164\6\162\1\165\101\162\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\5\10\1\166\14\0\17\10\2\0\1\7"+ "\22\10\13\0\1\167\107\0\1\7\7\10\1\0\1\170"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\2\10\1\171\1\172\2\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\3\10"+ "\1\173\1\174\1\10\14\0\1\10\1\175\4\10\1\176"+ "\10\10\2\0\1\7\22\10\145\0\1\23\100\0\12\177"+ "\1\200\10\177\1\201\1\202\23\177\1\203\52\177\50\0"+ "\1\52\52\0\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\1\10\1\204\4\10\1\205\10\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\206\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\1\10\1\207\4\10\1\210\5\10\1\211\2\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\1\10"+ "\1\212\4\10\14\0\1\10\1\213\12\10\1\214\2\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\4\10\1\215\1\10\14\0\1\10\1\216\4\10\1\217"+ "\10\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\1\220\1\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\1\10\1\221\4\10\14\0\5\10\1\222"+ "\1\10\1\223\2\10\1\224\4\10\2\0\1\7\12\10"+ "\1\225\7\10\33\0\1\52\14\0\1\52\55\0\3\147"+ "\1\0\1\147\113\0\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\1\10\1\226\1\227\3\10\14\0\1\230\1\231\15\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\2\10\1\232\3\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\1\233\1\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\3\10\1\234"+ "\1\235\1\10\14\0\5\10\1\236\4\10\1\237\4\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\1\240\1\10\1\0\1\7\1\10\4\0\2\10"+ "\1\241\3\10\2\0\5\10\1\242\14\0\2\10\1\243"+ "\14\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\1\10\1\244\15\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\245\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\1\246\1\10"+ "\1\247\1\10\1\250\1\10\14\0\1\251\2\10\1\252"+ "\5\10\1\253\2\10\1\254\2\10\2\0\1\7\22\10"+ "\23\0\1\255\145\0\1\52\1\0\1\52\121\0\1\256"+ "\1\52\115\0\1\52\4\0\1\52\122\0\1\52\1\0"+ "\1\257\120\0\1\52\4\0\1\52\45\0\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\3\10\1\260\2\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\261\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\2\10\1\262\3\10\14\0\1\10\1\263\15\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\264\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\1\10"+ "\1\265\1\10\1\266\2\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\3\10\1\267"+ "\1\270\1\10\14\0\1\271\1\272\15\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\1\273"+ "\1\274\1\0\1\7\1\10\4\0\6\10\2\0\1\275"+ "\4\10\1\276\14\0\2\10\1\277\4\10\1\300\7\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\2\10\1\301\3\10\14\0\6\10\1\302\10\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\303\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\2\10"+ "\1\304\1\305\2\10\14\0\1\10\1\306\4\10\1\307"+ "\10\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\1\310\5\10\1\311\10\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\1\10\1\312\15\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\1\10\1\313\1\314\3\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\315\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\2\10\1\316\1\317\2\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\2\320\3\7\1\320\1\7"+ "\1\0\1\320\1\7\1\0\2\320\1\0\1\7\1\320"+ "\4\0\6\320\2\0\6\320\14\0\17\320\2\0\1\7"+ "\22\320\1\7\7\10\1\0\1\321\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\2\10\1\322\3\10\2\0"+ "\1\10\1\323\3\10\1\324\14\0\3\10\1\325\13\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\1\326\1\10\1\327\3\10\14\0\1\330\1\331\2\10"+ "\1\332\1\10\1\333\5\10\1\334\2\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\1\335"+ "\1\10\1\0\1\7\1\10\4\0\6\10\2\0\1\336"+ "\3\10\1\337\1\10\14\0\2\10\1\340\14\10\2\0"+ "\1\7\12\10\1\341\7\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\1\10\1\342\4\10\14\0\1\343\1\344\4\10"+ "\1\345\5\10\1\346\2\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\1\347\1\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\17\10"+ "\2\0\1\7\5\10\1\350\1\351\13\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\3\10\1\352\2\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\3\10\1\353\2\10\14\0\6\10\1\354\10\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\355\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\2\10"+ "\1\356\1\357\2\10\14\0\1\10\1\360\15\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\361\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\2\10\1\362\3\10"+ "\2\0\6\10\14\0\3\10\1\363\13\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\364\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\1\10\1\365"+ "\1\10\1\366\2\10\14\0\6\10\1\367\10\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\1\10"+ "\1\370\4\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\2\10\1\371\3\10\14\0"+ "\1\10\1\372\4\10\1\373\10\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\1\10\1\374\1\375"+ "\3\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\376\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\17\10\2\0\1\7"+ "\22\10\15\106\1\0\3\106\1\0\2\106\1\0\32\106"+ "\1\0\10\106\1\0\32\106\35\0\1\377\27\0\1\u0100"+ "\60\0\1\u0101\134\0\1\u0102\155\0\1\u0103\32\0\15\114"+ "\1\0\3\114\1\0\2\114\1\0\22\114\1\0\7\114"+ "\1\0\10\114\1\0\5\114\1\0\1\114\1\0\22\114"+ "\35\0\1\u0104\27\0\1\u0105\60\0\1\u0106\100\0\1\u0107"+ "\4\0\1\u0107\2\0\1\u0107\2\0\2\u0107\5\0\1\u0108"+ "\1\0\6\u0107\2\0\6\u0107\7\0\1\u0109\4\0\17\u0107"+ "\3\0\22\u0107\35\0\1\u010a\155\0\1\u010b\132\0\1\u010c"+ "\57\0\1\u010d\1\u010e\1\u010f\1\u0110\1\0\1\u0111\15\0"+ "\1\u0112\1\u0113\1\u0114\1\u0115\1\0\1\u0116\3\0\1\u0117"+ "\31\0\12\125\2\0\4\125\2\0\101\125\21\u0118\1\0"+ "\101\u0118\13\0\1\u0119\110\0\2\u011a\3\0\1\u011a\2\0"+ "\1\u011a\2\0\2\u011a\2\0\1\u011a\4\0\6\u011a\2\0"+ "\6\u011a\14\0\17\u011a\1\u011b\2\0\22\u011a\10\132\1\0"+ "\1\132\1\0\6\132\1\0\101\132\10\0\1\u011c\112\0"+ "\21\u011d\1\0\101\u011d\21\u011e\1\0\101\u011e\10\7\1\0"+ "\1\u011f\1\7\1\0\2\7\1\0\2\7\4\0\6\7"+ "\2\0\6\7\14\0\17\7\2\0\23\7\10\142\1\0"+ "\2\142\1\0\2\142\1\0\2\142\4\0\6\142\2\0"+ "\6\142\14\0\17\142\2\0\25\142\1\143\3\u0120\1\142"+ "\1\u0120\1\0\2\142\1\0\2\142\1\0\2\142\4\0"+ "\6\142\2\0\6\142\14\0\17\142\2\0\26\142\3\u0121"+ "\1\142\1\u0121\1\0\2\142\1\0\2\142\1\0\2\142"+ "\4\0\6\142\1\u0122\1\0\6\142\3\0\1\u0122\10\0"+ "\17\142\2\0\26\142\3\147\1\142\1\147\1\0\2\142"+ "\1\0\1\142\1\144\1\0\2\142\4\0\4\142\1\144"+ "\1\146\2\0\2\142\1\146\3\142\14\0\2\142\1\144"+ "\5\142\1\144\6\142\2\0\25\142\1\150\1\142\2\u0123"+ "\1\142\1\u0123\1\0\2\142\1\0\2\142\1\0\2\142"+ "\4\0\6\142\2\0\6\142\14\0\17\142\2\0\26\142"+ "\3\151\1\142\1\151\1\0\2\142\1\0\1\142\1\144"+ "\1\0\2\142\4\0\4\142\1\144\1\146\1\0\1\147"+ "\2\142\1\146\3\142\14\0\2\142\1\144\5\142\1\144"+ "\6\142\2\0\25\142\1\150\1\151\2\152\1\142\1\152"+ "\1\0\2\142\1\0\1\142\1\144\1\0\2\142\4\0"+ "\1\u0124\3\142\1\144\1\146\1\0\1\147\2\142\1\146"+ "\1\142\1\u0124\1\142\14\0\2\142\1\144\5\142\1\144"+ "\6\142\2\0\27\142\2\u0125\2\142\1\0\2\142\1\0"+ "\2\142\1\0\2\142\4\0\6\142\2\0\6\142\14\0"+ "\17\142\2\0\26\142\5\u0126\1\0\2\142\1\0\1\142"+ "\1\u0126\1\0\2\142\4\0\1\142\2\u0126\1\142\2\u0126"+ "\2\0\2\142\2\u0126\2\142\14\0\2\142\1\u0126\1\142"+ "\1\u0126\3\142\1\u0126\6\142\2\0\2\142\1\u0126\20\142"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\1\10\1\u0127\4\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\4\10\1\u0128\1\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\3\10"+ "\1\u0129\2\10\14\0\1\10\1\u012a\15\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\3\10\1\u012b"+ "\2\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\1\u012c\1\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\4\10\1\u012d\1\10\14\0"+ "\7\10\1\u012e\7\10\2\0\1\7\22\10\10\162\1\u012f"+ "\1\162\1\164\6\162\1\165\101\162\10\0\1\u0130\112\0"+ "\4\u0131\2\162\1\u0131\1\162\1\u0132\1\u0133\4\162\3\u0131"+ "\1\0\5\u0131\1\162\5\u0131\2\162\64\u0131\10\165\1\u012f"+ "\1\165\1\u0134\110\165\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\2\10\1\u0135\3\10\14\0\6\10\1\u0136\10\10\2\0"+ "\1\7\22\10\13\0\1\u0137\107\0\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\4\10\1\u0138\1\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\11\10\1\274\5\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\1\u0139\5\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\4\10\1\u013a\1\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\1\10"+ "\1\u013b\15\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\1\10\1\274\4\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\1\u013c\1\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\17\10\2\0\1\7\22\10\12\177\1\200"+ "\10\177\1\u013d\120\177\1\0\101\177\21\201\1\0\101\201"+ "\24\0\1\u013e\76\0\1\7\7\10\1\0\1\10\1\141"+ "\1\0\1\u013f\1\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\4\10\1\u0140\12\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\1\u0141"+ "\1\10\1\0\1\7\1\10\4\0\6\10\2\0\5\10"+ "\1\u0142\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\1\10\1\u0143\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\1\10\1\u0144\15\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\1\u0145\5\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\1\u0146\5\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\2\10\1\u0147\3\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\1\10\1\u0148\15\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\1\u0149\5\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\u014a\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\1\10\1\u014b\15\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\1\10"+ "\1\u014c\4\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\4\10\1\u014d\1\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\u014e"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\1\10\1\u014f\4\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\1\u0150\5\10\14\0\4\10\1\u0151\12\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\3\10\1\u0152\13\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\2\10\1\u0153\3\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\4\10"+ "\1\u0154\1\10\2\0\6\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\u0155\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\3\10\1\u0156"+ "\2\10\14\0\14\10\1\274\2\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\5\10\1\u0157\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\1\10\1\u0158\4\10\14\0\6\10\1\u0159\10\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\17\10\2\0\1\7\2\10\1\u015a\17\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\1\u015b\4\10\1\u015c"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\u015d\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\4\10"+ "\1\u015e\12\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\5\10\1\u015f\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\1\u0160\5\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\2\10\1\u0161\3\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\14\10\1\u0135\2\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\5\10\1\u0162\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\1\10\1\u0163"+ "\4\10\2\0\5\10\1\u0164\14\0\17\10\2\0\1\7"+ "\5\10\1\u0165\14\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\2\10\1\u0166\14\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\1\u0167\1\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\3\10\1\u0168\13\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\1\10\1\u0169"+ "\1\10\1\u016a\2\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\1\u016b\5\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\2\10\1\313\3\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\1\10\1\u016c\15\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\1\10\1\u016d\2\10\1\u016e\1\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\6\10\1\u016f\10\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\1\u0170\1\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\17\10\2\0\1\7\22\10\12\177\1\200"+ "\10\177\2\0\76\177\50\0\1\52\1\0\1\25\50\0"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\5\10\1\u0171\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\7\10\1\u0172\7\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\1\10"+ "\1\u0173\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\u0174\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\2\10\1\u0175\3\10\2\0\1\u0176"+ "\5\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\1\10\1\u0177\4\10"+ "\1\u0178\10\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\4\10\1\u0179\12\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\1\u017a"+ "\4\10\1\u015f\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\3\10\1\u017b\2\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\3\10\1\u017c\2\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\1\u017d"+ "\1\10\1\0\1\7\1\10\4\0\6\10\2\0\4\10"+ "\1\u017e\1\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\1\u017f\4\10\1\u0180\14\0"+ "\12\10\1\u0181\4\10\2\0\1\7\13\10\1\u0182\6\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\2\10\1\u0183\3\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\5\10\1\u0184"+ "\1\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\2\10"+ "\1\u0185\3\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\3\10\1\u0186"+ "\13\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\1\u0187\5\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\5\10"+ "\1\u0188\11\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\3\10\1\u0189\13\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\17\10\2\0\1\7\3\10\1\u018a\16\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\1\u018b\5\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\u018c\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\4\10\1\u018d\12\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\6\10\1\u018e\10\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\1\u018f\5\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\4\10\1\u0190\1\10\14\0\6\10\1\u0191\10\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\2\10\1\u0172\3\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\1\u0192\5\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\1\u0193\1\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\3\10\1\u0194\1\10"+ "\1\u0195\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\1\u0196\1\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\320\1\0\1\320\1\u0197\1\0"+ "\2\320\1\0\1\7\1\320\4\0\6\320\2\0\6\320"+ "\14\0\17\320\2\0\1\7\22\320\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\1\u0198\5\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\5\10\1\u0199"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\1\10\1\u019a\4\10\14\0\6\10\1\u019b"+ "\10\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\5\10\1\u019c\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\3\10"+ "\1\u019d\13\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\1\10\1\u019e\1\10\1\u019f\2\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\1\u0135\1\u01a0\4\10\14\0\4\10\1\u01a1\12\10"+ "\2\0\1\7\3\10\1\u01a2\16\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\1\10\1\u01a3\15\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\1\10"+ "\1\u01a4\4\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\3\10\1\u01a5\2\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\7\10\1\u01a6\7\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\1\u01a7"+ "\1\10\1\0\1\7\1\10\4\0\6\10\2\0\5\10"+ "\1\u01a8\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\1\u01a9\4\10\1\u01aa\14\0\1\u01ab"+ "\1\10\1\u01ac\1\u01ad\1\u01ae\5\10\1\u01af\4\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\2\10"+ "\1\u01b0\3\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\4\10\1\u01b1\1\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\2\10\1\u01b2\3\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\5\10\1\u01b3\2\0\6\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\2\10\1\u01b4\3\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\1\10"+ "\1\u01b5\4\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\1\10\1\u01b6"+ "\15\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\7\10\1\u01b7\7\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\3\10\1\u01b8\13\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\5\10\1\u01b9\14\0\16\10\1\u01ba"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\4\10\1\u01bb"+ "\1\10\2\0\6\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\17\10"+ "\2\0\1\7\4\10\1\u01bc\15\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\5\10\1\u01bd\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\1\u018f\5\10"+ "\14\0\3\10\1\u01be\13\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\5\10\1\u01bf\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\4\10\1\u01c0\1\10\14\0\7\10\1\u01c1\7\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\13\10\1\u01c2\3\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\12\10\1\u01c3"+ "\4\10\2\0\1\7\22\10\1\7\5\10\1\u01c4\1\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\1\u01c5\5\10\14\0\17\10\2\0"+ "\1\7\2\10\1\u01c6\17\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\1\u01c7\5\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\5\10\1\u01c8\14\0"+ "\17\10\2\0\1\7\13\10\1\u01c9\6\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\1\u01ca\5\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\5\10"+ "\1\u01cb\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\1\10\1\u01cc\4\10"+ "\1\u01cd\10\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\4\10\1\u01ce\12\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\3\10\1\u01cf\13\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\2\10\1\u01d0\3\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\1\10\1\u01d1\4\10\14\0\4\10\1\u01d2\12\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\6\10\1\u01d3\10\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\1\10\1\u01d4\4\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\6\10\1\u01d5\10\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\3\10"+ "\1\u01d6\2\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\2\10\1\u018a\3\10\14\0"+ "\17\10\2\0\1\7\22\10\62\0\1\u01d7\101\0\1\u01d8"+ "\116\0\1\u01d9\155\0\1\u01da\114\0\1\u01db\101\0\1\u01dc"+ "\61\0\52\u0107\1\u0109\50\u0107\1\0\1\u0107\4\0\1\u0107"+ "\2\0\1\u0107\2\0\2\u0107\7\0\6\u0107\2\0\6\u0107"+ "\7\0\1\u0109\4\0\17\u0107\3\0\22\u0107\35\0\1\u01dd"+ "\155\0\1\u01de\73\0\1\u01df\17\0\1\u01e0\1\0\1\u01e1"+ "\1\0\1\u01e2\3\0\1\u01e3\42\0\1\u01e4\45\0\1\u01e5"+ "\1\u01e6\101\0\1\u01e7\147\0\1\u01e8\47\0\1\u01e9\150\0"+ "\1\u01ea\25\0\1\u01eb\64\0\1\u01ec\132\0\1\u01ed\123\0"+ "\1\u01ee\122\0\1\u01ef\76\0\1\u01f0\145\0\1\u01f1\76\0"+ "\1\u01f2\110\0\7\u011a\1\0\1\u011a\1\u01f3\1\0\2\u011a"+ "\2\0\1\u011a\4\0\6\u011a\2\0\6\u011a\14\0\17\u011a"+ "\3\0\22\u011a\77\u01f4\1\0\23\u01f4\10\0\1\u01f5\112\0"+ "\3\7\5\u01f6\1\0\2\7\1\0\1\7\1\u01f6\1\0"+ "\2\7\4\0\1\7\2\u01f6\1\7\2\u01f6\2\0\2\7"+ "\2\u01f6\2\7\14\0\2\7\1\u01f6\1\7\1\u01f6\3\7"+ "\1\u01f6\6\7\2\0\2\7\1\u01f6\20\7\2\142\1\143"+ "\3\u0120\1\142\1\u0120\1\0\2\142\1\0\2\142\1\0"+ "\2\142\4\0\1\145\5\142\2\0\4\142\1\145\1\142"+ "\14\0\17\142\2\0\26\142\3\u0121\1\142\1\u0121\1\0"+ "\2\142\1\0\1\142\1\144\1\0\2\142\4\0\4\142"+ "\1\144\1\142\2\0\6\142\14\0\2\142\1\144\5\142"+ "\1\144\6\142\2\0\23\142\3\0\3\u0121\1\0\1\u0121"+ "\113\0\2\142\1\150\1\142\2\u0123\1\142\1\u0123\1\0"+ "\2\142\1\0\2\142\1\0\2\142\4\0\1\u0124\5\142"+ "\2\0\4\142\1\u0124\1\142\14\0\17\142\2\0\25\142"+ "\1\u01f7\1\142\2\u0125\2\142\1\0\2\142\1\0\2\142"+ "\1\0\2\142\4\0\6\142\2\0\6\142\14\0\17\142"+ "\2\0\25\142\1\u01f8\5\u0126\1\0\2\142\1\0\1\142"+ "\1\u0126\1\0\2\142\4\0\1\u0124\2\u0126\1\142\2\u0126"+ "\2\0\2\142\2\u0126\1\u0124\1\142\14\0\2\142\1\u0126"+ "\1\142\1\u0126\3\142\1\u0126\6\142\2\0\2\142\1\u0126"+ "\20\142\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\1\10\1\u01f9"+ "\4\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\2\10\1\u01fa\3\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\5\10\1\u01fb\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\1\u01fc\1\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\5\10\1\u01fd\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\1\10\1\u01fe\4\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\5\10\1\u01ff"+ "\14\0\4\10\1\u0200\12\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\4\10\1\u0201\1\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\3\10\1\u0202\13\10\2\0\1\7"+ "\22\10\10\u0131\1\u0203\10\u0131\1\0\104\u0131\5\u0204\1\u0203"+ "\4\u0131\1\u0204\3\u0131\1\0\4\u0131\2\u0204\1\u0131\2\u0204"+ "\4\u0131\2\u0204\20\u0131\1\u0204\1\u0131\1\u0204\3\u0131\1\u0204"+ "\12\u0131\1\u0204\20\u0131\4\0\2\165\1\0\2\165\1\u0205"+ "\4\165\11\0\1\165\5\0\2\165\64\0\1\7\7\10"+ "\1\0\1\10\1\141\1\0\1\u0206\1\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\4\10"+ "\1\274\1\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\6\10\1\u0207"+ "\10\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\5\10\1\u0155\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\3\10\1\u0208\2\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\3\10\1\u0209\2\10\14\0\2\10\1\u020a"+ "\14\10\2\0\1\7\22\10\23\0\1\u020b\77\0\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\13\10\1\u0135"+ "\3\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\3\10\1\u020c\2\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\2\10\1\u020d"+ "\3\10\14\0\16\10\1\u020e\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\1\u020f\5\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\1\10\1\u0210\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\4\10\1\u0211\1\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\17\10\2\0\1\7\2\10\1\u0212"+ "\17\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\2\10\1\u0213"+ "\3\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\3\10\1\u0214\2\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\4\10\1\u0215\1\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\2\10\1\u0216\3\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\5\10\1\u0217\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\3\10\1\u0218"+ "\2\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\7\10\1\u0219\7\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\1\u021a\1\10\1\u021b\3\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\7\10\1\u021c\7\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\1\10\1\u021d\15\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\2\10\1\u021e\3\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\2\10\1\u021f\3\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\1\u0220\5\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\1\u0221"+ "\1\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\5\10\1\u0222\2\0\6\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\2\10\1\u0223"+ "\3\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\1\u0224\1\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\1\274"+ "\5\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\1\10\1\u0225\15\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\5\10\1\274\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\1\u0226\5\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\u0227\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\3\10\1\u0228\13\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\7\10\1\274\7\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\1\u0229"+ "\16\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\2\10\1\274\3\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\2\10\1\u022a"+ "\3\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\1\10\1\240\4\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\1\u022b\5\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\1\10\1\207"+ "\15\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\2\10\1\u022c\3\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\14\10\1\u022d\2\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\17\10\2\0\1\7"+ "\2\10\1\u022e\17\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\13\10\1\u0216\3\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\2\10\1\175\3\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\6\10\1\u022f\10\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\1\u0230"+ "\5\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\17\10\2\0\1\7"+ "\10\10\1\u0231\11\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\1\10\1\u0208\4\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\6\10"+ "\1\u0232\10\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\6\10\1\u0218\10\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\1\u017a"+ "\5\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\4\10\1\u0233\12\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\17\10\2\0\1\7\14\10\1\u0234\5\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\3\10"+ "\1\u0135\13\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\3\10\1\u0235\2\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\2\10\1\u0236\3\10"+ "\2\0\6\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\4\10\1\u0230\1\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\17\10\2\0\1\7\1\10\1\u0218"+ "\20\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\1\u0237\5\10"+ "\14\0\3\10\1\u0238\13\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\1\u0239\1\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\12\10"+ "\1\u023a\4\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\16\10\1\u023b\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\4\10\1\u023c\12\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\5\10\1\u0159\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\1\10"+ "\1\u0216\4\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\1\u023d\5\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\4\10\1\u0182\1\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\2\10\1\u023e\3\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\1\u023f\5\10\14\0\3\10\1\u0182\13\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\1\10\1\u0240\15\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\2\10\1\u0241\3\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\1\10\1\u0242\4\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\3\10"+ "\1\u0243\2\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\1\u0244\1\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\4\10\1\u0245\1\10\14\0\1\10\1\u022c\15\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\3\10"+ "\1\u0246\2\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\6\10\1\u0247"+ "\10\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\4\10\1\u0248\1\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\u0249\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\2\10\1\u0135\1\u024a\2\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\2\10\1\u024b\3\10"+ "\2\0\6\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\1\u024c\5\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\4\10\1\u015f\1\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\1\u0135"+ "\16\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\3\10\1\u024d\2\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\2\10\1\274\14\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\17\10\2\0\1\7"+ "\1\10\1\u0218\6\10\1\u024e\3\10\1\u024f\5\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\1\u0250\1\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\1\u0251\5\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\2\10\1\u0252\14\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\1\10\1\u0253\15\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\2\10\1\u0254\14\10"+ "\2\0\1\7\22\10\10\7\1\0\1\u0255\1\7\1\0"+ "\2\7\1\0\2\7\4\0\6\7\2\0\6\7\14\0"+ "\17\7\2\0\24\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\1\10\1\u0256\15\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\1\u0257\5\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\3\10\1\u0258\2\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\1\u0259\5\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\2\10\1\u025a\3\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\2\10\1\u025b"+ "\3\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\2\10\1\u025c\3\10\14\0\6\10"+ "\1\u025d\10\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\4\10\1\u025e\12\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\6\10\1\u025f\3\10\1\u0260\4\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\u0261\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\u0262"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\1\10\1\u0218\4\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\1\u0263\5\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\1\u0264\1\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\3\10\1\u0265\13\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\4\10\1\u0266\12\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\1\u0267\5\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\2\10"+ "\1\u0268\3\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\1\u0269\5\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\2\10\1\u026a\3\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\2\10\1\u026b\3\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\u026c\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\1\10"+ "\1\u026d\15\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\3\10\1\u026e\2\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\1\10"+ "\1\u026f\4\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\1\10\1\u0270\1\0"+ "\1\7\1\10\4\0\6\10\2\0\2\10\1\u0271\3\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\1\u0272\1\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\1\10\1\221"+ "\4\10\14\0\5\10\1\u0273\11\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\2\10\1\u0274\3\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\2\10\1\u0275\3\10\14\0\1\10\1\u0276"+ "\15\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\17\10\2\0\1\7\10\10\1\u0277"+ "\11\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\2\10\1\u0278"+ "\3\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\2\10\1\u0279\3\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\u027a\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\3\10\1\u027b\2\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\1\u027c\1\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\10\10\1\u027d\6\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\10\10\1\u0135\6\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\1\u027e\16\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\1\0\1\u027f"+ "\6\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\5\10\1\u0280\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\4\10"+ "\1\u0281\1\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\2\10\1\u0282\3\10\2\0\6\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\3\10\1\u0283\2\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\6\10\1\u0284\10\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\4\10\1\u0285\1\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\17\10\2\0\1\7\1\10\1\u0286\1\u0287"+ "\17\10\1\7\7\10\1\0\1\u0288\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\3\10\1\u0289\13\10\2\0\1\7"+ "\12\10\1\u028a\7\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\2\10\1\u028b\3\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\2\10\1\u028c\3\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\6\10\1\u028d\10\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\1\u028e\16\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\3\10\1\u028f\1\u0290"+ "\12\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\1\u0291\1\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\1\10\1\u0292\15\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\16\10\1\u0293\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\2\10\1\u0294\3\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\13\10\1\u0295\3\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\6\10"+ "\1\u0296\10\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\1\u014f\5\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\2\10\1\u0135\14\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\1\u0297\5\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\1\u0298"+ "\5\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\16\10\1\u0299\2\0"+ "\1\7\22\10\56\0\1\u029a\103\0\1\u01d7\145\0\1\u029b"+ "\74\0\1\u029c\144\0\1\u029d\103\0\1\u01db\145\0\1\u029e"+ "\74\0\1\u029f\153\0\1\u02a0\115\0\1\u02a1\122\0\1\u02a2"+ "\56\0\1\u02a3\146\0\1\u02a4\117\0\1\u02a5\123\0\1\u02a6"+ "\145\0\1\u02a7\76\0\1\u02a8\125\0\1\u02a9\22\0\1\u02aa"+ "\74\0\1\u02ab\123\0\1\u02ac\1\u02ad\77\0\1\u02ae\150\0"+ "\1\u02af\142\0\1\u02b0\76\0\1\u02b1\121\0\1\u02b2\122\0"+ "\1\u02b3\23\0\1\u02b4\77\0\1\u02b5\75\0\1\u02b6\111\0"+ "\77\u01f4\1\u02b7\23\u01f4\3\7\5\u02b8\1\0\2\7\1\0"+ "\1\7\1\u02b8\1\0\2\7\4\0\1\7\2\u02b8\1\7"+ "\2\u02b8\2\0\2\7\2\u02b8\2\7\14\0\2\7\1\u02b8"+ "\1\7\1\u02b8\3\7\1\u02b8\6\7\2\0\2\7\1\u02b8"+ "\20\7\2\142\1\u01f8\5\u0126\1\0\2\142\1\0\1\142"+ "\1\u0126\1\0\2\142\4\0\1\142\2\u0126\1\142\2\u0126"+ "\2\0\2\142\2\u0126\2\142\14\0\2\142\1\u0126\1\142"+ "\1\u0126\3\142\1\u0126\6\142\2\0\2\142\1\u0126\20\142"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\2\10\1\u02b9\3\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\1\u02ba\1\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\5\10\1\u02bb"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\2\10\1\u02bc\3\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\2\10"+ "\1\u0250\3\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\5\10\1\u02bd\1\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\3\10\1\u02be"+ "\2\10\14\0\17\10\2\0\1\7\1\10\1\u02bf\1\u02c0"+ "\17\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\1\10\1\u024b\15\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\u02c1\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\2\10\1\u02c2"+ "\3\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\3\10\1\u01b0\2\10\14\0\6\10"+ "\1\u02c3\10\10\2\0\1\7\22\10\3\u0131\5\u02c4\1\u0203"+ "\4\u0131\1\u02c4\3\u0131\1\0\4\u0131\2\u02c4\1\u0131\2\u02c4"+ "\4\u0131\2\u02c4\20\u0131\1\u02c4\1\u0131\1\u02c4\3\u0131\1\u02c4"+ "\12\u0131\1\u02c4\20\u0131\3\0\5\u02c5\5\0\1\u02c5\10\0"+ "\2\u02c5\1\0\2\u02c5\4\0\2\u02c5\20\0\1\u02c5\1\0"+ "\1\u02c5\3\0\1\u02c5\12\0\1\u02c5\20\0\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\13\10\1\274\3\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\12\10\1\u015f\4\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\1\u0216\5\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\4\10\1\u02c6\1\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\1\u02c7\5\10\2\0\6\10"+ "\14\0\17\10\2\0\1\7\1\10\1\u02c8\2\10\1\u02c9"+ "\15\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\4\10\1\u02ca"+ "\1\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\17\10\2\0\1\7"+ "\11\10\1\u02cb\10\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\2\10\1\u02cc\1\u02cd\2\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\15\10\1\u02ce\1\10\2\0\1\7\4\10\1\u02cf\15\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\2\10\1\u02d0\3\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\2\10\1\u02d1\3\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\2\10"+ "\1\u0218\3\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\17\10\2\0"+ "\1\7\1\10\1\u02d2\20\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\16\10\1\274\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\2\10\1\u02d3\3\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\1\u0250\16\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\1\u0135\5\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\3\10\1\u02d4\2\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\2\10"+ "\1\u02d5\3\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\1\u02d6\1\10\1\0"+ "\1\7\1\10\4\0\4\10\1\u02d7\1\10\2\0\6\10"+ "\14\0\10\10\1\u02d8\4\10\1\u02d9\1\10\2\0\1\7"+ "\4\10\1\u02da\4\10\1\u02db\1\u02dc\1\10\1\u02dd\2\10"+ "\1\u02de\2\10\1\7\5\10\1\u02df\1\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\2\10\1\u02e0\3\10\14\0\17\10\2\0\1\7"+ "\2\10\1\u0212\5\10\1\u02e1\11\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\1\10\1\u0135\4\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\1\10"+ "\1\u02e2\4\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\3\10\1\u02e3"+ "\13\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\14\10\1\u02e4\2\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\1\u02e5\5\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\5\10\1\u0273\11\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\5\10"+ "\1\u02e6\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\11\10\1\u02e7\5\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\1\10\1\u02e8\4\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\1\10\1\u02e9\4\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\1\10\1\u02ea\15\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\17\10\2\0\1\7\17\10\1\u02eb\2\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\1\u02ec\1\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\1\10\1\u02ed\4\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\1\10\1\u0157\4\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\3\10\1\u0249\13\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\1\u02ee\16\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\4\10\1\u02ef\12\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\6\10\1\u02f0\10\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\2\10\1\301\3\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\1\u02f1\1\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\1\u02f2\16\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\1\10\1\u02f3\4\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\u02f4\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\4\10\1\u0149\1\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\2\10"+ "\1\u02f5\3\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\2\10\1\u02f6\3\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\1\u02f7\5\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\3\10\1\u02f8\2\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\3\10\1\u02f9\2\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\1\274\16\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\6\10\1\u02fa\10\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\1\10\1\u02fb\4\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\3\10\1\u02fc\2\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\16\10\1\u02fd\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\4\10\1\u0218\12\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\3\10\1\u01d2\2\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\5\10\1\u0249\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\1\u02fe\5\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\2\10\1\u02ff\3\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\5\10\1\u0300\1\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\1\274\1\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\6\10\1\u0301\10\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\2\10\1\u0135\3\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\17\10\2\0\1\7\4\10\1\u0302\5\10"+ "\1\u0303\7\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\4\10"+ "\1\u0249\1\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\6\10\1\u0304"+ "\10\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\1\310\5\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\2\10\1\u0305\3\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\1\10\1\u0306\4\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\3\10"+ "\1\u018c\2\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\6\10\1\u0307"+ "\10\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\2\10\1\u021d\1\u018c\2\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\u0308\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\1\10\1\u0309\15\10\2\0"+ "\1\7\22\10\3\7\5\u030a\1\0\2\7\1\0\1\7"+ "\1\u030a\1\0\2\7\4\0\1\7\2\u030a\1\7\2\u030a"+ "\2\0\2\7\2\u030a\2\7\14\0\2\7\1\u030a\1\7"+ "\1\u030a\3\7\1\u030a\6\7\2\0\2\7\1\u030a\21\7"+ "\5\10\1\u030b\1\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\1\10\1\u030c\4\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\14\10\1\u030d\2\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\1\u030e\16\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\1\10"+ "\1\u030f\4\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\1\u0310\1\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\3\10\1\u0311\2\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\1\u0312\1\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\4\10\1\u0313\12\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\16\10\1\u0314\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\3\10"+ "\1\u0315\2\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\6\10\1\u0316"+ "\10\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\1\10\1\u0317\4\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\2\10\1\u0318"+ "\3\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\2\10\1\u0319\3\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\1\u031a\1\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\4\10\1\u031b\1\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\4\10"+ "\1\u031c\1\10\2\0\6\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\2\10\1\u031d"+ "\3\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\1\10\1\u031e\4\10\14\0\13\10"+ "\1\u031a\3\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\3\10\1\u031f\2\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\1\10"+ "\1\u0320\4\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\5\10\1\u0321"+ "\11\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\1\u0322\5\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\7\10"+ "\1\u0323\7\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\4\10\1\u0324\1\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\3\10"+ "\1\u0325\2\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\1\10\1\u0326"+ "\15\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\13\10\1\u0327\3\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\1\u0328\5\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\4\10\1\u0329\12\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\17\10\2\0\1\7\2\10\1\u0212\5\10\1\u02e1"+ "\11\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\3\10\1\u032a"+ "\2\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\11\10\1\u0250\5\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\3\10\1\u032b\2\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\1\10\1\u032c\4\10"+ "\14\0\17\10\2\0\1\7\21\10\1\u032d\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\17\10\2\0\1\7"+ "\11\10\1\u032e\10\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\3\10\1\u032f\13\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\1\u0330\5\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\1\10\1\u0331\15\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\3\10\1\u0332"+ "\2\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\1\u0250\5\10\14\0\17\10\2\0"+ "\1\7\2\10\1\u0212\5\10\1\u02e1\11\10\32\0\1\u0333"+ "\70\0\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\6\10\1\u0334\10\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\17\10\2\0\1\7"+ "\14\10\1\u0335\5\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\2\10\1\u0336\3\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\1\u0337\5\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\13\10\1\u0338\3\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\3\10\1\u0339"+ "\2\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\4\10\1\u033a\12\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\2\10\1\u033b\3\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\4\10"+ "\1\u033c\12\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\u033d\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\1\10\1\u033e"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\1\10\1\u033f\4\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\4\10\1\u0340\12\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\1\10\1\u0341\15\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\2\10\1\u0342"+ "\3\10\2\0\6\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\2\10\1\u0343\3\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\2\10\1\u0344\3\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\1\u0345"+ "\5\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\1\10\1\u0346\4\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\3\10\1\u0347\2\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\2\10"+ "\1\u0348\14\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\1\10\1\u0349\15\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\1\10\1\u034a\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\u034b\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\2\10\1\u034c"+ "\3\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\17\10\2\0\1\7"+ "\7\10\1\u034d\12\10\23\0\1\u034e\141\0\1\u01d7\13\0"+ "\1\u029a\45\0\1\u029c\1\u034f\5\u029c\1\u034f\1\u029c\2\0"+ "\2\u029c\1\0\1\u034f\1\u029c\2\0\1\u029c\1\u034f\6\u029c"+ "\2\u034f\6\u029c\4\u034f\1\0\1\u034f\2\0\4\u034f\17\u029c"+ "\2\0\1\u034f\22\u029c\23\0\1\u0350\141\0\1\u01db\13\0"+ "\1\u029d\45\0\1\u029f\1\u0351\5\u029f\1\u0351\1\u029f\2\0"+ "\2\u029f\1\0\1\u0351\1\u029f\2\0\1\u029f\1\u0351\6\u029f"+ "\2\u0351\6\u029f\4\u0351\1\0\1\u0351\2\0\4\u0351\17\u029f"+ "\2\0\1\u0351\22\u029f\14\0\1\u0352\20\0\1\u0353\150\0"+ "\1\u0354\120\0\1\u0355\120\0\1\u0356\104\0\1\u0357\141\0"+ "\1\u0358\101\0\1\u0359\20\0\1\u035a\122\0\1\u02ad\53\0"+ "\1\u035b\177\0\1\u035c\73\0\1\u035d\1\0\1\u035e\140\0"+ "\1\u035f\130\0\1\u0360\120\0\1\u0361\117\0\1\u0362\100\0"+ "\1\u0363\124\0\1\u0364\121\0\1\u0365\122\0\1\u0366\122\0"+ "\1\u0367\125\0\1\u0368\63\0\5\u0369\5\0\1\u0369\10\0"+ "\2\u0369\1\0\2\u0369\4\0\2\u0369\20\0\1\u0369\1\0"+ "\1\u0369\3\0\1\u0369\12\0\1\u0369\20\0\3\7\5\u036a"+ "\1\0\2\7\1\0\1\7\1\u036a\1\0\2\7\4\0"+ "\1\7\2\u036a\1\7\2\u036a\2\0\2\7\2\u036a\2\7"+ "\14\0\2\7\1\u036a\1\7\1\u036a\3\7\1\u036a\6\7"+ "\2\0\2\7\1\u036a\21\7\7\10\1\0\1\10\1\141"+ "\1\0\1\u036b\1\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\2\10\1\u036c"+ "\14\10\2\0\1\7\22\10\1\7\5\10\1\u036d\1\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\1\u036e\3\10\1\u036f\1\10\2\0\6\10\14\0"+ "\17\10\2\0\1\7\11\10\1\u02db\10\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\3\10\1\u018c\2\10\14\0\17\10"+ "\2\0\1\7\11\10\1\u0370\10\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\1\10\1\u0371\15\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\4\10\1\u0372\12\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\1\10\1\u0373\4\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\2\10\1\u0374\3\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\1\10\1\u0375"+ "\4\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\4\10\1\u0376\12\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\4\10\1\u031a\1\10\14\0\17\10\2\0\1\7\22\10"+ "\3\u0131\5\u0377\1\u0203\4\u0131\1\u0377\3\u0131\1\0\4\u0131"+ "\2\u0377\1\u0131\2\u0377\4\u0131\2\u0377\20\u0131\1\u0377\1\u0131"+ "\1\u0377\3\u0131\1\u0377\12\u0131\1\u0377\20\u0131\3\0\5\u0378"+ "\5\0\1\u0378\10\0\2\u0378\1\0\2\u0378\4\0\2\u0378"+ "\20\0\1\u0378\1\0\1\u0378\3\0\1\u0378\12\0\1\u0378"+ "\20\0\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\4\10\1\u0379"+ "\1\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\3\10\1\u037a\2\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\4\10\1\u037b\1\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\1\u037c\1\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\2\10\1\u037d\3\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\u037e\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\2\10\1\u037f\14\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\13\10\1\u0380\3\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\2\10\1\u0381\3\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\1\u0382\5\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\1\10\1\u01cf\4\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\3\10\1\u0383\2\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\1\10\1\u0384"+ "\4\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\3\10\1\u0385\2\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\1\u0386\5\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\1\10\1\u0348\4\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\3\10\1\u0387\2\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\6\10\1\u0388\10\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\2\10\1\u0389\3\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\2\10\1\u038a\3\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\1\u038b\1\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\1\10\1\u038c\15\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\u038d\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\2\10\1\u038e\3\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\1\10\1\u038f"+ "\4\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\1\10\1\u0390\15\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\1\10\1\u0391\4\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\3\10\1\u0172\2\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\1\u0392\1\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\1\u0393\5\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\17\10\2\0\1\7\2\10"+ "\1\u0394\17\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\1\u0395\5\10\2\0"+ "\6\10\14\0\17\10\2\0\1\7\12\10\1\u0396\7\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\6\10"+ "\1\u0397\10\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\6\10\1\u0398\10\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\1\u0399\1\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\1\u039a\1\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\6\10\1\u039b\10\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\2\10\1\u0159"+ "\14\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\3\10\1\u039c\2\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\u039d\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\1\u039e\5\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\4\10"+ "\1\274\12\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\1\u039f\5\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\1\10\1\u03a0"+ "\4\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\1\10\1\u03a1\15\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\4\10\1\u0157\1\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\4\10"+ "\1\u03a2\12\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\1\10\1\u03a3\4\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\1\10\1\u0135\1\0\1\7\1\10\4\0\6\10\2\0"+ "\4\10\1\u0383\1\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\1\u015f\5\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\13\10\1\u015f\3\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\1\u03a4"+ "\1\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\1\10\1\u03a5\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\1\u03a6"+ "\1\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\2\10\1\u03a7\3\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\6\10\1\u03a8\10\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\7\10\1\u03a9"+ "\7\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\4\10\1\u03aa\1\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\4\10\1\u03ab\12\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\1\u03ac\1\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\u03ad\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\1\10\1\u03ae\15\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\1\u03af"+ "\5\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\1\10\1\u03b0\15\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\7\10\1\u03b1\7\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\1\10\1\u03b2\4\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\7\10\1\u03b3\7\10\2\0"+ "\1\7\22\10\3\7\5\u03b4\1\0\2\7\1\0\1\7"+ "\1\u03b4\1\0\2\7\4\0\1\7\2\u03b4\1\7\2\u03b4"+ "\2\0\2\7\2\u03b4\2\7\14\0\2\7\1\u03b4\1\7"+ "\1\u03b4\3\7\1\u03b4\6\7\2\0\2\7\1\u03b4\21\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\4\10\1\u03b5\1\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\3\10\1\u03b6\2\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\1\u03b7\5\10\2\0\5\10"+ "\1\u0135\14\0\10\10\1\u03b8\6\10\2\0\1\7\2\10"+ "\1\u03b9\1\10\1\u03ba\15\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\7\10\1\u03bb\7\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\1\u03bc\5\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\2\10\1\u0250\14\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\7\10\1\u03bd\7\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\13\10\1\u03be"+ "\3\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\1\u03bf\5\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\17\10"+ "\2\0\1\7\5\10\1\u03c0\4\10\1\u03c1\7\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\4\10\1\u03c2\1\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\4\10\1\u03c3\12\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\6\10\1\u03c4\10\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\1\u03c5\1\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\2\10\1\u0274\14\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\2\10\1\u021d\3\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\2\10\1\u03c6\3\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\3\10\1\u03c7"+ "\2\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\7\10\1\u0135\7\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\1\u03c8\1\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\1\10\1\u03c9\4\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\1\u03ca"+ "\1\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\6\10\1\u03cb\10\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\17\10\2\0\1\7\12\10\1\u03cc\7\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\17\10\2\0"+ "\1\7\2\10\1\u03cd\5\10\1\u03ce\11\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\3\10\1\u03cf\13\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\6\10\1\u03d0\10\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\2\10\1\u024b\3\10\2\0\1\u014f"+ "\5\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\1\10\1\u03d1\4\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\3\10\1\u03d2\2\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\6\10"+ "\1\u03d3\10\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\2\10\1\u03d4\3\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\2\10\1\u03d5\14\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\1\u03d6\1\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\17\10\2\0\1\7\5\10\1\u03d7\14\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\1\10"+ "\1\u03d8\15\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\1\10\1\u03d9\15\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\3\10\1\u03da\13\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\6\10\1\u03db"+ "\10\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\11\10\1\u03dc\5\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\1\u03dd\5\10"+ "\14\0\17\10\2\0\1\7\22\10\14\0\1\u03de\106\0"+ "\1\7\7\10\1\0\1\10\1\141\1\0\1\u03df\1\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\1\10\1\u03e0\15\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\1\10\1\u03e1"+ "\4\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\6\10\1\u03e2\10\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\3\10\1\u03e3\2\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\5\10\1\u03e4\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\1\u03e5\5\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\1\10\1\u03e6\4\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\1\u03e7\16\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\1\u03e8\5\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\17\10\2\0\1\7\10\10"+ "\1\u03e9\11\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\12\10\1\u0252\4\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\1\u03ea\5\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\1\u03eb\1\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\3\10\1\u03ec\2\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\1\10\1\u03ed\4\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\5\10\1\u03ee"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\17\10\2\0\1\7\2\10"+ "\1\u03ef\14\10\1\u02de\2\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\6\10\1\u03f0\10\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\13\10\1\u0249\3\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\15\10\1\u02d9\1\10"+ "\2\0\1\7\4\10\1\u02da\5\10\1\u02dc\4\10\1\u02de"+ "\2\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\1\10\1\u03f1"+ "\4\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\14\10\1\u03f2\2\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\3\10\1\u03f3\2\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\1\10\1\u0135\4\10"+ "\14\0\17\10\2\0\1\7\1\10\1\u03f4\20\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\3\10\1\u03f5\2\10\14\0"+ "\17\10\2\0\1\7\22\10\23\0\1\u029c\122\0\1\u029f"+ "\174\0\1\u03f6\64\0\1\u03f7\157\0\1\u03f8\65\0\1\u03f6"+ "\122\0\1\u03f9\74\0\1\u0355\147\0\1\u03fa\124\0\1\u03fb"+ "\152\0\1\u03fc\70\0\1\u03fd\146\0\1\u03fe\122\0\1\u03ff"+ "\51\0\1\u0400\171\0\1\u0401\102\0\1\u0402\121\0\1\u02ad"+ "\124\0\1\u0403\120\0\1\u0404\151\0\1\u02ad\126\0\1\u0405"+ "\66\0\1\u0406\150\0\1\u02ad\123\0\1\u0407\40\0\5\u0408"+ "\5\0\1\u0408\10\0\2\u0408\1\0\2\u0408\4\0\2\u0408"+ "\20\0\1\u0408\1\0\1\u0408\3\0\1\u0408\12\0\1\u0408"+ "\20\0\3\7\5\10\1\0\2\7\1\0\1\7\1\10"+ "\1\0\2\7\4\0\1\7\2\10\1\7\2\10\2\0"+ "\2\7\2\10\2\7\14\0\2\7\1\10\1\7\1\10"+ "\3\7\1\10\6\7\2\0\2\7\1\10\21\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\4\10\1\240\12\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\3\10\1\u021d\2\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\3\10\1\u0409\2\10"+ "\14\0\6\10\1\u040a\10\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\1\10\1\u038a"+ "\15\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\1\10\1\u040b\15\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\1\10\1\u040c\15\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\1\u040d\1\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\1\u040e"+ "\5\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\1\10\1\u040f\4\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\17\10\2\0\1\7\3\10\1\u0410\16\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\1\10\1\u0411\4\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\1\u0412\5\10\14\0\17\10\2\0\1\7"+ "\22\10\3\u0131\5\162\1\u0203\4\u0131\1\162\3\u0131\1\0"+ "\4\u0131\2\162\1\u0131\2\162\4\u0131\2\162\20\u0131\1\162"+ "\1\u0131\1\162\3\u0131\1\162\12\u0131\1\162\20\u0131\3\0"+ "\5\u0413\5\0\1\u0413\10\0\2\u0413\1\0\2\u0413\4\0"+ "\2\u0413\20\0\1\u0413\1\0\1\u0413\3\0\1\u0413\12\0"+ "\1\u0413\20\0\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\14\10\1\274\2\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\5\10\1\u0414\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\4\10\1\u0135\1\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\2\10"+ "\1\u0415\14\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\1\0\1\u0416\6\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\7\10\1\u0417\7\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\1\u03b7\5\10\2\0\6\10\14\0\17\10\2\0"+ "\1\7\7\10\1\u0418\12\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\2\10\1\u03f2\3\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\5\10\1\u0419"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\1\u0135\1\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\1\10\1\u041a"+ "\4\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\1\u0216\1\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\4\10\1\u041b\1\10"+ "\2\0\1\u041c\5\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\7\10"+ "\1\u041d\7\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\4\10\1\u041e\1\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\5\10"+ "\1\u041f\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\3\10\1\u0420\2\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\3\10\1\u0421\13\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\1\u0422\5\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\1\u038b\5\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\1\10\1\u0423\4\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\6\10\1\u041e\10\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\1\u0424\1\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\3\10\1\u0425\2\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\3\10\1\u0426\2\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\6\10"+ "\1\u0427\10\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\1\u0428\5\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\6\10\1\u0429\10\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\2\10\1\u042a\3\10\2\0\6\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\2\10\1\u042b\3\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\1\u013f\1\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\2\10\1\u042c\14\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\1\u042d\5\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\4\10\1\u0157\12\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\1\u042e"+ "\5\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\1\10\1\u042f\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\1\10\1\u0135\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\1\10\1\u0430\15\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\3\10\1\u0431\13\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\1\u0432\5\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\1\u0379\5\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\u015f\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\3\10\1\u0433\2\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\4\10"+ "\1\u0434\12\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\17\10\2\0\1\7\10\10"+ "\1\u0435\11\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\1\240"+ "\5\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\2\10\1\u0436\3\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\3\10\1\u0437\2\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\3\10\1\u0438\2\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\3\10\1\u0439\13\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\1\u03ac"+ "\5\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\1\u043a\1\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\3\10"+ "\1\u043b\2\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\3\10\1\u043c"+ "\13\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\2\10\1\u043d\3\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\4\10\1\u043e\12\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\17\10\2\0\1\7"+ "\1\10\1\u043f\20\10\3\7\5\u0440\1\0\2\7\1\0"+ "\1\7\1\u0440\1\0\2\7\4\0\1\7\2\u0440\1\7"+ "\2\u0440\2\0\2\7\2\u0440\2\7\14\0\2\7\1\u0440"+ "\1\7\1\u0440\3\7\1\u0440\6\7\2\0\2\7\1\u0440"+ "\21\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\1\10"+ "\1\u0441\15\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\4\10\1\u0442\12\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\6\10\1\u0443\10\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\2\10\1\304\3\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\1\u0444\5\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\1\u0445\1\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\2\10\1\u0446\3\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\6\10\1\u0447\10\10\2\0\1\7\22\10\1\7\5\10"+ "\1\u0448\1\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\17\10"+ "\2\0\1\7\5\10\1\u0449\14\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\1\10\1\u044a\4\10\2\0\6\10\14\0\15\10\1\u02d9"+ "\1\10\2\0\1\7\4\10\1\u03ba\1\u0449\11\10\1\u02de"+ "\2\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\17\10\2\0\1\7\10\10\1\u044b\11\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\1\10\1\u044c\4\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\12\10\1\u044d\4\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\6\10"+ "\1\u044e\10\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\2\10\1\u044f\3\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\1\u0450"+ "\5\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\4\10\1\u0451\12\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\17\10\2\0\1\7\5\10\1\u0452\14\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\6\10"+ "\1\u0453\10\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\3\10\1\u0454\2\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\u0455\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\1\u0456\5\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\1\u0457\5\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\u0458\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\1\u0459\5\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\6\10\1\u045a\10\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\3\10\1\u045b"+ "\2\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\2\10\1\u045c\14\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\7\10\1\u045d\7\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\4\10\1\u045e\1\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\1\u045f\5\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\3\10\1\u0425\13\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\1\u0460\5\10\1\0\1\u0461\6\10\14\0\10\10"+ "\1\u0462\6\10\2\0\1\7\15\10\1\u0463\4\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\14\10\1\u0464"+ "\2\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\3\10\1\u0465\2\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\1\u0249"+ "\1\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\1\u0466\5\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\1\10\1\u0467\15\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\5\10\1\u0468\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\1\u0469\1\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\3\10\1\u046a\2\10\14\0\17\10"+ "\2\0\1\7\22\10\35\0\1\u046b\65\0\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\13\10\1\u046c\3\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\6\10\1\u046d\10\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\4\10\1\u046e\1\10\2\0\6\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\12\10\1\u046f\4\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\2\10\1\u0470\3\10"+ "\2\0\6\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\5\10\1\u0471\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\6\10\1\u0472\10\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\6\10"+ "\1\u0473\10\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\4\10\1\u0474\1\u0475\2\0\6\10\14\0\17\10\2\0"+ "\1\7\10\10\1\u0476\11\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\17\10\2\0\1\7\2\10\1\u0477"+ "\17\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\2\10\1\u0478"+ "\3\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\5\10\1\u0135\14\0\17\10\2\0"+ "\1\7\2\10\1\u0479\1\10\1\u047a\5\10\1\u047b\7\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\3\10\1\u047c\2\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\4\10\1\u047d\12\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\1\u047e"+ "\5\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\5\10\1\u047f\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\1\u0480"+ "\5\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\1\u0481\5\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\6\10\1\u0482\10\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\5\10\1\u0483\2\0\6\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\4\10\1\u0484\1\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\2\10\1\u0485\3\10\2\0\6\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\5\10\1\u0486\14\0\17\10\2\0\1\7"+ "\22\10\77\u03f6\1\u02ad\23\u03f6\36\0\1\u0487\144\0\1\u0488"+ "\100\0\1\u0489\151\0\1\u048a\116\0\1\u048b\103\0\1\u02ad"+ "\74\0\1\u02ad\147\0\1\u0361\116\0\1\u0368\146\0\1\u0361"+ "\77\0\1\u02ad\125\0\1\u048c\120\0\1\u048d\146\0\1\u048e"+ "\117\0\1\u048f\56\0\1\u048a\166\0\1\u03fd\45\0\5\u0490"+ "\5\0\1\u0490\10\0\2\u0490\1\0\2\u0490\4\0\2\u0490"+ "\20\0\1\u0490\1\0\1\u0490\3\0\1\u0490\12\0\1\u0490"+ "\20\0\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\5\10\1\u0491"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\1\10\1\u0492\4\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\1\10"+ "\1\u0493\4\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\1\u0494\5\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\12\10\1\u0495\4\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\2\10\1\u0496\3\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\3\10\1\u0497\2\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\u0498\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\2\10\1\u0499\3\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\6\10\1\u049a\10\10\2\0\1\7\22\10\3\0"+ "\5\165\5\0\1\165\10\0\2\165\1\0\2\165\4\0"+ "\2\165\20\0\1\165\1\0\1\165\3\0\1\165\12\0"+ "\1\165\20\0\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\1\u049b"+ "\5\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\2\10\1\u049c\3\10\14\0\17\10"+ "\2\0\1\7\22\10\6\0\1\u049d\17\0\1\u049e\74\0"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\2\10\1\u049f\3\10\2\0\6\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\3\10\1\u04a0\2\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\1\10\1\u04a1\15\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\3\10\1\u04a2\2\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\4\10\1\u04a3\1\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\2\10\1\u04a4"+ "\1\u04a5\2\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\2\10\1\u04a6\3\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\1\u031a\5\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\4\10"+ "\1\u04a7\12\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\2\10\1\u031a\14\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\u04a8\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\4\10\1\u04a9\1\10\2\0\6\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\7\10\1\u04aa\7\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\5\10\1\u04ab\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\1\u04ac\5\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\4\10\1\u04ad\1\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\1\10\1\u04ae\15\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\3\10\1\u04af"+ "\2\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\5\10\1\u04b0\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\17\10\2\0\1\7\13\10\1\u0182\6\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\1\u0157\1\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\5\10\1\u04b1\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\1\u04b2\16\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\2\10\1\u04b3\14\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\3\10"+ "\1\274\13\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\1\u04b4\1\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\2\10\1\u04b5"+ "\3\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\2\10\1\u0191\3\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\4\10\1\u015f\12\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\2\10\1\u04b6\3\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\2\10\1\u04b7\3\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\1\u04b8\1\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\5\10\1\u04b9\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\1\u04ba"+ "\5\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\u04bb\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\3\10\1\u0161"+ "\2\10\14\0\17\10\2\0\1\7\22\10\1\7\5\10"+ "\1\u0300\1\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\17\10"+ "\2\0\1\7\14\10\1\u04bc\5\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\2\10\1\u04bd\3\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\5\10\1\u0222\2\0"+ "\6\10\14\0\17\10\2\0\1\7\14\10\1\u02dd\5\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\2\10\1\u04be\3\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\4\10\1\u04bf\12\10\2\0"+ "\1\7\22\10\3\7\5\320\1\0\2\7\1\0\1\7"+ "\1\320\1\0\2\7\4\0\1\7\2\320\1\7\2\320"+ "\2\0\2\7\2\320\2\7\14\0\2\7\1\320\1\7"+ "\1\320\3\7\1\320\6\7\2\0\2\7\1\320\21\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\5\10\1\u01fd\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\1\u04c0\5\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\5\10\1\u0218\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\1\10\1\u04c1\15\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\2\10"+ "\1\u01ac\14\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\1\u04c2\5\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\1\10\1\u04c3\15\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\1\10\1\u04c4\15\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\1\10\1\u04c5\15\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\u04c6\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\3\10\1\311\2\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\3\10\1\u04c7\2\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\2\10\1\u04c8\3\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\17\10\2\0\1\7\1\u04c9\21\10\1\7\5\10"+ "\1\u04ca\1\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\1\u036e\5\10\2\0\6\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\14\10\1\u04cb\2\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\2\10\1\u04cc"+ "\3\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\6\10\1\u04cd\10\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\4\10\1\u04ce\1\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\4\10\1\u03f2\1\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\3\10\1\u04cf\13\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\6\10\1\u04d0\10\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\3\10\1\u04d1\2\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\1\u04d2\5\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\1\10\1\u04d3\4\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\5\10\1\u04d4\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\1\u04d5\5\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\5\10\1\u04d6"+ "\1\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\17\10\2\0"+ "\1\7\12\10\1\u04d7\1\10\1\u04d8\5\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\2\10\1\u04d9\3\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\4\10\1\u04da"+ "\1\10\2\0\6\10\14\0\17\10\2\0\1\7\1\10"+ "\1\u04db\1\u04dc\2\10\1\u04dd\2\10\1\u04de\11\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\14\10\1\u0299"+ "\2\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\1\10\1\u04df\15\10\2\0\1\7"+ "\22\10\103\0\1\u04e0\3\0\1\u04e1\13\0\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\2\10\1\u044b\3\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\1\10\1\u04e2\4\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\1\u04e3\5\10\2\0\6\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\5\10\1\u04e4\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\17\10"+ "\2\0\1\7\14\10\1\u04e5\5\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\1\10\1\u04e6\4\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\1\10\1\u04e7\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\4\10\1\u04e8\1\u0483\2\0\6\10\14\0\17\10"+ "\2\0\1\7\22\10\36\0\1\u04e9\64\0\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\4\10\1\u04ea\1\10\2\0\6\10\14\0\15\10"+ "\1\u04eb\1\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\1\u04ec\1\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\1\10\1\u04ed\15\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\2\10\1\u04ee\3\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\4\10\1\u01b4\1\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\10\10"+ "\1\u04ef\6\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\12\10\1\u04f0\4\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\3\10"+ "\1\u04f1\2\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\6\10\1\u04f2"+ "\10\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\4\10\1\u04f3\1\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\2\10\1\u04f4"+ "\3\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\1\u04f5\5\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\7\10\1\u04f6\7\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\1\u04f7\5\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\1\u04f8\1\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\u04f9\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\4\10"+ "\1\u04fa\1\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\16\10\1\u04fb"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\6\10\1\u04fc\5\10\1\u04fd\2\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\1\10\1\u04fe\4\10"+ "\2\0\6\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\1\10\1\u04ff\4\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\14\10\1\u0500\2\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\3\10\1\u0501"+ "\2\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\1\10\1\221\4\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\17\10\2\0\1\7\10\10\1\u0502\11\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\1\10"+ "\1\u0503\15\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\1\u0504\16\10\2\0\1\7"+ "\22\10\40\0\1\u0505\142\0\1\u0506\127\0\1\u0507\75\0"+ "\1\u0508\124\0\1\u0509\111\0\1\u050a\35\0\1\u050b\70\0"+ "\1\u0361\125\0\1\u050c\120\0\1\u050d\67\0\5\u011a\5\0"+ "\1\u011a\10\0\2\u011a\1\0\2\u011a\4\0\2\u011a\20\0"+ "\1\u011a\1\0\1\u011a\3\0\1\u011a\12\0\1\u011a\20\0"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\1\u0154\5\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\4\10\1\u050e\12\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\7\10\1\u050f\7\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\17\10\2\0\1\7"+ "\2\10\1\u0510\17\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\2\10\1\u0511\3\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\1\10\1\u0512\4\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\14\10\1\u0513\2\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\2\10"+ "\1\u0514\3\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\1\u0515\1\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\1\10\1\u0516\15\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\17\10"+ "\2\0\1\7\4\10\1\u0517\15\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\5\10\1\u0518\11\10\2\0"+ "\1\7\22\10\40\0\1\u0519\73\0\1\u051a\111\0\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\2\10\1\u051b\3\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\5\10\1\u051c\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\u051d\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\14\10\1\u051e\2\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\3\10\1\u051f\2\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\1\10\1\u0520\4\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\2\10\1\u0521\3\10"+ "\2\0\6\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\4\10\1\u02d7\1\10\2\0\6\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\1\10\1\u0522\4\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\1\u0523\5\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\1\10\1\u0524\15\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\6\10\1\u0525\10\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\1\u0526\5\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\6\10\1\u0527\10\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\6\10"+ "\1\u0528\10\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\1\u0529\1\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\4\10\1\u052a\12\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\1\u052b\5\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\17\10\2\0\1\7\5\10\1\u052c\14\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\17\10\2\0"+ "\1\7\4\10\1\u052d\15\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\1\10\1\u052e\15\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\6\10\1\u052f\10\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\1\10\1\u03a8\4\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\1\10\1\u0530\15\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\1\u0531\5\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\1\u0159\5\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\5\10\1\u0135\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\2\10\1\u0532\3\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\1\u0533\5\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\1\10\1\u0534\4\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\1\10"+ "\1\u0535\4\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\1\10\1\u0536\4\10\2\0\6\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\4\10\1\u0537\12\10\2\0\1\7"+ "\22\10\1\7\5\10\1\u0538\1\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\1\u03b7\5\10"+ "\2\0\6\10\14\0\17\10\2\0\1\7\2\10\1\u0539"+ "\5\10\1\u053a\7\10\1\105\1\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\1\10\1\u04f0\4\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\6\10\1\u053b\10\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\1\u03f2\1\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\1\10\1\u053c\4\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\16\10"+ "\1\u053d\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\1\10\1\u053e\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\6\10\1\u053f\10\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\4\10\1\u0540\12\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\1\10\1\u0541\4\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\3\10\1\u0542\2\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\1\10\1\u0543\15\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\5\10\1\u0222\2\0\6\10\14\0\17\10\2\0"+ "\1\7\10\10\1\u0544\11\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\17\10\2\0\1\7\4\10\1\u02da"+ "\15\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\7\10\1\u0545\7\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\2\10\1\u0546\3\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\1\u0547\5\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\3\10\1\u0548\2\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\2\10"+ "\1\u0549\3\10\2\0\6\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\17\10\2\0\1\7\12\10\1\u054a\7\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\2\10\1\u054b\3\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\7\10\1\u054c\7\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\6\10"+ "\1\u054d\10\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\4\10\1\u054e\1\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\2\10\1\u054f\3\10"+ "\2\0\6\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\1\10\1\u0550\4\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\2\10\1\u0551\14\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\1\10\1\u0552\15\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\1\10\1\u0553\4\10\14\0\4\10"+ "\1\u0554\12\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\1\u0555\5\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\1\u0556\16\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\1\10\1\u0557\15\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\4\10\1\u0558\12\10\2\0\1\7\22\10\35\0"+ "\1\u0559\101\0\1\u055a\106\0\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\1\10\1\u055b\15\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\6\10\1\u055c\10\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\16\10\1\u0135\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\1\10"+ "\1\u055d\4\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\1\u055e\5\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\6\10\1\u055f\10\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\1\10"+ "\1\u0560\15\10\2\0\1\7\22\10\73\0\1\u0561\27\0"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\1\10"+ "\1\u0562\15\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\2\10\1\u0563\3\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\1\u0564"+ "\5\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\1\10\1\u0565\4\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\17\10\2\0\1\7\1\10\1\u0566\20\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\2\10\1\u0567\3\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\2\10\1\u0154\3\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\4\10"+ "\1\u0568\1\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\2\10\1\u0569\3\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\2\10\1\u056a\3\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\1\u056b\5\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\1\10\1\u056c\4\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\1\10\1\u056d\15\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\1\10\1\u056e\4\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\3\10\1\u056f\13\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\1\u0570\5\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\10\10\1\u0571\6\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\15\10\1\u02d9\1\10\2\0\1\7\4\10\1\u02da"+ "\15\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\2\10\1\u04b9"+ "\3\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\15\10\1\u02ce\1\10"+ "\2\0\1\7\14\10\1\u02dd\5\10\1\7\7\10\1\0"+ "\1\u0572\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\2\10\1\u0573\3\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\17\10\2\0\1\7\20\10"+ "\1\105\1\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\1\u0574\1\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\3\10\1\u0575\2\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\1\10\1\u0576\4\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\17\10"+ "\2\0\1\7\10\10\1\u02e1\11\10\41\0\1\u03f6\116\0"+ "\1\u03f6\122\0\1\u0577\126\0\1\u02ad\121\0\1\u0578\147\0"+ "\1\u0579\75\0\1\u057a\117\0\1\u057b\160\0\1\u02ad\27\0"+ "\1\7\7\10\1\0\1\u057c\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\3\10\1\u057d\2\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\u057e\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\1\10\1\u057f\4\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\1\0\1\u0580\6\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\15\10\1\u02d9\1\10\2\0\1\7"+ "\17\10\1\u02de\2\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\1\u0581\1\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\1\u0582\5\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\1\u0583\1\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\1\u0584\1\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\17\10\2\0\1\7\12\10\1\u039f\3\10"+ "\1\u0585\3\10\35\0\1\u0586\152\0\1\u0587\35\0\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\1\10\1\u04fb\4\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\1\u0274\16\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\1\10\1\u0588\4\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\17\10\2\0\1\7\4\10"+ "\1\u02da\5\10\1\u02dc\7\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\13\10\1\u0589\3\10\2\0\1\7"+ "\22\10\1\7\5\10\1\u058a\1\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\1\0"+ "\1\u058b\6\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\4\10\1\u058c\1\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\6\10\1\u058d\10\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\17\10\2\0\1\7\2\10\1\u03ef\17\10\1\7\7\10"+ "\1\0\1\u058e\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\5\10\1\u058f"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\3\10\1\u0590\2\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\1\10\1\u0383\15\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\17\10\2\0"+ "\1\7\1\u0250\21\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\17\10\2\0\1\7\4\10\1\u0591\15\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\16\10"+ "\1\u0154\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\2\10\1\u0592\3\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\1\10\1\u0135\15\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\1\u0593\1\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\11\10\1\u0594\5\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\17\10\2\0"+ "\1\7\1\u0432\21\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\1\10\1\274\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\1\u0595\16\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\4\10\1\u0596"+ "\1\10\2\0\6\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\1\10"+ "\1\u0597\15\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\1\u0598\5\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\u0599\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\2\10\1\u059a\3\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\1\10\1\u059b\15\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\2\10\1\u059c\3\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\2\10\1\u059d\1\u059e\2\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\4\10\1\u0154\12\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\1\10\1\u059f\4\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\2\10\1\u05a0\3\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\1\10\1\u05a1"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\4\10\1\u0420\1\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\2\10\1\u05a2"+ "\3\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\1\10\1\u05a3\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\2\10\1\u05a4\3\10"+ "\2\0\6\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\1\u05a5\1\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\3\10\1\u05a6\2\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\2\10\1\u05a7\3\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\2\10\1\u0154\14\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\2\10"+ "\1\u05a8\3\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\1\u05a9\5\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\4\10\1\u05aa\1\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\1\10\1\u05ab"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\3\10\1\u05ac\2\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\3\10\1\u05ad"+ "\2\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\2\10\1\u05ae\3\10\2\0\6\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\3\10\1\u05af\2\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\17\10"+ "\2\0\1\7\13\10\1\u05b0\6\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\1\10\1\u05b1\15\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\1\u05b2\5\10\2\0"+ "\6\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\1\10\1\u05b3\4\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\13\10\1\u05b4\3\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\4\10"+ "\1\u05b5\12\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\3\10\1\u05b6\2\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\1\10"+ "\1\u05b7\4\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\1\u05b8\1\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\3\10\1\u037b\2\10\14\0\17\10\2\0\1\7\22\10"+ "\40\0\1\u05b9\145\0\1\u05ba\37\0\1\7\7\10\1\0"+ "\1\u0172\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\5\10\1\u05bb\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\2\10\1\u05bc\3\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\2\10\1\u05bd"+ "\3\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\2\10\1\u05be\3\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\1\10\1\u05bf\4\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\1\10\1\u05c0\4\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\5\10\1\u05c1\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\2\10\1\u05c2"+ "\3\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\7\10\1\u05c3\7\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\1\10\1\u05c4\4\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\1\10\1\u05c5"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\6\10\1\u05c6\10\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\4\10\1\u05c7"+ "\1\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\7\10\1\u05c8\7\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\1\u05c9\16\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\2\10\1\u05ca\3\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\1\10\1\u034a\4\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\2\10\1\u05cb"+ "\3\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\u05cc\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\3\10\1\u05cd\13\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\3\10\1\u05ce\2\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\6\10\1\u05cf\10\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\3\10\1\u031d\2\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\5\10\1\u05d0"+ "\1\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\4\10\1\u05d1\12\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\1\u04ce\5\10\14\0\17\10"+ "\2\0\1\7\22\10\67\0\1\u05d2\50\0\1\u05d3\144\0"+ "\1\u05d4\120\0\1\u05d5\124\0\1\u05d6\63\0\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\4\10\1\u05d7\1\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\1\u03f2\5\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\3\10\1\u05d8"+ "\13\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\5\10\1\u05d9\14\0\17\10\2\0\1\7\22\10"+ "\103\0\1\u05da\3\0\1\u05db\13\0\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\4\10\1\u0249\12\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\17\10\2\0\1\7\10\10\1\u05dc\11\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\2\10\1\u05dd"+ "\14\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\3\10\1\u05de\2\10\14\0\17\10\2\0\1\7"+ "\22\10\37\0\1\u05df\124\0\1\u05e0\61\0\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\4\10\1\u05e1\12\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\5\10\1\u05e2\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\4\10\1\u05e3\1\10\14\0"+ "\17\10\2\0\1\7\22\10\26\0\1\u05e4\74\0\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\2\10\1\u05e5\3\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\3\10\1\u01d2\13\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\1\u0546"+ "\1\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\5\10\1\u04ac\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\1\u05e6"+ "\1\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\1\u05e7\1\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\1\u05e8"+ "\1\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\2\10\1\u05e9\14\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\1\u05ea\1\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\1\10\1\u01d3\15\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\1\10\1\u05eb\15\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\3\10"+ "\1\u05ec\13\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\6\10\1\u04fc\10\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\1\u05ed\1\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\5\10\1\u05ee\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\4\10"+ "\1\u05ef\1\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\1\u0135\5\10\14\0\17\10"+ "\2\0\1\7\3\10\1\u05f0\16\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\1\u05f1\5\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\3\10\1\u05f2\13\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\u05f3\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\1\u05f4"+ "\1\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\2\10\1\u05f5\3\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\5\10\1\u05f6\2\0"+ "\6\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\4\10\1\u05f7\1\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\4\10\1\u05f8\1\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\1\10\1\u05f9"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\1\u05fa\1\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\17\10"+ "\2\0\1\7\21\10\1\u032d\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\2\10\1\u05fb\14\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\6\10\1\u05fc\10\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\2\10\1\u05fd\3\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\1\10\1\u05fe"+ "\4\10\2\0\6\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\7\10"+ "\1\u05ff\7\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\1\u0600\5\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\4\10\1\u0601"+ "\1\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\5\10\1\u0602\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\2\10"+ "\1\u0603\3\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\3\10\1\u0604"+ "\13\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\1\10\1\u0605\15\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\7\10\1\u0606\7\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\u056a\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\2\10\1\u0607"+ "\3\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\1\u04f0\5\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\2\10"+ "\1\u0608\3\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\6\10\1\u0609"+ "\10\10\2\0\1\7\22\10\35\0\1\u060a\125\0\1\u060b"+ "\62\0\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\1\u060c\5\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\5\10\1\u05c8\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\2\10\1\u060d\14\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\2\10\1\u060e\14\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\7\10\1\u060f\7\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\7\10"+ "\1\u0610\7\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\1\10\1\u0611\15\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\1\10"+ "\1\u0154\4\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\3\10\1\u0491\2\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\1\10\1\u0612\4\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\4\10\1\u0613\1\10\2\0"+ "\6\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\17\10\2\0\1\7"+ "\1\u0614\21\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\2\10\1\341\14\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\2\10\1\u0615\3\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\1\10\1\u05c7\15\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\3\10\1\u0616"+ "\2\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\3\10\1\u0617\2\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\1\u0618\5\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\u0619\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\1\u061a"+ "\5\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\4\10\1\u061b\1\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\3\10\1\156\2\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\1\u061c"+ "\16\10\2\0\1\7\22\10\60\0\1\u061d\101\0\1\u061e"+ "\124\0\1\u05d6\121\0\1\u02ad\143\0\1\u02ad\41\0\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\3\10\1\u061f\2\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\3\10\1\u0485\13\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\6\10\1\u0620\10\10\2\0\1\7\22\10\11\0\1\u0621"+ "\125\0\1\u0622\106\0\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\1\10\1\u0623\15\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\2\10\1\u0624\3\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\4\10\1\u0625\1\10\14\0\17\10\2\0"+ "\1\7\22\10\72\0\1\u0626\111\0\1\u0627\41\0\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\2\10\1\u0628\3\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\5\10\1\u0629\1\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\1\10\1\u062a\15\10\2\0\1\7\22\10\65\0\1\u062b"+ "\35\0\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\4\10\1\u062c\1\10\2\0"+ "\6\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\1\u0279\5\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\17\10\2\0\1\7\4\10\1\u062d\15\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\2\10\1\u062e\3\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\2\10\1\u062f\3\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\17\10\2\0\1\7\7\10\1\u0630\12\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\1\10\1\u0631\4\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\2\10\1\u0632\3\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\2\10"; private static final String ZZ_TRANS_PACKED_1 = "\1\u0633\14\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\5\10\1\u0634\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\4\10\1\u0635"+ "\1\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\u0636\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\1\u0637\16\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\1\0\1\u0638\6\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\3\10\1\u0576\13\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\6\10\1\u0639\10\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\1\10\1\u063a\4\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\4\10\1\u063b\1\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\1\10\1\u063c\15\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\2\10"+ "\1\u063d\3\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\6\10\1\u063e"+ "\10\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\3\10\1\u063f\2\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\5\10\1\u0222\2\0\6\10"+ "\14\0\17\10\2\0\1\7\4\10\1\u0640\15\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\1\10\1\u0641"+ "\15\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\17\10\2\0\1\7\5\10\1\u0642"+ "\14\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\1\10\1\u0643\15\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\15\10\1\u02d9\1\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\4\10\1\u0644\12\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\2\10\1\u0645\3\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\5\10\1\u0154\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\4\10\1\u0491\12\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\2\10\1\u0646\3\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\4\10\1\u0647\12\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\3\10\1\u0648\2\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\5\10\1\u0649\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\3\10\1\u064a"+ "\2\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\1\u064b\5\10\14\0\17\10\2\0"+ "\1\7\22\10\37\0\1\u0561\74\0\1\u064c\111\0\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\2\10\1\u064d\3\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\5\10\1\u064e\1\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\5\10\1\u064f\2\0\6\10\14\0\17\10\2\0"+ "\1\7\12\10\1\u0650\7\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\1\u0651"+ "\5\10\2\0\6\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\3\10\1\u0652\2\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\3\10\1\u0653\2\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\u0654\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\3\10\1\u0655\2\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\1\10\1\u0656\15\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\3\10\1\u0657\2\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\1\u0491\1\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\7\10"+ "\1\u0658\7\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\7\10\1\u0659\7\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\17\10\2\0\1\7\2\10\1\u065a\13\10\1\u065b"+ "\3\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\1\u065c\5\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\3\10\1\u0154\2\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\2\10\1\u065d\14\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\6\10\1\u065e"+ "\10\10\2\0\1\7\22\10\63\0\1\u03f6\74\0\1\u050d"+ "\65\0\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\1\10\1\u065f"+ "\4\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\1\10\1\u0660\15\10"+ "\2\0\1\7\22\10\27\0\1\u0661\160\0\1\u0662\35\0"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\2\10"+ "\1\u0663\14\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\5\10\1\u0664\11\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\u04fc\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\17\10\2\0\1\7\22\10\60\0\1\u046b\101\0"+ "\1\u0665\63\0\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\1\10\1\u0666\4\10"+ "\2\0\6\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\1\10\1\u0667"+ "\15\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\5\10\1\u04ce\14\0\17\10\2\0\1\7\22\10"+ "\72\0\1\u0668\30\0\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\4\10\1\u0669\1\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\1\u066a\1\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\1\10\1\u066b\4\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\5\10\1\u0135\11\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\1\10\1\u066c\15\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\7\10\1\u066d\7\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\1\10\1\u066e\4\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\4\10\1\u066f\1\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\4\10\1\u0670\1\10"+ "\2\0\6\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\2\10\1\u0671\3\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\2\10\1\u0672\3\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\1\10\1\u0673\15\10\2\0\1\7\22\10\103\0\1\u0674"+ "\17\0\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\17\10\2\0\1\7\1\u031a\21\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\2\10\1\u0675\3\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\11\10\1\u03f2\5\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\17\10\2\0"+ "\1\7\14\10\1\u02dd\5\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\13\10\1\u0676\3\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\13\10\1\u031a\3\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\17\10\2\0\1\7"+ "\12\10\1\u0154\7\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\1\341\1\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\1\u0677\16\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\u0678\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\1\u0154\16\10\2\0"+ "\1\7\22\10\1\7\5\10\1\u0679\1\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\1\10\1\u067a\4\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\3\10\1\u067b\2\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\1\u067c\5\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\5\10\1\341\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\2\10\1\u067d\14\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\1\10\1\u067e\15\10"+ "\2\0\1\7\22\10\72\0\1\u067f\30\0\1\7\7\10"+ "\1\0\1\10\1\141\1\0\1\u0680\1\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\4\10"+ "\1\u0681\1\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\1\u0682\1\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\3\10\1\u0683\13\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\6\10"+ "\1\u0684\10\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\1\u0685\5\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\1\u0686\5\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\1\10\1\u0687\4\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\14\10\1\u0688\2\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\u0689\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\2\10\1\u067b\3\10"+ "\2\0\6\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\17\10\2\0"+ "\1\7\17\10\1\u02de\2\10\1\7\5\10\1\u068a\1\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\4\10\1\u068b\1\u0222\2\0\6\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\1\u068c\5\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\3\10\1\u068d\2\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\17\10\2\0\1\7\2\10\1\u068e"+ "\17\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\2\10\1\u068f"+ "\3\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\1\u0380\1\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\6\10\1\u0690\10\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\1\u0154\1\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\17\10"+ "\2\0\1\7\22\10\42\0\1\u0691\143\0\1\u0692\37\0"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\6\10"+ "\1\u0693\10\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\17\10\2\0\1\7\12\10"+ "\1\u039f\7\10\36\0\1\u0561\64\0\1\7\7\10\1\0"+ "\1\u0694\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\1\u0695\1\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\17\10\2\0\1\7\22\10\67\0\1\u0696\33\0\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\3\10\1\u0697\2\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\6\10\1\u0698\10\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\17\10\2\0\1\7\14\10\1\u0699\5\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\1\10\1\u04e4\15\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\3\10\1\u069a\2\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\1\u069b\5\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\2\10\1\u069c\3\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\6\10\1\u024b\10\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\4\10\1\u0425\12\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\1\u069d\1\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\2\10\1\u03f2"+ "\14\10\2\0\1\7\22\10\65\0\1\u069e\35\0\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\7\10\1\u069f"+ "\7\10\2\0\1\7\22\10\1\7\7\10\1\0\1\u06a0"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\1\10\1\u06a1\4\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\1\u06a2\1\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\4\10\1\u06a3\1\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\1\u06a4\5\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\4\10\1\u04f0"+ "\1\10\14\0\17\10\2\0\1\7\22\10\1\7\5\10"+ "\1\u06a5\1\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\4\10\1\u06a6\1\u0222\2\0\6\10"+ "\14\0\17\10\2\0\1\7\14\10\1\u06a7\2\10\1\u06a8"+ "\2\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\17\10\2\0\1\7\2\10\1\u04dc\17\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\1\10\1\u067d\4\10\14\0\17\10"+ "\2\0\1\7\22\10\57\0\1\u06a9\43\0\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\2\10\1\u06aa\3\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\3\10\1\u06ab\2\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\4\10"+ "\1\u06ac\12\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\2\10\1\u06ad\3\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\1\u06ae\1\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\17\10\2\0\1\7\22\10\1\7\5\10"+ "\1\u02bd\1\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\4\10\1\u06a6\1\10\2\0\6\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\17\10\2\0\1\7\1\10"+ "\1\u06af\15\10\1\u06a8\2\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\4\10\1\u04f0\12\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\17\10\2\0\1\7\2\10\1\u06b0\17\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\1\u0673\1\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\4\10"+ "\1\u03aa\1\10\14\0\1\10\1\u06b1\15\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\6\10\1\u06b2\10\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\1\10\1\u06b3\4\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\4\10\1\u06b4\1\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\1\u06b5\5\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\1\10\1\u06b6\4\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\1\u034a\5\10"+ "\14\0\17\10\2\0\1\7\22\10\37\0\1\u06b7\143\0"+ "\1\u06b8\42\0\1\7\7\10\1\0\1\10\1\141\1\0"+ "\1\10\1\u06b9\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\1\u06ba\1\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\12\10\1\u06bb\4\10\2\0\1\7\22\10\37\0"+ "\1\u06bc\63\0\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\13\10\1\u04b9\3\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\1\u06bd\5\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\1\10\1\u06be\4\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\1\u06bf\5\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\14\10\1\u06c0\2\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\1\0\1\u06c1\6\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\1\u06c2\5\10\14\0\17\10\2\0\1\7"+ "\22\10\66\0\1\u06c3\34\0\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\2\10\1\u06c4\3\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\1\10\1\u06c5"+ "\4\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\2\10\1\u06c6\3\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\2\10\1\u0602\14\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\3\10\1\u06c7\2\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\6\10\1\u06c8\10\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\1\10\1\u06c9\15\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\4\10\1\u06ca\1\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\1\10\1\u06cb\4\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\6\10\1\u06cc\10\10\2\0\1\7\22\10\35\0\1\u06cd"+ "\65\0\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\1\10\1\u0602"+ "\4\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\5\10\1\u06ce\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\1\10\1\u06cf\15\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\1\10\1\u06d0\4\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\16\10\1\u03f2\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\1\10\1\u0553\4\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\6\10\1\u06d1\10\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\1\u06d2\1\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\2\10\1\u06d3\3\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\2\10\1\u06d4\3\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\6\10"+ "\1\u06d5\10\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\1\10\1\u06d6\4\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\1\0\1\u06d7"+ "\6\10\14\0\17\10\2\0\1\7\22\10\35\0\1\u0561"+ "\146\0\1\u06d8\41\0\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\6\10\1\u06d9\10\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\2\10"+ "\1\u024b\14\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\2\10\1\u06da\3\10\14\0\17\10\2\0"+ "\1\7\22\10\63\0\1\u06db\37\0\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\6\10\1\u06dc\10\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\1\10\1\u06dd\15\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\4\10\1\u06a6\1\10\2\0\6\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\17\10\2\0\1\7\16\10\1\u0585"+ "\3\10\6\0\1\u06de\114\0\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\6\10\1\u06df\10\10\2\0\1\7"+ "\22\10\62\0\1\u06e0\40\0\1\7\7\10\1\0\1\10"+ "\1\141\1\0\1\u0218\1\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\3\10\1\u030f\2\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\3\10\1\u06e1\2\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\5\10"+ "\1\u06e2\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\2\10\1\u06e3\3\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\1\u040d\1\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\2\10\1\u06e4\14\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\3\10\1\u06e5"+ "\2\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\2\10\1\u06e6\3\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\2\10\1\u06e7\14\10\2\0\1\7\22\10"+ "\32\0\1\u06e8\70\0\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\5\10\1\u06e9\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\2\10\1\u06ea"+ "\14\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\3\10\1\u06eb\2\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\17\10\2\0\1\7\1\u04f0\21\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\5\10\1\u06ec\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\4\10\1\u01d3"+ "\1\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\3\10\1\u06ed\2\10\14\0\17\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\2\10\1\u0391\14\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\2\10\1\u06ee\3\10"+ "\14\0\17\10\2\0\1\7\22\10\74\0\1\u06ef\65\0"+ "\1\u06f0\63\0\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\4\10\1\u06d0\12\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\1\10\1\u06f1\4\10\14\0"+ "\17\10\2\0\1\7\22\10\65\0\1\u06f2\35\0\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\3\10\1\u06f3\2\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\5\10\1\240\11\10\2\0\1\7"+ "\22\10\60\0\1\u06f4\42\0\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\3\10\1\u06f5\2\10\14\0\17\10\2\0\1\7"+ "\22\10\41\0\1\u06f6\61\0\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\2\10\1\u06f7\14\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\5\10\1\u06f8"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\5\10\1\u046a\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\2\10\1\u06f9"+ "\3\10\14\0\17\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\13\10\1\u0602\3\10"+ "\2\0\1\7\22\10\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\2\0"+ "\6\10\14\0\4\10\1\u06fa\12\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\1\u0644\5\10\14\0"+ "\17\10\2\0\1\7\22\10\64\0\1\u06fb\36\0\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\17\10\2\0"+ "\1\7\16\10\1\u06fc\3\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\6\10\1\u06fd\10\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\1\u05d9\5\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\1\u06fe\5\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\7\10\1\u06ff\7\10\2\0\1\7\22\10\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\3\10\1\u0700\2\10\14\0\17\10"+ "\2\0\1\7\22\10\37\0\1\u0701\111\0\1\u0702\54\0"+ "\1\u0703\17\0\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\5\10"+ "\1\u0704\14\0\17\10\2\0\1\7\22\10\66\0\1\u0705"+ "\34\0\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\4\10\1\u0706"+ "\1\10\14\0\17\10\2\0\1\7\22\10\14\0\1\u0707"+ "\106\0\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\4\10\1\u0708"+ "\1\10\14\0\17\10\2\0\1\7\22\10\37\0\1\u0709"+ "\63\0\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\1\u0460\5\10\2\0\6\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\5\10\1\u070a"+ "\1\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\17\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\17\10\2\0\1\7\14\10\1\u070b\5\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\6\10\1\u057f"+ "\10\10\2\0\1\7\22\10\63\0\1\u070c\37\0\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\2\10\1\u070d\3\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\1\u070e\1\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\3\10\1\u070f\2\10"+ "\14\0\17\10\2\0\1\7\22\10\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\1\0\1\u0710\6\10\14\0\17\10\2\0\1\7"+ "\22\10\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\7\10\1\u0711\7\10\2\0\1\7\22\10\61\0\1\u0712"+ "\102\0\1\u0713\144\0\1\u0714\37\0\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\6\10\1\u0715\10\10\2\0"+ "\1\7\22\10\40\0\1\u0716\62\0\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\6\10\1\u0717\10\10\2\0"+ "\1\7\22\10\35\0\1\u0718\65\0\1\7\7\10\1\0"+ "\1\10\1\141\1\0\2\10\1\0\1\7\1\10\4\0"+ "\1\u03b7\5\10\2\0\6\10\14\0\17\10\2\0\1\7"+ "\22\10\32\0\1\u0333\52\0\1\u0719\15\0\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\1\u071a\16\10\2\0"+ "\1\7\22\10\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\6\10"+ "\14\0\1\10\1\u071b\15\10\2\0\1\7\22\10\37\0"+ "\1\u071c\63\0\1\7\7\10\1\0\1\10\1\141\1\0"+ "\2\10\1\0\1\7\1\10\4\0\6\10\2\0\1\10"+ "\1\u071d\4\10\14\0\17\10\2\0\1\7\22\10\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\6\10\14\0\13\10\1\u0154"+ "\3\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\1\u071e\1\10\1\0\1\7\1\10\4\0"+ "\6\10\2\0\6\10\14\0\17\10\2\0\1\7\22\10"+ "\116\0\1\u071f\4\0\1\7\7\10\1\0\1\10\1\141"+ "\1\0\2\10\1\0\1\7\1\10\4\0\6\10\1\0"+ "\1\u0720\6\10\14\0\17\10\2\0\1\7\22\10\65\0"+ "\1\u0721\115\0\1\u0722\100\0\1\u0723\64\0\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\1\10\1\u0724\15\10"+ "\2\0\1\7\22\10\41\0\1\u0725\61\0\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\6\10\14\0\17\10\2\0\1\7"+ "\1\u0726\21\10\36\0\1\u0727\152\0\1\u0728\34\0\1\7"+ "\7\10\1\0\1\10\1\141\1\0\2\10\1\0\1\7"+ "\1\10\4\0\6\10\2\0\3\10\1\u0729\2\10\14\0"+ "\17\10\2\0\1\7\22\10\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\6\10\14\0\6\10\1\u0615\10\10\2\0\1\7"+ "\22\10\62\0\1\u072a\40\0\1\7\7\10\1\0\1\10"+ "\1\141\1\0\2\10\1\0\1\7\1\10\4\0\6\10"+ "\2\0\5\10\1\u03bc\14\0\17\10\2\0\1\7\22\10"+ "\1\7\7\10\1\0\1\10\1\141\1\0\2\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\1\u04b9\5\10\14\0"+ "\17\10\2\0\1\7\22\10\37\0\1\u072b\200\0\1\u072c"+ "\43\0\1\u072d\147\0\1\u072e\124\0\1\u072f\35\0\1\7"+ "\7\10\1\0\1\10\1\141\1\0\1\u0730\1\10\1\0"+ "\1\7\1\10\4\0\6\10\2\0\6\10\14\0\17\10"+ "\2\0\1\7\22\10\25\0\1\u0731\75\0\1\7\7\10"+ "\1\0\1\10\1\141\1\0\2\10\1\0\1\7\1\10"+ "\4\0\6\10\2\0\2\10\1\u0732\3\10\14\0\17\10"+ "\2\0\1\7\22\10\60\0\1\u0733\130\0\1\u0734\34\0"+ "\1\7\7\10\1\0\1\10\1\141\1\0\1\u02cd\1\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\17\10\2\0\1\7\22\10\35\0\1\u0735\122\0\1\u0736"+ "\76\0\1\u072b\150\0\1\u0737\160\0\1\u0561\107\0\1\u06b7"+ "\40\0\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\6\10\14\0"+ "\17\10\2\0\1\7\10\10\1\u03ce\11\10\40\0\1\u0738"+ "\62\0\1\7\7\10\1\0\1\10\1\141\1\0\2\10"+ "\1\0\1\7\1\10\4\0\6\10\2\0\1\10\1\u03f2"+ "\4\10\14\0\17\10\2\0\1\7\22\10\41\0\1\u0561"+ "\72\0\1\u0739\176\0\1\u073a\66\0\1\u073b\154\0\1\u073c"+ "\132\0\1\u073d\64\0\1\u073e\145\0\1\u073f\127\0\1\u0740"+ "\72\0\1\u0741\145\0\1\u0742\102\0\1\u0743\76\0\1\u0744"+ "\145\0\1\u0745\117\0\1\u0746\77\0\1\u0747\140\0\1\u0748"+ "\203\0\1\u0749\53\0\1\u074a\167\0\1\u074b\51\0\1\u074c"+ "\126\0\1\u074d\121\0\1\u074e\143\0\1\u0561\134\0\1\u074f"+ "\60\0\1\u0750\130\0\1\u027f\77\0\1\u0751\170\0\1\u060a"+ "\120\0\1\u0752\123\0\1\u0753\77\0\1\u0754\125\0\1\u0627"+ "\147\0\1\u0561\34\0"; private static int [] zzUnpackTrans() { int [] result = new int[151807]; int offset = 0; offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result); 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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); value--; do result[j++] = value; while (--count > 0); } return j; } /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; private static final int ZZ_PUSHBACK_2BIG = 2; /* error messages for the codes above */ private static final String ZZ_ERROR_MSG[] = { "Unkown internal scanner error", "Error: could not match input", "Error: pushback value was too large" }; /** * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute(); private static final String ZZ_ATTRIBUTE_PACKED_0 = "\3\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\12\1\1\11\3\1"+ "\1\11\1\1\2\11\24\1\1\0\1\1\1\0\7\1"+ "\2\0\54\1\2\0\120\1\2\0\1\11\4\0\1\11"+ "\2\0\1\11\16\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\231\1\33\0\1\11\2\0\1\11\15\1"+ "\1\11\1\1\1\0\5\1\1\11\163\1\1\0\32\1"+ "\2\0\1\1\2\0\1\1\15\0\1\11\11\0\1\11"+ "\15\1\1\0\155\1\1\0\32\1\34\0\16\1\1\0"+ "\145\1\1\0\27\1\23\0\12\1\1\0\2\1\1\0"+ "\112\1\1\0\11\1\1\0\33\1\5\0\1\1\4\0"+ "\14\1\2\0\101\1\2\0\7\1\1\0\33\1\11\0"+ "\13\1\2\0\76\1\2\0\6\1\1\11\25\1\5\0"+ "\4\1\1\0\5\1\2\0\3\1\1\0\55\1\2\0"+ "\27\1\5\0\3\1\2\0\3\1\2\0\3\1\1\0"+ "\45\1\2\0\21\1\2\0\2\1\2\0\3\1\2\0"+ "\3\1\1\0\14\1\1\0\23\1\1\0\24\1\2\0"+ "\2\1\1\0\2\1\1\0\13\1\1\0\12\1\1\0"+ "\21\1\2\0\3\1\1\0\7\1\1\0\12\1\1\0"+ "\15\1\2\0\3\1\1\0\4\1\1\0\1\1\1\0"+ "\11\1\1\0\11\1\2\0\2\1\1\0\2\1\1\0"+ "\1\1\1\0\7\1\1\0\6\1\2\0\1\1\1\0"+ "\1\1\1\0\1\1\1\0\4\1\1\0\5\1\3\0"+ "\1\1\1\0\1\1\1\0\1\1\1\0\2\1\1\0"+ "\3\1\1\0\1\1\3\0\1\1\1\0\1\1\2\0"+ "\2\1\1\0\2\1\5\0\1\1\1\0\1\1\2\0"+ "\1\1\6\0\1\1\1\0\1\1\16\0\1\1\23\0"; private static int [] zzUnpackAttribute() { int [] result = new int[1876]; int offset = 0; offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result); return result; } private static int zzUnpackAttribute(String packed, int offset, int [] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } return j; } /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ private int zzState; /** the current lexical state */ private int zzLexicalState = YYINITIAL; /** this buffer contains the current text to be matched and is the source of the yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ private int zzMarkedPos; /** the current text position in the buffer */ private int zzCurrentPos; /** startRead marks the beginning of the yytext() string in the buffer */ private int zzStartRead; /** endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** 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. */ public GroovyTokenMaker() { } /** * Adds the token specified to the current linked list of tokens. * * @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. */ 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. */ 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. */ @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 text to place at the beginning and end of a * line to "comment" it in a this programming language. * * @return The start and end strings to add to a line to "comment" * it out. */ @Override public String[] getLineCommentStartAndEnd() { 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. * * @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) { resetTokenList(); this.offsetShift = -text.offset + startOffset; // 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; } s = text; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); return new TokenImpl(); } } /** * Returns whether a regular expression token can follow the specified * token. * * @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=='[' )) || /* 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. */ 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. * * 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 */ 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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = s.offset; zzLexicalState = YYINITIAL; 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. */ public GroovyTokenMaker(java.io.Reader in) { this.zzReader = in; } /** * Creates a new scanner. * There is also java.io.Reader version of this constructor. * * @param in the java.io.Inputstream to read input from. */ public GroovyTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } /** * Unpacks the compressed character translation table. * * @param packed the packed character translation table * @return the unpacked character translation table */ private static char [] zzUnpackCMap(String packed) { char [] map = new char[0x10000]; int i = 0; /* index in packed string */ int j = 0; /* index in unpacked array */ while (i < 192) { int count = packed.charAt(i++); char value = packed.charAt(i++); do map[j++] = value; while (--count > 0); } return map; } /** * Closes the input stream. */ public final void yyclose() throws java.io.IOException { zzAtEOF = true; /* indicate end of file */ zzEndRead = zzStartRead; /* invalidate buffer */ if (zzReader != null) zzReader.close(); } /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } /** * Enters a 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 yylength()-1. * * @return the character at position pos */ public final char yycharat(int pos) { return zzBuffer[zzStartRead+pos]; } /** * Returns the length of the matched text region. */ public final int yylength() { return zzMarkedPos-zzStartRead; } /** * Reports an error that occured while scanning. * * In a wellformed scanner (no or only correct usage of * yypushback(int) and a match-all fallback rule) this method * will only be called with things that "Can't Possibly Happen". * If this method is called, something is seriously wrong * (e.g. a JFlex bug producing a faulty scanner etc.). * * Usual syntax/scanner level error handling should be done * in error fallback rules. * * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; try { message = ZZ_ERROR_MSG[errorCode]; } catch (ArrayIndexOutOfBoundsException e) { message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR]; } throw new Error(message); } /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * * @param number the number of characters to be read again. * This number must not be greater than yylength()! */ public void yypushback(int number) { if ( number > yylength() ) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } /** * Resumes scanning until the next regular expression is matched, * the end of input is encountered or an I/O-Error occurs. * * @return the next token * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; int zzAction; // cached fields: int zzCurrentPosL; int zzMarkedPosL; int zzEndReadL = zzEndRead; char [] zzBufferL = zzBuffer; char [] zzCMapL = ZZ_CMAP; int [] zzTransL = ZZ_TRANS; int [] zzRowMapL = ZZ_ROWMAP; int [] zzAttrL = ZZ_ATTRIBUTE; while (true) { zzMarkedPosL = zzMarkedPos; zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; else if (zzAtEOF) { zzInput = YYEOF; break zzForAction; } else { // store back cached positions zzCurrentPos = zzCurrentPosL; zzMarkedPos = zzMarkedPosL; boolean eof = zzRefill(); // get translated positions and possibly new buffer zzCurrentPosL = zzCurrentPos; zzMarkedPosL = zzMarkedPos; zzBufferL = zzBuffer; zzEndReadL = zzEndRead; if (eof) { zzInput = YYEOF; break zzForAction; } else { zzInput = zzBufferL[zzCurrentPosL++]; } } int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ]; if (zzNext == -1) break zzForAction; zzState = zzNext; int zzAttributes = zzAttrL[zzState]; if ( (zzAttributes & 1) == 1 ) { zzAction = zzState; zzMarkedPosL = zzCurrentPosL; if ( (zzAttributes & 8) == 8 ) break zzForAction; } } } // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { case 20: { addToken(start,zzStartRead-1, Token.ERROR_STRING_DOUBLE); addNullToken(); return firstToken; } case 47: break; case 3: { addToken(Token.IDENTIFIER); } case 48: break; case 42: { addToken(Token.LITERAL_BOOLEAN); } case 49: break; case 6: { start = zzMarkedPos-1; yybegin(STRING_DOUBLE); } case 50: break; case 35: { start = zzMarkedPos-3; yybegin(MULTILINE_STRING_DOUBLE); } case 51: break; case 13: { addToken(start,zzStartRead-1, Token.COMMENT_DOCUMENTATION); return firstToken; } case 52: break; case 34: { addToken(Token.ERROR_CHAR); } case 53: break; case 21: { addToken(Token.ERROR_NUMBER_FORMAT); } case 54: break; case 5: { addToken(Token.ERROR_CHAR); addNullToken(); return firstToken; } case 55: break; case 11: { addToken(Token.ANNOTATION); } case 56: break; case 28: { addToken(Token.FUNCTION); } case 57: break; case 33: { start = zzMarkedPos-3; yybegin(MULTILINE_STRING_SINGLE); } case 58: break; case 2: { addToken(Token.ERROR_IDENTIFIER); } case 59: break; case 36: { 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; } } // 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 60: break; case 25: { addToken(Token.COMMENT_EOL); addNullToken(); return firstToken; } case 61: break; case 40: { yybegin(YYINITIAL); addToken(start,zzStartRead+2, Token.LITERAL_CHAR); } case 62: break; case 45: { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_DOCUMENTATION); addToken(temp,zzMarkedPos-1, Token.VARIABLE); start = zzMarkedPos; } case 63: break; case 31: { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_DOCUMENTATION); addToken(temp,zzMarkedPos-1, Token.PREPROCESSOR); start = zzMarkedPos; } case 64: break; case 44: { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_DOCUMENTATION); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_DOCUMENTATION); start = zzMarkedPos; } case 65: break; case 14: { /* Skip escaped chars, handles case: '\"""'. */ } case 66: break; case 24: { addToken(Token.LITERAL_CHAR); } case 67: break; case 18: { /* Skip escaped chars. */ } case 68: break; case 39: { yybegin(YYINITIAL); addToken(start,zzStartRead+2, Token.LITERAL_STRING_DOUBLE_QUOTE); } case 69: break; case 23: { addToken(Token.LITERAL_NUMBER_HEXADECIMAL); } case 70: break; case 26: { start = zzMarkedPos-2; yybegin(MLC); } case 71: break; case 8: { addToken(Token.WHITESPACE); } case 72: break; case 30: { yybegin(YYINITIAL); addToken(start,zzStartRead+1, Token.COMMENT_DOCUMENTATION); } case 73: break; case 38: { addToken(Token.DATA_TYPE); } case 74: break; case 29: { yybegin(YYINITIAL); addToken(start,zzStartRead+1, Token.COMMENT_MULTILINE); } case 75: break; case 4: { addToken(Token.LITERAL_NUMBER_DECIMAL_INT); } case 76: break; case 32: { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.LITERAL_STRING_DOUBLE_QUOTE); addToken(temp,zzMarkedPos-1, Token.VARIABLE); start = zzMarkedPos; } case 77: break; case 19: { yybegin(YYINITIAL); addToken(start,zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); } case 78: break; case 16: { /* Skip escaped chars, handles case: "\'''". */ } case 79: break; case 37: { start = zzMarkedPos-3; yybegin(DOCCOMMENT); } case 80: break; case 27: { addToken(Token.RESERVED_WORD); } case 81: break; case 43: { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_MULTILINE); start = zzMarkedPos; } case 82: break; case 46: { addToken(Token.RESERVED_WORD_2); } case 83: break; case 10: { addToken(Token.SEPARATOR); } case 84: break; case 7: { addNullToken(); return firstToken; } case 85: break; case 12: { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); return firstToken; } case 86: break; case 9: { addToken(Token.OPERATOR); } case 87: break; case 17: { addToken(start,zzStartRead-1, Token.LITERAL_CHAR); return firstToken; } case 88: break; case 22: { addToken(Token.LITERAL_NUMBER_FLOAT); } case 89: break; case 41: { addToken(Token.COMMENT_MULTILINE); } case 90: break; case 1: { } case 91: break; case 15: { addToken(start,zzStartRead-1, Token.LITERAL_STRING_DOUBLE_QUOTE); return firstToken; } case 92: break; default: if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { zzAtEOF = true; switch (zzLexicalState) { case MULTILINE_STRING_DOUBLE: { addToken(start,zzStartRead-1, Token.LITERAL_STRING_DOUBLE_QUOTE); return firstToken; } case 1877: break; case DOCCOMMENT: { yybegin(YYINITIAL); addToken(start,zzEndRead, Token.COMMENT_DOCUMENTATION); return firstToken; } case 1878: break; case YYINITIAL: { addNullToken(); return firstToken; } case 1879: break; case MLC: { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); return firstToken; } case 1880: break; case STRING_DOUBLE: { addToken(start,zzStartRead-1, Token.ERROR_STRING_DOUBLE); return firstToken; } case 1881: break; case MULTILINE_STRING_SINGLE: { addToken(start,zzStartRead-1, Token.LITERAL_CHAR); return firstToken; } case 1882: break; default: return null; } } else { zzScanError(ZZ_NO_MATCH); } } } } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/ScalaTokenMaker.flex0000644000175000001440000002733012202240132027544 0ustar benusers/* * 8/19/2009 * * ScalaTokenMaker.java - Scanner for the Scala programming language. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.*; /** * Scanner for the Scala programming language.

* * 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * 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.
  • *
  • You should NOT call yylex() on the generated scanner * directly; rather, you should use getTokenList as you would * with any other TokenMaker instance.
  • *
* * @author Robert Futrell * @version 0.5 * */ %% %public %class ScalaTokenMaker %extends AbstractJFlexCTokenMaker %unicode %type org.fife.ui.rsyntaxtextarea.Token %{ /** * Constructor. This must be here because JFlex does not generate a * no-parameter constructor. */ public ScalaTokenMaker() { } /** * Adds the token specified to the current linked list of tokens. * * @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. */ 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. * @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. */ @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 the text to place at the beginning and end of a * line to "comment" it in a this programming language. * * @return The start and end strings to add to a line to "comment" * it out. */ @Override public String[] getLineCommentStartAndEnd() { 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. * * @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) { resetTokenList(); this.offsetShift = -text.offset + startOffset; // 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; } s = text; start = text.offset; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); return new TokenImpl(); } } /** * Refills the input buffer. * * @return true if EOF was reached, otherwise * false. * @exception IOException if any I/O-Error occurs. */ private boolean zzRefill() throws java.io.IOException { return zzCurrentPos>=s.offset+s.count; } /** * 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 */ public final void yyreset(java.io.Reader reader) throws IOException { // '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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = zzPushbackPos = s.offset; zzLexicalState = YYINITIAL; zzReader = reader; zzAtBOL = true; zzAtEOF = false; } %} /***** BEGIN SCALA-SPECIFIC CHANGES *********/ Upper = ([A-Z\$\_]) /* Plus Unicode category Lu */ Lower = ([a-z]) /* Plus Unicode category Ll */ Letter = ({Upper}|{Lower}) /*Plus Unicode categories Lo, Lt, Nl */ Digit = ([0-9]) OpChar = ([^A-Z\$\_a-z0-9\(\[\]\)\. \t\f]) Op = ({OpChar}+) IdRest = (({Letter}|{Digit})*([\_]{Op})?) VarId = ({Lower}{IdRest}) PlainId = ({Upper}{IdRest}|{VarId}) /*|{Op})*/ Id = ({PlainId}) /*({PlainId}|[\']{StringLit}[\'])*/ IntegerLiteral = ({Digit}+[Ll]?) HexDigit = ({Digit}|[A-Fa-f]) HexLiteral = ("0x"{HexDigit}+) ExponentPart = ([Ee][+\-]?{Digit}+) FloatType = ([FfDd]) FloatingPointLiteral = ({Digit}+[\.]{Digit}*{ExponentPart}?{FloatType}? | [\.]{Digit}+{ExponentPart}?{FloatType}? | {Digit}+{ExponentPart}{FloatType}? | {Digit}+{ExponentPart}?{FloatType}) UnclosedCharLiteral = ([\']([\\].|[^\\\'])*[^\']?) CharLiteral = ({UnclosedCharLiteral}[\']) UnclosedStringLiteral = ([\"]([\\].|[^\\\"])*[^\"]?) StringLiteral = ({UnclosedStringLiteral}[\"]) UnclosedBacktickLiteral = ([\`][^\`]+) BacktickLiteral = ({UnclosedBacktickLiteral}[\`]) /* TODO: Multiline strings */ MLCBegin = ("/*") MLCEnd = ("*/") LineCommentBegin = ("//") /***** END SCALA-SPECIFIC CHANGES *********/ Whitespace = ([ \t\f]+) LineTerminator = ([\n]) Separator = ([\(\)\{\}\[\]]) URLGenDelim = ([:\/\?#\[\]@]) URLSubDelim = ([\!\$&'\(\)\*\+,;=]) URLUnreserved = ({Letter}|[\_]|{Digit}|[\-\.\~]) URLCharacter = ({URLGenDelim}|{URLSubDelim}|{URLUnreserved}|[%]) URLCharacters = ({URLCharacter}*) URLEndCharacter = ([\/\$]|{Letter}|{Digit}) URL = (((https?|f(tp|ile))"://"|"www.")({URLCharacters}{URLEndCharacter})?) %state MULTILINE_STRING_DOUBLE %state MLC %state EOL_COMMENT %% { /* Keywords */ "abstract" | "case" | "catch" | "class" | "def" | "do" | "else" | "extends" | "false" | "final" | "finally" | "for" | "forSome" | "if" | "implicit" | "import" | "lazy" | "match" | "new" | "null" | "object" | "override" | "package" | "private" | "protected" | "requires" | "return" | "sealed" | "super" | "this" | "throw" | "trait" | "try" | "true" | "type" | "val" | "var" | "while" | "with" | "yield" { addToken(Token.RESERVED_WORD); } {LineTerminator} { addNullToken(); return firstToken; } {Id} { addToken(Token.IDENTIFIER); } {Whitespace} { addToken(Token.WHITESPACE); } /* String/Character literals. */ \"\"\" { start = zzMarkedPos-3; yybegin(MULTILINE_STRING_DOUBLE); } {UnclosedCharLiteral} { addToken(Token.ERROR_CHAR); addNullToken(); return firstToken; } {CharLiteral} { addToken(Token.LITERAL_CHAR); } {UnclosedStringLiteral} { addToken(Token.ERROR_STRING_DOUBLE); addNullToken(); return firstToken; } {StringLiteral} { addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); } {UnclosedBacktickLiteral} { addToken(Token.ERROR_STRING_DOUBLE); addNullToken(); return firstToken; } {BacktickLiteral} { addToken(Token.LITERAL_BACKQUOTE); } /* Comment literals. */ {MLCBegin} { start = zzMarkedPos-2; yybegin(MLC); } {LineCommentBegin} { start = zzMarkedPos-2; yybegin(EOL_COMMENT); } {Separator} { addToken(Token.SEPARATOR); } {IntegerLiteral} { addToken(Token.LITERAL_NUMBER_DECIMAL_INT); } {HexLiteral} { addToken(Token.LITERAL_NUMBER_HEXADECIMAL); } {FloatingPointLiteral} { addToken(Token.LITERAL_NUMBER_FLOAT); } /* Ended with a line not in a string or comment. */ <> { addNullToken(); return firstToken; } /* Catch any other (unhandled) characters. */ . { addToken(Token.IDENTIFIER); } } { [^\"\\\n]* {} \\.? { /* Skip escaped chars, handles case: '\"""'. */ } \"\"\" { addToken(start,zzStartRead+2, Token.LITERAL_STRING_DOUBLE_QUOTE); yybegin(YYINITIAL); } \" {} \n | <> { addToken(start,zzStartRead-1, Token.LITERAL_STRING_DOUBLE_QUOTE); return firstToken; } } { [^hwf\n\*]+ {} {URL} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_MULTILINE); start = zzMarkedPos; } [hwf] {} {MLCEnd} { yybegin(YYINITIAL); addToken(start,zzStartRead+1, Token.COMMENT_MULTILINE); } \* {} \n | <> { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); return firstToken; } } { [^hwf\n]+ {} {URL} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_EOL); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_EOL); start = zzMarkedPos; } [hwf] {} \n | <> { addToken(start,zzStartRead-1, Token.COMMENT_EOL); addNullToken(); return firstToken; } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/ScalaTokenMaker.java0000644000175000001440000010275712202002502027533 0ustar benusers/* The following code was generated by JFlex 1.4.1 on 11/10/12 10:31 PM */ /* * 8/19/2009 * * ScalaTokenMaker.java - Scanner for the Scala programming language. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.*; /** * Scanner for the Scala programming language.

* * 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * 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.
  • *
  • You should NOT call yylex() on the generated scanner * directly; rather, you should use getTokenList as you would * with any other TokenMaker instance.
  • *
* * @author Robert Futrell * @version 0.5 * */ public class ScalaTokenMaker extends AbstractJFlexCTokenMaker { /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ public static final int EOL_COMMENT = 3; public static final int MULTILINE_STRING_DOUBLE = 1; public static final int YYINITIAL = 0; public static final int MLC = 2; /** * Translates characters to character classes */ private static final String ZZ_CMAP_PACKED = "\11\0\1\31\1\24\1\0\1\31\23\0\1\31\1\33\1\25\1\33"+ "\1\1\1\33\1\33\1\22\2\4\1\30\1\16\1\33\1\16\1\21"+ "\1\27\1\12\11\3\1\42\1\33\1\0\1\33\1\0\2\33\3\10"+ "\1\17\1\14\1\17\5\1\1\6\6\1\1\52\7\1\1\4\1\23"+ "\1\4\1\0\1\5\1\26\1\44\1\45\1\11\1\20\1\15\1\40"+ "\1\61\1\34\1\41\1\56\1\60\1\7\1\53\1\50\1\47\1\36"+ "\1\2\1\46\1\37\1\35\1\55\1\57\1\43\1\13\1\51\1\54"+ "\1\32\1\0\1\32\1\33\uff81\0"; /** * Translates characters to character classes */ private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED); /** * Translates DFA states to action switch labels. */ private static final int [] ZZ_ACTION = zzUnpackAction(); private static final String ZZ_ACTION_PACKED_0 = "\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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } return j; } /** * 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\62\0\144\0\226\0\310\0\372\0\u012c\0\310"+ "\0\u015e\0\u0190\0\u01c2\0\u01f4\0\u0226\0\u0258\0\u028a\0\310"+ "\0\u02bc\0\u02ee\0\u0320\0\u0352\0\u0384\0\u03b6\0\u03e8\0\u041a"+ "\0\u044c\0\u047e\0\u04b0\0\u04e2\0\u0514\0\u0546\0\u0578\0\u05aa"+ "\0\u05dc\0\u060e\0\u0640\0\310\0\u0672\0\u06a4\0\310\0\u06d6"+ "\0\u0708\0\u073a\0\u076c\0\u079e\0\310\0\u07d0\0\u0802\0\u0834"+ "\0\u0866\0\310\0\u0898\0\310\0\u08ca\0\u08fc\0\u092e\0\u0960"+ "\0\u0992\0\u09c4\0\u09f6\0\u0a28\0\372\0\310\0\u0a5a\0\u0a8c"+ "\0\u0abe\0\u0af0\0\u0b22\0\310\0\310\0\u0b54\0\u0b86\0\u0bb8"+ "\0\u0bea\0\u0c1c\0\u0c4e\0\u0c80\0\u0cb2\0\u0ce4\0\u0d16\0\u0d48"+ "\0\u0d7a\0\u0dac\0\u0dde\0\u0e10\0\u0e42\0\u0e74\0\u0ea6\0\u0ed8"+ "\0\u0f0a\0\u0f3c\0\u0f6e\0\310\0\u0fa0\0\310\0\u0fd2\0\u1004"+ "\0\u1036\0\u1068\0\u109a\0\u10cc\0\u10fe\0\u1130\0\u1162\0\u1194"+ "\0\u11c6\0\u11f8\0\u122a\0\u125c\0\u128e\0\u0992\0\u12c0\0\310"+ "\0\310\0\310\0\u12f2\0\u1324\0\u1356\0\u1388\0\u13ba\0\u13ec"+ "\0\u141e\0\u1450\0\u1482\0\u14b4\0\u14e6\0\u1518\0\u154a\0\u157c"+ "\0\u15ae\0\u15e0\0\u1612\0\u1644\0\u1676\0\u16a8\0\310\0\u16da"+ "\0\u170c\0\u173e\0\u1770\0\u17a2\0\u17d4\0\u1806\0\u1838\0\u186a"+ "\0\u189c\0\u18ce\0\u1900\0\u1932\0\u1964\0\u1996\0\u19c8\0\u19fa"+ "\0\u1a2c\0\u1a5e\0\u1a90\0\u1ac2\0\u1af4\0\u1b26\0\u1b58\0\u1b8a"+ "\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 */ int l = packed.length(); while (i < l) { int high = packed.charAt(i++) << 16; result[j++] = high | packed.charAt(i++); } 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"+ "\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"+ "\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\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"+ "\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\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"; 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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); value--; do result[j++] = value; while (--count > 0); } return j; } /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; private static final int ZZ_PUSHBACK_2BIG = 2; /* error messages for the codes above */ private static final String ZZ_ERROR_MSG[] = { "Unkown internal scanner error", "Error: could not match input", "Error: pushback value was too large" }; /** * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute(); private static final String ZZ_ATTRIBUTE_PACKED_0 = "\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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } return j; } /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ private int zzState; /** the current lexical state */ private int zzLexicalState = YYINITIAL; /** this buffer contains the current text to be matched and is the source of the yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ private int zzMarkedPos; /** the current text position in the buffer */ private int zzCurrentPos; /** startRead marks the beginning of the yytext() string in the buffer */ private int zzStartRead; /** endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** 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. */ public ScalaTokenMaker() { } /** * Adds the token specified to the current linked list of tokens. * * @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. */ 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. * @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. */ @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 the text to place at the beginning and end of a * line to "comment" it in a this programming language. * * @return The start and end strings to add to a line to "comment" * it out. */ @Override public String[] getLineCommentStartAndEnd() { 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. * * @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) { resetTokenList(); this.offsetShift = -text.offset + startOffset; // 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; } s = text; start = text.offset; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); return new TokenImpl(); } } /** * Refills the input buffer. * * @return true if EOF was reached, otherwise * false. * @exception IOException if any I/O-Error occurs. */ private boolean zzRefill() throws java.io.IOException { return zzCurrentPos>=s.offset+s.count; } /** * 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 */ public final void yyreset(java.io.Reader reader) throws IOException { // '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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = s.offset; zzLexicalState = YYINITIAL; 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. */ public ScalaTokenMaker(java.io.Reader in) { this.zzReader = in; } /** * Creates a new scanner. * There is also java.io.Reader version of this constructor. * * @param in the java.io.Inputstream to read input from. */ public ScalaTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } /** * Unpacks the compressed character translation table. * * @param packed the packed character translation table * @return the unpacked character translation table */ private static char [] zzUnpackCMap(String packed) { char [] map = new char[0x10000]; int i = 0; /* index in packed string */ int j = 0; /* index in unpacked array */ while (i < 150) { int count = packed.charAt(i++); char value = packed.charAt(i++); do map[j++] = value; while (--count > 0); } return map; } /** * Closes the input stream. */ public final void yyclose() throws java.io.IOException { zzAtEOF = true; /* indicate end of file */ zzEndRead = zzStartRead; /* invalidate buffer */ if (zzReader != null) zzReader.close(); } /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } /** * Enters a 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 yylength()-1. * * @return the character at position pos */ public final char yycharat(int pos) { return zzBuffer[zzStartRead+pos]; } /** * Returns the length of the matched text region. */ public final int yylength() { return zzMarkedPos-zzStartRead; } /** * Reports an error that occured while scanning. * * In a wellformed scanner (no or only correct usage of * yypushback(int) and a match-all fallback rule) this method * will only be called with things that "Can't Possibly Happen". * If this method is called, something is seriously wrong * (e.g. a JFlex bug producing a faulty scanner etc.). * * Usual syntax/scanner level error handling should be done * in error fallback rules. * * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; try { message = ZZ_ERROR_MSG[errorCode]; } catch (ArrayIndexOutOfBoundsException e) { message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR]; } throw new Error(message); } /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * * @param number the number of characters to be read again. * This number must not be greater than yylength()! */ public void yypushback(int number) { if ( number > yylength() ) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } /** * Resumes scanning until the next regular expression is matched, * the end of input is encountered or an I/O-Error occurs. * * @return the next token * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; int zzAction; // cached fields: int zzCurrentPosL; int zzMarkedPosL; int zzEndReadL = zzEndRead; char [] zzBufferL = zzBuffer; char [] zzCMapL = ZZ_CMAP; int [] zzTransL = ZZ_TRANS; int [] zzRowMapL = ZZ_ROWMAP; int [] zzAttrL = ZZ_ATTRIBUTE; while (true) { zzMarkedPosL = zzMarkedPos; zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; else if (zzAtEOF) { zzInput = YYEOF; break zzForAction; } else { // store back cached positions zzCurrentPos = zzCurrentPosL; zzMarkedPos = zzMarkedPosL; boolean eof = zzRefill(); // get translated positions and possibly new buffer zzCurrentPosL = zzCurrentPos; zzMarkedPosL = zzMarkedPos; zzBufferL = zzBuffer; zzEndReadL = zzEndRead; if (eof) { zzInput = YYEOF; break zzForAction; } else { zzInput = zzBufferL[zzCurrentPosL++]; } } int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ]; if (zzNext == -1) break zzForAction; zzState = zzNext; int zzAttributes = zzAttrL[zzState]; if ( (zzAttributes & 1) == 1 ) { zzAction = zzState; zzMarkedPosL = zzCurrentPosL; if ( (zzAttributes & 8) == 8 ) break zzForAction; } } } // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { case 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); } } } } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/PerlTokenMaker.flex0000644000175000001440000006174212202237656027451 0ustar benusers/* * 01/26/2008 * * PerlTokenMaker.java - Scanner for Perl * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.*; /** * Scanner for Perl.

* * 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * 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.
  • *
  • You should NOT call yylex() on the generated scanner * directly; rather, you should use getTokenList as you would * with any other TokenMaker instance.
  • *
* * @author Robert Futrell * @version 0.5 * */ %% %public %class PerlTokenMaker %extends AbstractJFlexCTokenMaker %unicode %type org.fife.ui.rsyntaxtextarea.Token %{ /** * 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. */ 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. */ 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. */ public static final int INTERNAL_HEREDOC_EOT_SINGLE_QUOTED = -4; /** * 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. */ public PerlTokenMaker() { } /** * 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. */ 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. */ 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. */ 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. */ @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 text to place at the beginning and end of a * line to "comment" it in a this programming language. * * @return The start and end strings to add to a line to "comment" * it out. */ @Override public String[] getLineCommentStartAndEnd() { return new String[] { "#", null }; } /** * {@inheritDoc} */ 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. * * @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) { resetTokenList(); this.offsetShift = -text.offset + startOffset; // 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; } s = text; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); return new TokenImpl(); } } /** * Returns whether a regular expression token can follow the specified * token. * * @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; // 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=='&' )) || /* 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. */ 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. * * 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 */ 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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = zzPushbackPos = s.offset; zzLexicalState = YYINITIAL; zzReader = reader; zzAtBOL = true; zzAtEOF = false; } %} Letter = [A-Za-z] NonzeroDigit = [1-9] Digit = ("0"|{NonzeroDigit}) HexDigit = ({Digit}|[A-Fa-f]) OctalDigit = ([0-7]) /*Escape = ("\\"(([btnfr\"'\\])|([0123]{OctalDigit}?{OctalDigit}?)|({OctalDigit}{OctalDigit}?)))*/ NonSeparator = ([^\t\f\r\n\ \(\)\{\}\[\]\;\,\.\=\>\<\!\~\?\:\+\-\*\/\&\|\^\%\"\'\`]|"#"|"\\") IdentifierStart = ({Letter}|"_") IdentifierPart = ({IdentifierStart}|{Digit}) LineTerminator = (\n) WhiteSpace = ([ \t\f]) LineCommentBegin = "#" IntegerHelper1 = (({NonzeroDigit}{Digit}*)|"0") IntegerHelper2 = ("0"(([xX]{HexDigit}+)|({OctalDigit}*))) IntegerLiteral = ({IntegerHelper1}[lL]?) HexLiteral = ({IntegerHelper2}[lL]?) FloatHelper1 = ([fFdD]?) FloatHelper2 = ([eE][+-]?{Digit}+{FloatHelper1}) FloatLiteral1 = ({Digit}+"."({FloatHelper1}|{FloatHelper2}|{Digit}+({FloatHelper1}|{FloatHelper2}))) FloatLiteral2 = ("."{Digit}+({FloatHelper1}|{FloatHelper2})) FloatLiteral3 = ({Digit}+{FloatHelper2}) FloatLiteral = ({FloatLiteral1}|{FloatLiteral2}|{FloatLiteral3}|({Digit}+[fFdD])) ErrorNumberFormat = (({IntegerLiteral}|{HexLiteral}|{FloatLiteral}){NonSeparator}+) Separator = ([\(\)\{\}\[\]]) Separator2 = ([\;:,.]) VariableStart = ([\$\@\%)]"$"?) BracedVariable = ({VariableStart}\{{Identifier}\}) UnbracedVariable = ({VariableStart}{Identifier}) BracedShellVariable = ([\$]\{[\&\`\'\+\*\.\/\|\,\\\"\;\#\%\=\-\~\^\:\?\!\@\$\<\>\)\(\[\]\)\}]) UnbracedShellVariable = ([\$][\&\`\'\+\*\.\/\|\,\\\"\;\#\%\=\-\~\^\:\?\!\@\$\<\>\)\(\[\]\)]) MatchVariable = ([\$]{Digit}) Variable = ({BracedVariable}|{UnbracedVariable}|{BracedShellVariable}|{UnbracedShellVariable}|{MatchVariable}) Regex = ("/"([^\*\\/]|\\.)([^/\\]|\\.)*"/"[msixpogcadlu]*) NonAssignmentOperator = ("+"|"-"|"<="|"^"|"++"|"<"|"*"|">="|"%"|"--"|">"|"/"|"!="|"?"|">>"|"!"|"&"|"=="|":"|">>"|"~"|"|"|"&&"|">>>"|"->") AssignmentOperator = ("="|"-="|"*="|"/="|"|="|"&="|"^="|"+="|"%="|"<<="|">>="|">>>=") BindingOperator = ("=~"|"!~") FunnyOperator = (([\*][\'\"])|([\&][\'\"])) Operator = ({NonAssignmentOperator}|{AssignmentOperator}|{BindingOperator}|{FunnyOperator}) PodCommandsExceptCut = ("="("pod"|"head1"|"head2"|"head3"|"head4"|"over"|"item"|"back"|"begin"|"end"|"for"|"encoding")) Identifier = ({IdentifierStart}{IdentifierPart}*) ErrorIdentifier = ({NonSeparator}+) %state STRING %state CHAR_LITERAL %state BACKTICKS %state HEREDOC_EOF_UNQUOTED %state HEREDOC_EOF_SINGLE_QUOTED %state HEREDOC_EOT_UNQUOTED %state HEREDOC_EOT_SINGLE_QUOTED %state POD %% { /* Keywords */ "and" | "cmp" | "continue" | "do" | "else" | "elsif" | "eq" | "esac" | "for" | "foreach" | "ge" | "if" | "last" | "le" | "ne" | "next" | "not" | "or" | "redo" | "sub" | "unless" | "until" | "while" | "xor" { addToken(Token.RESERVED_WORD); } /* Standard Functions */ "abs" | "accept" | "alarm" | "atan2" | "bind" | "binmode" | "bless" | "caller" | "chdir" | "chmod" | "chomp" | "chop" | "chown" | "chr" | "chroot" | "close" | "closedir" | "connect" | "cos" | "crypt" | "dbmclose" | "dbmopen" | "defined" | "delete" | "die" | "dump" | "each" | "endgrent" | "endhostent" | "endnetent" | "endprotoent" | "endpwent" | "endservent" | "eof" | "eval" | "exec" | "exists" | "exit" | "exp" | "fcntl" | "fileno" | "flock" | "fork" | "formline" | "getc" | "getgrent" | "getgrgid" | "getgrnam" | "gethostbyaddr" | "gethostbyname" | "gethostent" | "getlogin" | "getnetbyaddr" | "getnetbyname" | "getnetent" | "getpeername" | "getpgrp" | "getppid" | "getpriority" | "getprotobyname" | "getprotobynumber" | "getprotoent" | "getpwent" | "getpwnam" | "getpwuid" | "getservbyname" | "getservbyport" | "getservent" | "getsockname" | "getsockopt" | "glob" | "gmtime" | "goto" | "grep" | "hex" | "index" | "int" | "ioctl" | "join" | "keys" | "kill" | "last" | "lc" | "lcfirst" | "length" | "link" | "listen" | "local" | "localtime" | "log" | "lstat" | "map" | "mkdir" | "msgctl" | "msgget" | "msgrcv" | "msgsnd" | "my" | "next" | "no" | "oct" | "open" | "opendir" | "ord" | "our" | "pack" | "package" | "pipe" | "pop" | "pos" | "print" | "printf" | "prototype" | "push" | "quotemeta" | "rand" | "read" | "readdir" | "readline" | "readlink" | "readpipe" | "recv" | "redo" | "ref" | "rename" | "require" | "reset" | "return" | "reverse" | "rewinddir" | "rindex" | "rmdir" | "scalar" | "seek" | "seekdir" | "select" | "semctl" | "semget" | "semop" | "send" | "sethostent" | "setgrent" | "setnetent" | "setpgrp" | "setpriority" | "setprotoent" | "setpwent" | "setservent" | "setsockopt" | "shift" | "shmctl" | "shmget" | "shmread" | "shmwrite" | "shutdown" | "sin" | "sleep" | "socket" | "socketpair" | "sort" | "splice" | "split" | "sprintf" | "sqrt" | "srand" | "stat" | "study" | "sub" | "substr" | "symlink" | "syscall" | "sysopen" | "sysread" | "sysseek" | "system" | "syswrite" | "tell" | "telldir" | "tie" | "tied" | "time" | "times" | "truncate" | "uc" | "ucfirst" | "umask" | "undef" | "unlink" | "unpack" | "unshift" | "untie" | "use" | "utime" | "values" | "vec" | "wait" | "waitpid" | "wantarray" | "warn" | "write" { addToken(Token.FUNCTION); } } { {LineTerminator} { addNullToken(); return firstToken; } {Identifier} { addToken(Token.IDENTIFIER); } {WhiteSpace}+ { addToken(Token.WHITESPACE); } {Variable} { addToken(Token.VARIABLE); } /* String/Character literals. */ \" { start = zzMarkedPos-1; yybegin(STRING); } \' { start = zzMarkedPos-1; yybegin(CHAR_LITERAL); } \` { start = zzMarkedPos-1; yybegin(BACKTICKS); } /* Comment literals. */ {LineCommentBegin}"!".* { addToken(Token.PREPROCESSOR); addNullToken(); return firstToken; } {LineCommentBegin}.* { addToken(Token.COMMENT_EOL); addNullToken(); return firstToken; } /* Easily identifiable regexes of the form "/.../". This is not foolproof. */ {Regex} { 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; } } /* More regexes (m/.../, s!...!!, etc.). This is nowhere near */ /* exhaustive, but is rather just the common ones. */ m"/"[^/]*"/"[msixpodualgc]* { addToken(Token.REGEX); } m"!"[^!]*"!"[msixpodualgc]* { addToken(Token.REGEX); } m"|"[^\|]*"|"[msixpodualgc]* { addToken(Token.REGEX); } m\\[^\\]*\\[msixpodualgc]* { addToken(Token.REGEX); } s"/"[^/]*"/"[^/]*"/"[msixpodualgcer]* { addToken(Token.REGEX); } s"!"[^!]*"!"[^!]*"!"[msixpodualgcer]* { addToken(Token.REGEX); } s"|"[^\|]*"|"[^\|]*"|"[msixpodualgcer]* { addToken(Token.REGEX); } (tr|y)"/"[^/]*"/"[^/]*"/"[cdsr]* { addToken(Token.REGEX); } (tr|y)"!"[^!]*"!"[^!]*"!"[cdsr]* { addToken(Token.REGEX); } (tr|y)"|"[^\|]*"|"[^\|]*"|"[cdsr]* { addToken(Token.REGEX); } (tr|y)\\[^\\]*\\[^\\]*\\[cdsr]* { addToken(Token.REGEX); } qr"/"[^/]*"/"[msixpodual]* { addToken(Token.REGEX); } qr"!"[^/]*"!"[msixpodual]* { addToken(Token.REGEX); } qr"|"[^/]*"|"[msixpodual]* { addToken(Token.REGEX); } qr\\[^/]*\\[msixpodual]* { addToken(Token.REGEX); } /* "Here-document" syntax. This is only implemented for the common */ /* cases. */ "<> { addNullToken(); return firstToken; } /* Catch any other (unhandled) characters and flag them as bad. */ . { addToken(Token.ERROR_IDENTIFIER); } } { [^\n\\\$\@\%\"]+ {} \n { addToken(start,zzStartRead-1, Token.LITERAL_STRING_DOUBLE_QUOTE); return firstToken; } \\.? { /* Skip escaped chars. */ } {Variable} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.LITERAL_STRING_DOUBLE_QUOTE); addToken(temp,zzMarkedPos-1, Token.VARIABLE); start = zzMarkedPos; } {VariableStart} {} \" { yybegin(YYINITIAL); addToken(start,zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); } <> { addToken(start,zzStartRead-1, Token.LITERAL_STRING_DOUBLE_QUOTE); return firstToken; } } { [^\n\\\']+ {} \\.? { /* Skip escaped single quotes only, but this should still work. */ } \n { addToken(start,zzStartRead-1, Token.LITERAL_CHAR); return firstToken; } \' { yybegin(YYINITIAL); addToken(start,zzStartRead, Token.LITERAL_CHAR); } <> { addToken(start,zzStartRead-1, Token.LITERAL_CHAR); return firstToken; } } { [^\n\\\$\@\%\`]+ {} \n { addToken(start,zzStartRead-1, Token.LITERAL_BACKQUOTE); return firstToken; } \\.? { /* Skip escaped chars. */ } {Variable} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.LITERAL_BACKQUOTE); addToken(temp,zzMarkedPos-1, Token.VARIABLE); start = zzMarkedPos; } {VariableStart} {} \` { yybegin(YYINITIAL); addToken(start,zzStartRead, Token.LITERAL_BACKQUOTE); } <> { addToken(start,zzStartRead-1, Token.LITERAL_BACKQUOTE); return firstToken; } } { /* NOTE: The closing "EOF" is supposed to be on a line by itself - */ /* no surrounding whitespace or other chars. However, the way */ /* we're hacking the JFLex scanning, something like ^"EOF"$ doesn't */ /* work. Fortunately we don't need the start- and end-line anchors */ /* since the production after "EOF" will match any line containing */ /* EOF and any other chars. */ /* NOTE2: This case is used for unquoted <> { addToken(start,zzStartRead-1, Token.PREPROCESSOR); addEndToken(INTERNAL_HEREDOC_EOF_UNQUOTED); return firstToken; } } { /* NOTE: The closing "EOF" is supposed to be on a line by itself - */ /* no surrounding whitespace or other chars. However, the way */ /* we're hacking the JFLex scanning, something like ^"EOF"$ doesn't */ /* work. Fortunately we don't need the start- and end-line anchors */ /* since the production after "EOF" will match any line containing */ /* EOF and any other chars. */ "EOF" { if (start==zzStartRead) { addToken(Token.PREPROCESSOR); addNullToken(); return firstToken; } } [^\n\\]+ {} \n { addToken(start,zzStartRead-1, Token.PREPROCESSOR); addEndToken(INTERNAL_HEREDOC_EOF_SINGLE_QUOTED); return firstToken; } \\.? { /* Skip escaped chars. */ } <> { addToken(start,zzStartRead-1, Token.PREPROCESSOR); addEndToken(INTERNAL_HEREDOC_EOF_SINGLE_QUOTED); return firstToken; } } { /* NOTE: The closing "EOT" is supposed to be on a line by itself - */ /* no surrounding whitespace or other chars. However, the way */ /* we're hacking the JFLex scanning, something like ^"EOT"$ doesn't */ /* work. Fortunately we don't need the start- and end-line anchors */ /* since the production after "EOT" will match any line containing */ /* EOF and any other chars. */ /* NOTE2: This case is used for unquoted <> { addToken(start,zzStartRead-1, Token.PREPROCESSOR); addEndToken(INTERNAL_HEREDOC_EOT_UNQUOTED); return firstToken; } } { /* NOTE: The closing "EOT" is supposed to be on a line by itself - */ /* no surrounding whitespace or other chars. However, the way */ /* we're hacking the JFLex scanning, something like ^"EOT"$ doesn't */ /* work. Fortunately we don't need the start- and end-line anchors */ /* since the production after "EOT" will match any line containing */ /* EOT and any other chars. */ "EOT" { if (start==zzStartRead) { addToken(Token.PREPROCESSOR); addNullToken(); return firstToken; } } [^\n\\]+ {} \n { addToken(start,zzStartRead-1, Token.PREPROCESSOR); addEndToken(INTERNAL_HEREDOC_EOT_SINGLE_QUOTED); return firstToken; } \\.? { /* Skip escaped chars. */ } <> { addToken(start,zzStartRead-1, Token.PREPROCESSOR); addEndToken(INTERNAL_HEREDOC_EOT_SINGLE_QUOTED); return firstToken; } } { [^\n\=]+ {} "=cut" { if (start==zzStartRead) { addToken(Token.COMMENT_DOCUMENTATION); yybegin(YYINITIAL); } } {PodCommandsExceptCut} { if (start==zzStartRead) { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_DOCUMENTATION); addToken(temp,zzMarkedPos-1, Token.COMMENT_EOL); start = zzMarkedPos; } } = {} \n | <> { addToken(start,zzStartRead-1, Token.COMMENT_DOCUMENTATION); addEndToken(INTERNAL_POD); return firstToken; } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/PerlTokenMaker.java0000644000175000001440000025520312202002502027405 0ustar benusers/* The following code was generated by JFlex 1.4.1 on 3/11/12 12:58 AM */ /* * 01/26/2008 * * PerlTokenMaker.java - Scanner for Perl * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.*; /** * Scanner for Perl.

* * 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * 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.
  • *
  • You should NOT call yylex() on the generated scanner * directly; rather, you should use getTokenList as you would * with any other TokenMaker instance.
  • *
* * @author Robert Futrell * @version 0.5 * */ public class PerlTokenMaker extends AbstractJFlexCTokenMaker { /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ public static final int HEREDOC_EOF_SINGLE_QUOTED = 5; public static final int HEREDOC_EOT_SINGLE_QUOTED = 7; public static final int HEREDOC_EOT_UNQUOTED = 6; public static final int STRING = 1; public static final int BACKTICKS = 3; public static final int YYINITIAL = 0; public static final int HEREDOC_EOF_UNQUOTED = 4; public static final int CHAR_LITERAL = 2; public static final int POD = 8; /** * Translates characters to character classes */ 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\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 */ private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED); /** * Translates DFA states to action switch labels. */ private static final int [] ZZ_ACTION = zzUnpackAction(); private static final String ZZ_ACTION_PACKED_0 = "\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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } return j; } /** * 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\106\0\214\0\322\0\u0118\0\u015e\0\u01a4\0\u01ea"+ "\0\u0230\0\u0276\0\u02bc\0\u0302\0\u0348\0\u038e\0\u03d4\0\u038e"+ "\0\u041a\0\u0460\0\u04a6\0\u038e\0\u038e\0\u04ec\0\u0532\0\u0578"+ "\0\u05be\0\u038e\0\u0604\0\u064a\0\u0690\0\u06d6\0\u071c\0\u0762"+ "\0\u07a8\0\u07ee\0\u0834\0\u087a\0\u08c0\0\u0906\0\u094c\0\u038e"+ "\0\u0992\0\u038e\0\u09d8\0\u0a1e\0\u0a64\0\u0aaa\0\u0af0\0\u0b36"+ "\0\u0b7c\0\u0bc2\0\u0c08\0\u0c4e\0\u0c94\0\u0cda\0\u0d20\0\u0d66"+ "\0\u0dac\0\u0df2\0\u0e38\0\u0e7e\0\u0ec4\0\u0f0a\0\u038e\0\u0f50"+ "\0\u0f96\0\u038e\0\u0fdc\0\u1022\0\u1068\0\u038e\0\u10ae\0\u10f4"+ "\0\u038e\0\u038e\0\u113a\0\u038e\0\u1180\0\u11c6\0\u120c\0\u038e"+ "\0\u1252\0\u038e\0\u1298\0\u12de\0\u1324\0\u136a\0\u13b0\0\u038e"+ "\0\u13f6\0\u038e\0\u143c\0\u038e\0\u1482\0\u14c8\0\u038e\0\u150e"+ "\0\u1554\0\u1554\0\u1554\0\u159a\0\u15e0\0\u1626\0\u166c\0\u16b2"+ "\0\u16f8\0\u173e\0\u1784\0\u17ca\0\u1810\0\u1856\0\u189c\0\u0276"+ "\0\u038e\0\u17ca\0\u18e2\0\u1928\0\u196e\0\u1928\0\u19b4\0\u19fa"+ "\0\u1a40\0\u1a86\0\u1acc\0\u1b12\0\u1b58\0\u1b9e\0\u1be4\0\u1c2a"+ "\0\u1c70\0\u1cb6\0\u1cfc\0\u1d42\0\u1d88\0\u1dce\0\u1e14\0\u1e5a"+ "\0\u1ea0\0\u1ee6\0\u1f2c\0\u1f72\0\u1fb8\0\u1ffe\0\u2044\0\u208a"+ "\0\u20d0\0\u2116\0\u02bc\0\u215c\0\u21a2\0\u21e8\0\u222e\0\u2274"+ "\0\u22ba\0\u2300\0\u2346\0\u238c\0\u23d2\0\u2418\0\u245e\0\u24a4"+ "\0\u24ea\0\u2530\0\u2576\0\u25bc\0\u2602\0\u2648\0\u268e\0\u26d4"+ "\0\u271a\0\u2760\0\u27a6\0\u27ec\0\u2832\0\u2878\0\u28be\0\u2904"+ "\0\u294a\0\u2990\0\u29d6\0\u2a1c\0\u2a62\0\u2aa8\0\u2aee\0\u2b34"+ "\0\u2b7a\0\u2bc0\0\u2c06\0\u2c4c\0\u2c92\0\u2cd8\0\u2d1e\0\u2d64"+ "\0\u2daa\0\u2df0\0\u2e36\0\u2e7c\0\u2ec2\0\u2f08\0\u2f4e\0\u02bc"+ "\0\u2f94\0\u2fda\0\u3020\0\u3066\0\u30ac\0\u30f2\0\u3138\0\u317e"+ "\0\u31c4\0\u320a\0\u3250\0\u3296\0\u32dc\0\u3322\0\u3368\0\u33ae"+ "\0\u33f4\0\u343a\0\u3480\0\u34c6\0\u350c\0\u3552\0\u3598\0\u35de"+ "\0\u3624\0\u366a\0\u36b0\0\u36f6\0\u038e\0\u373c\0\u3782\0\u37c8"+ "\0\u038e\0\u3782\0\u380e\0\u038e\0\u3854\0\u389a\0\u38e0\0\u038e"+ "\0\u389a\0\u3926\0\u396c\0\u39b2\0\u39f8\0\u3a3e\0\u038e\0\u39f8"+ "\0\u3a84\0\u3aca\0\u3b10\0\u3b56\0\u3b9c\0\u3be2\0\u3c28\0\u3c6e"+ "\0\u3cb4\0\u3cfa\0\u3d40\0\u3d86\0\u3dcc\0\u3e12\0\u1554\0\u3e58"+ "\0\u3e9e\0\u3ee4\0\u3f2a\0\u3f70\0\u3fb6\0\u3ffc\0\u4042\0\u4088"+ "\0\u40ce\0\u4114\0\u415a\0\u41a0\0\u41e6\0\u422c\0\u4272\0\u42b8"+ "\0\u26d4\0\u42fe\0\u4344\0\u438a\0\u43d0\0\u4416\0\u445c\0\u44a2"+ "\0\u44e8\0\u452e\0\u4574\0\u45ba\0\u4600\0\u4646\0\u468c\0\u46d2"+ "\0\u4718\0\u320a\0\u475e\0\u47a4\0\u47ea\0\u4830\0\u4876\0\u48bc"+ "\0\u4902\0\u4948\0\u498e\0\u49d4\0\u4a1a\0\u4a60\0\u4aa6\0\u4aec"+ "\0\u4b32\0\u4b78\0\u4bbe\0\u4c04\0\u4c4a\0\u4c90\0\u4cd6\0\u4d1c"+ "\0\u4d62\0\u4da8\0\u4dee\0\u4e34\0\u4e7a\0\u4ec0\0\u4f06\0\u4f4c"+ "\0\u4f92\0\u4fd8\0\u501e\0\u5064\0\u50aa\0\u50f0\0\u5136\0\u517c"+ "\0\u51c2\0\u5208\0\u524e\0\u5294\0\u52da\0\u5320\0\u5366\0\u26d4"+ "\0\u53ac\0\u53f2\0\u5438\0\u547e\0\u54c4\0\u550a\0\u5550\0\u5596"+ "\0\u55dc\0\u5622\0\u5668\0\u56ae\0\u56f4\0\u573a\0\u5780\0\u57c6"+ "\0\u580c\0\u5852\0\u5898\0\u58de\0\u5924\0\u596a\0\u59b0\0\u59f6"+ "\0\u5a3c\0\u5a82\0\u5ac8\0\u5b0e\0\u5b54\0\u5b9a\0\u5be0\0\u5c26"+ "\0\u5c6c\0\u5cb2\0\u5cf8\0\u5d3e\0\u1252\0\u5d84\0\u13b0\0\u5dca"+ "\0\u5e10\0\u5e56\0\u5e9c\0\u5ee2\0\u5f28\0\u5f6e\0\u5fb4\0\u5ffa"+ "\0\u6040\0\u6086\0\u60cc\0\u6112\0\u6158\0\u619e\0\u61e4\0\u622a"+ "\0\u6270\0\u2c4c\0\u62b6\0\u62fc\0\u6342\0\u6388\0\u63ce\0\u6414"+ "\0\u645a\0\u64a0\0\u64e6\0\u652c\0\u6572\0\u65b8\0\u65fe\0\u6644"+ "\0\u668a\0\u66d0\0\u6716\0\u675c\0\u67a2\0\u67e8\0\u682e\0\u6874"+ "\0\u68ba\0\u6900\0\u6946\0\u698c\0\u038e\0\u69d2\0\u6a18\0\u6a5e"+ "\0\u6aa4\0\u6aea\0\u6b30\0\u6b76\0\u6bbc\0\u6c02\0\u6c48\0\u6c8e"+ "\0\u6cd4\0\u6d1a\0\u6d60\0\u6da6\0\u6dec\0\u6e32\0\u6e78\0\u6ebe"+ "\0\u6f04\0\u6f4a\0\u2a62\0\u6f90\0\u6fd6\0\u701c\0\u7062\0\u70a8"+ "\0\u70ee\0\u7134\0\u717a\0\u71c0\0\u7206\0\u724c\0\u7292\0\u72d8"+ "\0\u731e\0\u7364\0\u73aa\0\u73f0\0\u7436\0\u747c\0\u74c2\0\u7508"+ "\0\u754e\0\u7594\0\u75da\0\u7620\0\u7666\0\u76ac\0\u038e\0\u038e"+ "\0\u76f2\0\u7738\0\u777e\0\u77c4\0\u780a\0\u7850\0\u7896\0\u78dc"+ "\0\u7922\0\u7968\0\u79ae\0\u79f4\0\u7a3a\0\u7a80\0\u7ac6\0\u7b0c"+ "\0\u7b52\0\u7b98\0\u7bde\0\u31c4\0\u7c24\0\u7c6a\0\u038e\0\u038e"+ "\0\u7cb0\0\u7cf6\0\u7d3c\0\u7d82\0\u7dc8\0\u7e0e\0\u7e54\0\u7e9a"+ "\0\u2878\0\u7ee0\0\u7f26\0\u7f6c\0\u7fb2\0\u7ff8\0\u803e\0\u8084"+ "\0\u80ca\0\u8110\0\u8156\0\u819c\0\u81e2\0\u8228\0\u826e\0\u82b4"+ "\0\u82fa\0\u8340\0\u8386\0\u83cc\0\u8412\0\u8458\0\u849e\0\u84e4"+ "\0\u852a\0\u8570\0\u85b6\0\u85fc\0\u8642\0\u8688\0\u86ce\0\u8714"+ "\0\u875a\0\u87a0\0\u87e6\0\u882c\0\u8872\0\u88b8\0\u88fe\0\u8944"+ "\0\u898a\0\u89d0\0\u8a16\0\u8a5c\0\u8aa2\0\u8ae8\0\u8b2e\0\u8b74"+ "\0\u8bba\0\u8c00\0\u8c46\0\u8c8c\0\u8cd2\0\u8d18\0\u8d5e\0\u8da4"+ "\0\u8dea\0\u8e30\0\u8e76\0\u8ebc\0\u038e\0\u038e\0\u8f02\0\u8f48"+ "\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 */ int l = packed.length(); while (i < l) { int high = packed.charAt(i++) << 16; result[j++] = high | packed.charAt(i++); } 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"+ "\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\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"+ "\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"+ "\1\50\105\0\1\50\5\0\1\50\2\0\1\231\1\232"+ "\1\233\1\234\5\0\1\235\2\0\1\236\3\0\1\237"+ "\54\0\1\50\105\0\1\50\1\0\1\240\103\0\1\50"+ "\5\0\1\50\77\0\1\50\4\0\1\50\2\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\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"+ "\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"+ "\1\346\1\351\1\0\2\351\2\0\4\346\7\351\1\352"+ "\1\353\1\0\3\351\5\346\13\351\5\346\2\351\17\346"+ "\1\351\3\346\10\107\2\0\41\107\1\0\32\107\11\354"+ "\1\0\74\354\10\113\2\0\11\113\2\0\1\113\1\0"+ "\2\113\1\0\54\113\1\0\1\355\2\0\1\355\6\0"+ "\4\355\7\0\1\356\1\357\4\0\5\355\13\0\5\355"+ "\2\0\17\355\1\0\3\355\10\113\2\0\11\113\2\0"+ "\1\113\1\356\2\113\1\0\54\113\1\0\1\355\2\360"+ "\1\355\1\360\1\0\2\360\2\0\4\355\7\360\1\361"+ "\1\362\1\0\3\360\5\355\13\360\5\355\2\360\17\355"+ "\1\360\3\355\10\121\2\0\11\121\2\0\1\121\1\0"+ "\67\121\2\0\11\121\2\0\1\121\1\0\54\121\1\363"+ "\2\121\1\0\1\364\2\0\1\364\6\0\4\364\7\0"+ "\1\365\1\366\4\0\5\364\13\0\5\364\2\0\17\364"+ "\1\0\3\364\10\121\2\0\11\121\2\0\1\121\1\365"+ "\57\121\1\0\1\364\2\367\1\364\1\367\1\0\2\367"+ "\2\0\4\364\7\367\1\370\1\371\1\0\3\367\5\364"+ "\13\367\5\364\2\367\17\364\1\367\3\364\10\127\2\0"+ "\104\127\2\0\71\127\1\372\2\127\10\121\2\0\11\121"+ "\2\0\1\121\1\0\54\121\1\373\2\121\10\127\2\0"+ "\71\127\1\374\2\127\11\136\1\0\31\136\1\0\42\136"+ "\35\0\1\375\16\0\1\376\1\377\1\u0100\1\u0101\5\0"+ "\1\u0102\2\0\1\u0103\3\0\1\u0104\11\0\6\141\1\0"+ "\2\141\2\0\4\141\4\0\1\141\2\0\1\141\5\0"+ "\5\141\13\0\26\141\1\0\5\141\2\u0105\1\141\1\u0105"+ "\1\0\2\141\2\0\4\141\1\u0106\3\0\1\141\2\0"+ "\1\141\5\0\5\141\1\u0106\12\0\5\141\2\u0105\17\141"+ "\1\0\5\141\2\145\1\141\1\145\1\0\2\141\2\0"+ "\2\141\1\143\1\144\4\0\1\141\2\0\1\141\5\0"+ "\4\141\1\143\13\0\3\141\1\144\1\141\2\145\11\141"+ "\1\143\5\141\1\0\1\141\1\143\3\141\2\146\1\141"+ "\1\146\1\0\2\141\2\0\2\141\1\143\1\144\1\0"+ "\1\145\2\0\1\141\2\0\1\141\5\0\4\141\1\143"+ "\13\0\3\141\1\144\1\141\2\146\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\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\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"+ "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0"+ "\4\13\1\u0120\13\0\1\13\1\u0121\6\13\1\u0122\2\13"+ "\1\u0123\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\3\13"+ "\1\u0124\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\24\13\1\u0125\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\1\223\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\223"+ "\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"+ "\12\13\1\u0126\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\u0127\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\u0128\3\13\13\0\16\13\1\310"+ "\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"+ "\17\13\1\u0129\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\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"+ "\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"+ "\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"+ "\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"+ "\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"+ "\1\12\2\0\1\12\5\0\1\u014b\1\u014c\2\13\1\u014d"+ "\13\0\4\13\1\u014e\2\13\1\u014f\2\13\1\u0150\4\13"+ "\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"+ "\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"+ "\2\0\17\346\1\0\3\346\1\0\1\u017b\2\0\1\u017b"+ "\6\0\4\u017b\15\0\5\u017b\13\0\5\u017b\2\0\17\u017b"+ "\1\0\3\u017b\1\0\1\u017b\2\0\1\u017b\2\0\2\351"+ "\2\0\4\u017b\10\351\1\0\4\351\5\u017b\13\351\5\u017b"+ "\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"+ "\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"+ "\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"+ "\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"+ "\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"+ "\13\0\3\13\1\u0191\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\15\13\1\u0192\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\1\u0193\4\13\13\0\1\u0194\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\1\13\1\u0155\3\13\13\0\1\13\1\307"+ "\14\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"+ "\4\13\1\u0198\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\u0199\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\u019a\1\u019b\3\13\13\0\1\13\1\u019c"+ "\6\13\1\u018e\1\13\1\u019d\10\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\3\13\1\u019e\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\u019f\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\u01a0\4\13\1\u0115\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\251\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\310"+ "\12\13\1\307\7\13\1\201\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\u01a1\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\u0119"+ "\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\3\13\1\u01a2"+ "\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\246\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\246\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\u01a3\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\u01a4\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\16\13\1\u01a5\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\u01a6\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\15\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\3\13"+ "\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"+ "\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"+ "\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"+ "\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"+ "\2\0\1\12\5\0\5\13\13\0\3\13\1\u01be\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\21\13"+ "\1\u01bf\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\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\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"+ "\7\13\1\u01cd\1\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\3\13\1\u01ce\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\225"+ "\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\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"+ "\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"+ "\1\u01d6\37\u016f\32\u0170\1\0\17\u0170\1\u01d7\33\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\12\13\1\u01d8\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\u01d9\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\u01da\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\u01db\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\225\13\13\1\0"+ "\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"+ "\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"+ "\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"+ "\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"+ "\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"+ "\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"+ "\2\12\2\0\4\13\4\0\1\12\2\0\1\12\5\0"+ "\1\13\1\u014c\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\u0209\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\u020a"+ "\1\13\1\u020b\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\u020c\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\u020d\2\13\1\u020e\4\13"+ "\1\u020f\5\13\1\u01ed\4\13\1\u0210\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\u0211\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\u0212\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\u0213\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\u0214\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\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\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"+ "\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"+ "\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"+ "\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"+ "\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"+ "\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"+ "\1\u01e0\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\1\u0239"+ "\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"+ "\23\13\1\201\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\15\13\1\u023a\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\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"+ "\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"+ "\2\0\4\13\4\0\1\12\2\0\1\12\5\0\5\13"+ "\13\0\15\13\1\u0241\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\7\13\1\u0242\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\10\13\1\u0243\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\12\13"+ "\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"+ "\1\12\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"+ "\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"; 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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); value--; do result[j++] = value; while (--count > 0); } return j; } /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; private static final int ZZ_PUSHBACK_2BIG = 2; /* error messages for the codes above */ private static final String ZZ_ERROR_MSG[] = { "Unkown internal scanner error", "Error: could not match input", "Error: pushback value was too large" }; /** * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute(); private static final String ZZ_ATTRIBUTE_PACKED_0 = "\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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } return j; } /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ private int zzState; /** the current lexical state */ private int zzLexicalState = YYINITIAL; /** this buffer contains the current text to be matched and is the source of the yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ private int zzMarkedPos; /** the current text position in the buffer */ private int zzCurrentPos; /** startRead marks the beginning of the yytext() string in the buffer */ private int zzStartRead; /** endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** 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. */ 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. */ 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. */ 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. */ public static final int INTERNAL_HEREDOC_EOT_SINGLE_QUOTED = -4; /** * 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. */ public PerlTokenMaker() { } /** * 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. */ 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. */ 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. */ 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. */ @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 text to place at the beginning and end of a * line to "comment" it in a this programming language. * * @return The start and end strings to add to a line to "comment" * it out. */ @Override public String[] getLineCommentStartAndEnd() { return new String[] { "#", null }; } /** * {@inheritDoc} */ @Override 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. * * @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) { resetTokenList(); this.offsetShift = -text.offset + startOffset; // 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; } s = text; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); return new TokenImpl(); } } /** * Returns whether a regular expression token can follow the specified * token. * * @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; // 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=='&' )) || /* 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. */ 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. * * 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 */ 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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = s.offset; zzLexicalState = YYINITIAL; 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. */ public PerlTokenMaker(java.io.Reader in) { this.zzReader = in; } /** * Creates a new scanner. * There is also java.io.Reader version of this constructor. * * @param in the java.io.Inputstream to read input from. */ public PerlTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } /** * Unpacks the compressed character translation table. * * @param packed the packed character translation table * @return the unpacked character translation table */ private static char [] zzUnpackCMap(String packed) { char [] map = new char[0x10000]; int i = 0; /* index in packed string */ int j = 0; /* index in unpacked array */ while (i < 174) { int count = packed.charAt(i++); char value = packed.charAt(i++); do map[j++] = value; while (--count > 0); } return map; } /** * Closes the input stream. */ public final void yyclose() throws java.io.IOException { zzAtEOF = true; /* indicate end of file */ zzEndRead = zzStartRead; /* invalidate buffer */ if (zzReader != null) zzReader.close(); } /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } /** * Enters a 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 yylength()-1. * * @return the character at position pos */ public final char yycharat(int pos) { return zzBuffer[zzStartRead+pos]; } /** * Returns the length of the matched text region. */ public final int yylength() { return zzMarkedPos-zzStartRead; } /** * Reports an error that occured while scanning. * * In a wellformed scanner (no or only correct usage of * yypushback(int) and a match-all fallback rule) this method * will only be called with things that "Can't Possibly Happen". * If this method is called, something is seriously wrong * (e.g. a JFlex bug producing a faulty scanner etc.). * * Usual syntax/scanner level error handling should be done * in error fallback rules. * * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; try { message = ZZ_ERROR_MSG[errorCode]; } catch (ArrayIndexOutOfBoundsException e) { message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR]; } throw new Error(message); } /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * * @param number the number of characters to be read again. * This number must not be greater than yylength()! */ public void yypushback(int number) { if ( number > yylength() ) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } /** * Resumes scanning until the next regular expression is matched, * the end of input is encountered or an I/O-Error occurs. * * @return the next token * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; int zzAction; // cached fields: int zzCurrentPosL; int zzMarkedPosL; int zzEndReadL = zzEndRead; char [] zzBufferL = zzBuffer; char [] zzCMapL = ZZ_CMAP; int [] zzTransL = ZZ_TRANS; int [] zzRowMapL = ZZ_ROWMAP; int [] zzAttrL = ZZ_ATTRIBUTE; while (true) { zzMarkedPosL = zzMarkedPos; zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; else if (zzAtEOF) { zzInput = YYEOF; break zzForAction; } else { // store back cached positions zzCurrentPos = zzCurrentPosL; zzMarkedPos = zzMarkedPosL; boolean eof = zzRefill(); // get translated positions and possibly new buffer zzCurrentPosL = zzCurrentPos; zzMarkedPosL = zzMarkedPos; zzBufferL = zzBuffer; zzEndReadL = zzEndRead; if (eof) { zzInput = YYEOF; break zzForAction; } else { zzInput = zzBufferL[zzCurrentPosL++]; } } int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ]; if (zzNext == -1) break zzForAction; zzState = zzNext; int zzAttributes = zzAttrL[zzState]; if ( (zzAttributes & 1) == 1 ) { zzAction = zzState; zzMarkedPosL = zzCurrentPosL; if ( (zzAttributes & 8) == 8 ) break zzForAction; } } } // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { case 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 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: { 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); } } } } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/PythonTokenMaker.flex0000644000175000001440000003710312202237656030022 0ustar benusers/* * 12/06/2005 * * PythonTokenMaker.java - Token maker for the Python programming language. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.AbstractJFlexTokenMaker; import org.fife.ui.rsyntaxtextarea.Token; import org.fife.ui.rsyntaxtextarea.TokenMaker; /** * Scanner for the Python programming language. * * @author Robert Futrell * @version 0.3 */ %% %public %class PythonTokenMaker %extends AbstractJFlexTokenMaker %unicode %type org.fife.ui.rsyntaxtextarea.Token %{ /** * 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. */ 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. */ 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. */ @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 text to place at the beginning and end of a * line to "comment" it in a this programming language. * * @return The start and end strings to add to a line to "comment" * it out. */ @Override public String[] getLineCommentStartAndEnd() { 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. * * @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) { resetTokenList(); this.offsetShift = -text.offset + startOffset; // 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; } s = text; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); return new TokenImpl(); } } /** * 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 */ public final void yyreset(java.io.Reader reader) throws java.io.IOException { // '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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = zzPushbackPos = s.offset; zzLexicalState = YYINITIAL; zzReader = reader; zzAtBOL = true; zzAtEOF = false; } /** * Refills the input buffer. * * @return true if EOF was reached, otherwise * false. * @exception IOException if any I/O-Error occurs. */ private boolean zzRefill() throws java.io.IOException { return zzCurrentPos>=s.offset+s.count; } %} /* This part is taken from http://www.python.org/doc/2.2.3/ref/grammar.txt */ identifier = (({letter}|"_")({letter}|{digit}|"_")*) letter = ({lowercase}|{uppercase}) lowercase = ([a-z]) uppercase = ([A-Z]) digit = ([0-9]) stringliteral = ({stringprefix}?{shortstring}) stringprefix = ("r"|"u"[rR]?|"R"|"U"[rR]?) shortstring1 = ([\']{shortstring1item}*[\']?) shortstring2 = ([\"]{shortstring2item}*[\"]?) shortstring = ({shortstring1}|{shortstring2}) shortstring1item = ({shortstring1char}|{escapeseq}) shortstring2item = ({shortstring2char}|{escapeseq}) shortstring1char = ([^\\\n\']) shortstring2char = ([^\\\n\"]) escapeseq = ([\\].) longinteger = ({integer}[lL]) integer = ({decimalinteger}|{octinteger}|{hexinteger}) decimalinteger = ({nonzerodigit}{digit}*|"0") octinteger = ("0"{octdigit}+) hexinteger = ("0"[xX]{hexdigit}+) nonzerodigit = ([1-9]) octdigit = ([0-7]) hexdigit = ({digit}|[a-f]|[A-F]) floatnumber = ({pointfloat}|{exponentfloat}) pointfloat = ({intpart}?{fraction}|{intpart}".") exponentfloat = (({intpart}|{pointfloat}){exponent}) intpart = ({digit}+) fraction = ("."{digit}+) exponent = ([eE][\+\-]?{digit}+) imagnumber = (({floatnumber}|{intpart})[jJ]) ErrorNumberFormat = ({digit}{NonSeparator}+) NonSeparator = ([^\t\f\r\n\ \(\)\{\}\[\]\;\,\.\=\>\<\!\~\?\:\+\-\*\/\&\|\^\%\"\']|"#") LongStringStart1 = ({stringprefix}?\'\'\') LongStringStart2 = ({stringprefix}?\"\"\") LineTerminator = (\n) WhiteSpace = ([ \t\f]) LineComment = ("#".*) %state LONG_STRING_1 %state LONG_STRING_2 %% /* Keywords */ "and" { addToken(Token.RESERVED_WORD); } "as" { addToken(Token.RESERVED_WORD); } "assert" { addToken(Token.RESERVED_WORD); } "break" { addToken(Token.RESERVED_WORD); } "class" { addToken(Token.RESERVED_WORD); } "continue" { addToken(Token.RESERVED_WORD); } "def" { addToken(Token.RESERVED_WORD); } "del" { addToken(Token.RESERVED_WORD); } "elif" { addToken(Token.RESERVED_WORD); } "else" { addToken(Token.RESERVED_WORD); } "except" { addToken(Token.RESERVED_WORD); } "exec" { addToken(Token.RESERVED_WORD); } "finally" { addToken(Token.RESERVED_WORD); } "for" { addToken(Token.RESERVED_WORD); } "from" { addToken(Token.RESERVED_WORD); } "global" { addToken(Token.RESERVED_WORD); } "if" { addToken(Token.RESERVED_WORD); } "import" { addToken(Token.RESERVED_WORD); } "in" { addToken(Token.RESERVED_WORD); } "is" { addToken(Token.RESERVED_WORD); } "lambda" { addToken(Token.RESERVED_WORD); } "not" { addToken(Token.RESERVED_WORD); } "or" { addToken(Token.RESERVED_WORD); } "pass" { addToken(Token.RESERVED_WORD); } "print" { addToken(Token.RESERVED_WORD); } "raise" { addToken(Token.RESERVED_WORD); } "return" { addToken(Token.RESERVED_WORD); } "try" { addToken(Token.RESERVED_WORD); } "while" { addToken(Token.RESERVED_WORD); } "yield" { addToken(Token.RESERVED_WORD); } /* Data types. */ "char" { addToken(Token.DATA_TYPE); } "double" { addToken(Token.DATA_TYPE); } "float" { addToken(Token.DATA_TYPE); } "int" { addToken(Token.DATA_TYPE); } "long" { addToken(Token.DATA_TYPE); } "short" { addToken(Token.DATA_TYPE); } "signed" { addToken(Token.DATA_TYPE); } "unsigned" { addToken(Token.DATA_TYPE); } "void" { addToken(Token.DATA_TYPE); } /* Standard functions */ "abs" { addToken(Token.FUNCTION); } "apply" { addToken(Token.FUNCTION); } "bool" { addToken(Token.FUNCTION); } "buffer" { addToken(Token.FUNCTION); } "callable" { addToken(Token.FUNCTION); } "chr" { addToken(Token.FUNCTION); } "classmethod" { addToken(Token.FUNCTION); } "cmp" { addToken(Token.FUNCTION); } "coerce" { addToken(Token.FUNCTION); } "compile" { addToken(Token.FUNCTION); } "complex" { addToken(Token.FUNCTION); } "delattr" { addToken(Token.FUNCTION); } "dict" { addToken(Token.FUNCTION); } "dir" { addToken(Token.FUNCTION); } "divmod" { addToken(Token.FUNCTION); } "enumerate" { addToken(Token.FUNCTION); } "eval" { addToken(Token.FUNCTION); } "execfile" { addToken(Token.FUNCTION); } "file" { addToken(Token.FUNCTION); } "filter" { addToken(Token.FUNCTION); } "float" { addToken(Token.FUNCTION); } "getattr" { addToken(Token.FUNCTION); } "globals" { addToken(Token.FUNCTION); } "hasattr" { addToken(Token.FUNCTION); } "hash" { addToken(Token.FUNCTION); } "hex" { addToken(Token.FUNCTION); } "id" { addToken(Token.FUNCTION); } "input" { addToken(Token.FUNCTION); } "int" { addToken(Token.FUNCTION); } "intern" { addToken(Token.FUNCTION); } "isinstance" { addToken(Token.FUNCTION); } "issubclass" { addToken(Token.FUNCTION); } "iter" { addToken(Token.FUNCTION); } "len" { addToken(Token.FUNCTION); } "list" { addToken(Token.FUNCTION); } "locals" { addToken(Token.FUNCTION); } "long" { addToken(Token.FUNCTION); } "map" { addToken(Token.FUNCTION); } "max" { addToken(Token.FUNCTION); } "min" { addToken(Token.FUNCTION); } "object" { addToken(Token.FUNCTION); } "oct" { addToken(Token.FUNCTION); } "open" { addToken(Token.FUNCTION); } "ord" { addToken(Token.FUNCTION); } "pow" { addToken(Token.FUNCTION); } "property" { addToken(Token.FUNCTION); } "range" { addToken(Token.FUNCTION); } "raw_input" { addToken(Token.FUNCTION); } "reduce" { addToken(Token.FUNCTION); } "reload" { addToken(Token.FUNCTION); } "repr" { addToken(Token.FUNCTION); } "round" { addToken(Token.FUNCTION); } "setattr" { addToken(Token.FUNCTION); } "slice" { addToken(Token.FUNCTION); } "staticmethod" { addToken(Token.FUNCTION); } "str" { addToken(Token.FUNCTION); } "sum" { addToken(Token.FUNCTION); } "super" { addToken(Token.FUNCTION); } "tuple" { addToken(Token.FUNCTION); } "type" { addToken(Token.FUNCTION); } "unichr" { addToken(Token.FUNCTION); } "unicode" { addToken(Token.FUNCTION); } "vars" { addToken(Token.FUNCTION); } "xrange" { addToken(Token.FUNCTION); } "zip" { addToken(Token.FUNCTION); } { {LineTerminator} { addNullToken(); return firstToken; } {identifier} { addToken(Token.IDENTIFIER); } {WhiteSpace}+ { addToken(Token.WHITESPACE); } /* String/Character Literals. */ {stringliteral} { addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); } {LongStringStart1} { yybegin(LONG_STRING_1); addToken(Token.LITERAL_CHAR); } {LongStringStart2} { yybegin(LONG_STRING_2); addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); } /* Comment Literals. */ {LineComment} { addToken(Token.COMMENT_EOL); } /* Separators. */ "(" { addToken(Token.SEPARATOR); } ")" { addToken(Token.SEPARATOR); } "[" { addToken(Token.SEPARATOR); } "]" { addToken(Token.SEPARATOR); } "{" { addToken(Token.SEPARATOR); } "}" { addToken(Token.SEPARATOR); } /* Operators. */ "=" { addToken(Token.OPERATOR); } "+" { addToken(Token.OPERATOR); } "-" { addToken(Token.OPERATOR); } "*" { addToken(Token.OPERATOR); } "/" { addToken(Token.OPERATOR); } "%" { addToken(Token.OPERATOR); } "**" { addToken(Token.OPERATOR); } "~" { addToken(Token.OPERATOR); } "<" { addToken(Token.OPERATOR); } ">" { addToken(Token.OPERATOR); } "<<" { addToken(Token.OPERATOR); } ">>" { addToken(Token.OPERATOR); } "==" { addToken(Token.OPERATOR); } "+=" { addToken(Token.OPERATOR); } "-=" { addToken(Token.OPERATOR); } "*=" { addToken(Token.OPERATOR); } "/=" { addToken(Token.OPERATOR); } "%=" { addToken(Token.OPERATOR); } ">>=" { addToken(Token.OPERATOR); } "<<=" { addToken(Token.OPERATOR); } "^" { addToken(Token.OPERATOR); } "&" { addToken(Token.OPERATOR); } "&&" { addToken(Token.OPERATOR); } "|" { addToken(Token.OPERATOR); } "||" { addToken(Token.OPERATOR); } "?" { addToken(Token.OPERATOR); } ":" { addToken(Token.OPERATOR); } "," { addToken(Token.OPERATOR); } "!" { addToken(Token.OPERATOR); } "++" { addToken(Token.OPERATOR); } "--" { addToken(Token.OPERATOR); } "." { addToken(Token.OPERATOR); } "," { addToken(Token.OPERATOR); } /* Numbers */ {longinteger}|{integer} { addToken(Token.LITERAL_NUMBER_DECIMAL_INT); } {floatnumber}|{imagnumber} { addToken(Token.LITERAL_NUMBER_FLOAT); } {ErrorNumberFormat} { addToken(Token.ERROR_NUMBER_FORMAT); } /* Other punctuation, we'll highlight it as "identifiers." */ "@" { addToken(Token.IDENTIFIER); } ";" { addToken(Token.IDENTIFIER); } /* Ended with a line not in a string or comment. */ <> { addNullToken(); return firstToken; } /* Catch any other (unhandled) characters and flag them as bad. */ . { addToken(Token.ERROR_IDENTIFIER); } } { [^\']+ { addToken(Token.LITERAL_CHAR); } "'''" { yybegin(YYINITIAL); addToken(Token.LITERAL_CHAR); } "'" { addToken(Token.LITERAL_CHAR); } <> { if (firstToken==null) { addToken(Token.LITERAL_CHAR); } return firstToken; } } { [^\"]+ { addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); } \"\"\" { yybegin(YYINITIAL); addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); } \" { addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); } <> { if (firstToken==null) { addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); } return firstToken; } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/PythonTokenMaker.java0000644000175000001440000011274412202002502027766 0ustar benusers/* The following code was generated by JFlex 1.4.1 on 10/16/06 10:31 AM */ /* * 12/06/2005 * * PythonTokenMaker.java - Token maker for the Python programming language. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.AbstractJFlexTokenMaker; import org.fife.ui.rsyntaxtextarea.Token; import org.fife.ui.rsyntaxtextarea.TokenImpl; /** * Scanner for the Python programming language. * * @author Robert Futrell * @version 0.3 */ public class PythonTokenMaker extends AbstractJFlexTokenMaker { /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ public static final int YYINITIAL = 0; public static final int LONG_STRING_2 = 2; public static final int LONG_STRING_1 = 1; /** * Translates characters to character classes */ private static final String ZZ_CMAP_PACKED = "\11\0\1\34\1\12\1\0\1\34\1\32\22\0\1\34\1\64\1\11"+ "\1\33\1\0\1\63\1\67\1\10\1\57\1\57\1\62\1\61\1\64"+ "\1\27\1\24\1\63\1\16\7\21\2\3\1\64\1\72\1\65\1\60"+ "\1\66\1\64\1\71\4\23\1\26\1\23\3\2\1\31\1\2\1\15"+ "\5\2\1\6\2\2\1\7\2\2\1\20\2\2\1\57\1\13\1\57"+ "\1\64\1\1\1\0\1\35\1\42\1\44\1\37\1\25\1\22\1\52"+ "\1\54\1\46\1\30\1\43\1\14\1\51\1\36\1\45\1\47\1\2"+ "\1\4\1\40\1\41\1\5\1\55\1\53\1\17\1\50\1\56\1\57"+ "\1\70\1\57\1\64\uff81\0"; /** * Translates characters to character classes */ private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED); /** * Translates DFA states to action switch labels. */ private static final int [] ZZ_ACTION = zzUnpackAction(); private static final String ZZ_ACTION_PACKED_0 = "\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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } return j; } /** * 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\73\0\166\0\261\0\354\0\u0127\0\u0162\0\u019d"+ "\0\u01d8\0\u0213\0\u024e\0\u0289\0\261\0\u02c4\0\u02ff\0\u033a"+ "\0\u0375\0\u03b0\0\u03eb\0\u0426\0\u0461\0\u049c\0\u04d7\0\u0512"+ "\0\u054d\0\u0588\0\u05c3\0\u05fe\0\u0639\0\u0674\0\u06af\0\u06ea"+ "\0\u0725\0\u0760\0\u079b\0\u07d6\0\u0811\0\u084c\0\u0887\0\261"+ "\0\u08c2\0\u08fd\0\u0938\0\261\0\u0973\0\u09ae\0\u09e9\0\u0a24"+ "\0\261\0\u0a5f\0\u0a9a\0\u0ad5\0\u0b10\0\u0b4b\0\u0b4b\0\u0b86"+ "\0\u0bc1\0\u0b4b\0\u0bfc\0\u0c37\0\u0c72\0\u0cad\0\u0ce8\0\u0d23"+ "\0\u0d5e\0\u0d99\0\u0dd4\0\u0e0f\0\u0e4a\0\u0e85\0\u0ec0\0\u0efb"+ "\0\u0f36\0\u0f71\0\u0fac\0\u0fe7\0\u1022\0\u105d\0\u1098\0\u10d3"+ "\0\u110e\0\u1149\0\u1184\0\u11bf\0\u11fa\0\u1235\0\u1270\0\u12ab"+ "\0\u12e6\0\u1321\0\u135c\0\u1397\0\u13d2\0\u140d\0\u1448\0\u1483"+ "\0\u14be\0\u14f9\0\u1534\0\u156f\0\u15aa\0\u15e5\0\u1620\0\u165b"+ "\0\u1696\0\u16d1\0\u170c\0\u1747\0\u1782\0\u17bd\0\u17f8\0\u1833"+ "\0\u186e\0\354\0\u18a9\0\354\0\u18e4\0\u191f\0\u195a\0\u1995"+ "\0\u19d0\0\u1a0b\0\u1a46\0\u1a81\0\u1abc\0\u1af7\0\u1b32\0\u1b6d"+ "\0\u1ba8\0\u1be3\0\u1c1e\0\u1c59\0\u1c94\0\261\0\u1ccf\0\u1d0a"+ "\0\u1d45\0\u1d80\0\u1dbb\0\u1df6\0\u1e31\0\u1e6c\0\u1ea7\0\u1ee2"+ "\0\u1f1d\0\u1f58\0\261\0\261\0\261\0\u1f93\0\u1fce\0\u2009"+ "\0\u2044\0\u207f\0\u20ba\0\u20f5\0\u2130\0\u216b\0\u21a6\0\u21e1"+ "\0\u221c\0\u2257\0\u2292\0\u22cd\0\u2308\0\u2343\0\u237e\0\u23b9"+ "\0\u23f4\0\u242f\0\u237e\0\u246a\0\u24a5\0\u24e0\0\u251b\0\u2556"+ "\0\u2591\0\u25cc\0\u2607\0\u2642\0\u267d\0\u26b8\0\u26f3\0\u272e"+ "\0\u2769\0\u27a4\0\u27df\0\u281a\0\u2855\0\u2890\0\u28cb\0\u2906"+ "\0\u2941\0\u297c\0\u29b7\0\u29f2\0\u2a2d\0\u2a68\0\261\0\261"+ "\0\u2aa3\0\u2ade\0\u2b19\0\u2b54\0\u17bd\0\u2b8f\0\u2bca\0\354"+ "\0\u2c05\0\u2c40\0\u2c7b\0\u2cb6\0\u2cf1\0\u2d2c\0\u2d67\0\u2da2"+ "\0\u2ddd\0\u2e18\0\u2e53\0\u2e8e\0\u2ec9\0\u2f04\0\u2f3f\0\u2f7a"+ "\0\u2fb5\0\u2ff0\0\u302b\0\u3066\0\u30a1\0\u30dc\0\u3117\0\u3152"+ "\0\u318d\0\u31c8\0\u3203\0\u323e\0\u3279\0\u32b4\0\u32ef\0\u332a"+ "\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 */ int l = packed.length(); while (i < l) { int high = packed.charAt(i++) << 16; result[j++] = high | packed.charAt(i++); } 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"+ "\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"+ "\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"+ "\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"+ "\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"+ "\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"; 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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); value--; do result[j++] = value; while (--count > 0); } return j; } /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; private static final int ZZ_PUSHBACK_2BIG = 2; /* error messages for the codes above */ private static final String ZZ_ERROR_MSG[] = { "Unkown internal scanner error", "Error: could not match input", "Error: pushback value was too large" }; /** * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute(); private static final String ZZ_ATTRIBUTE_PACKED_0 = "\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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } return j; } /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ private int zzState; /** the current lexical state */ private int zzLexicalState = YYINITIAL; /** this buffer contains the current text to be matched and is the source of the yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ private int zzMarkedPos; /** the current text position in the buffer */ private int zzCurrentPos; /** startRead marks the beginning of the yytext() string in the buffer */ private int zzStartRead; /** endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** 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. */ public PythonTokenMaker() { super(); } /** * Adds the token specified to the current linked list of tokens. * * @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. */ 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. */ @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 text to place at the beginning and end of a * line to "comment" it in a this programming language. * * @return The start and end strings to add to a line to "comment" * it out. */ @Override public String[] getLineCommentStartAndEnd() { 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. * * @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) { resetTokenList(); this.offsetShift = -text.offset + startOffset; // 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; } s = text; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); return new TokenImpl(); } } /** * 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 */ public final void yyreset(java.io.Reader reader) throws java.io.IOException { // '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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = s.offset; zzLexicalState = YYINITIAL; zzReader = reader; zzAtEOF = false; } /** * Refills the input buffer. * * @return true if EOF was reached, otherwise * false. * @exception IOException if any I/O-Error occurs. */ private boolean zzRefill() throws java.io.IOException { return zzCurrentPos>=s.offset+s.count; } /** * Creates a new scanner * There is also a java.io.InputStream version of this constructor. * * @param in the java.io.Reader to read input from. */ public PythonTokenMaker(java.io.Reader in) { this.zzReader = in; } /** * Creates a new scanner. * There is also java.io.Reader version of this constructor. * * @param in the java.io.Inputstream to read input from. */ public PythonTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } /** * Unpacks the compressed character translation table. * * @param packed the packed character translation table * @return the unpacked character translation table */ private static char [] zzUnpackCMap(String packed) { char [] map = new char[0x10000]; int i = 0; /* index in packed string */ int j = 0; /* index in unpacked array */ while (i < 168) { int count = packed.charAt(i++); char value = packed.charAt(i++); do map[j++] = value; while (--count > 0); } return map; } /** * Closes the input stream. */ public final void yyclose() throws java.io.IOException { zzAtEOF = true; /* indicate end of file */ zzEndRead = zzStartRead; /* invalidate buffer */ if (zzReader != null) zzReader.close(); } /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } /** * Enters a 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 yylength()-1. * * @return the character at position pos */ public final char yycharat(int pos) { return zzBuffer[zzStartRead+pos]; } /** * Returns the length of the matched text region. */ public final int yylength() { return zzMarkedPos-zzStartRead; } /** * Reports an error that occured while scanning. * * In a wellformed scanner (no or only correct usage of * yypushback(int) and a match-all fallback rule) this method * will only be called with things that "Can't Possibly Happen". * If this method is called, something is seriously wrong * (e.g. a JFlex bug producing a faulty scanner etc.). * * Usual syntax/scanner level error handling should be done * in error fallback rules. * * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; try { message = ZZ_ERROR_MSG[errorCode]; } catch (ArrayIndexOutOfBoundsException e) { message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR]; } throw new Error(message); } /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * * @param number the number of characters to be read again. * This number must not be greater than yylength()! */ public void yypushback(int number) { if ( number > yylength() ) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } /** * Resumes scanning until the next regular expression is matched, * the end of input is encountered or an I/O-Error occurs. * * @return the next token * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; int zzAction; // cached fields: int zzCurrentPosL; int zzMarkedPosL; int zzEndReadL = zzEndRead; char [] zzBufferL = zzBuffer; char [] zzCMapL = ZZ_CMAP; int [] zzTransL = ZZ_TRANS; int [] zzRowMapL = ZZ_ROWMAP; int [] zzAttrL = ZZ_ATTRIBUTE; while (true) { zzMarkedPosL = zzMarkedPos; zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; else if (zzAtEOF) { zzInput = YYEOF; break zzForAction; } else { // store back cached positions zzCurrentPos = zzCurrentPosL; zzMarkedPos = zzMarkedPosL; boolean eof = zzRefill(); // get translated positions and possibly new buffer zzCurrentPosL = zzCurrentPos; zzMarkedPosL = zzMarkedPos; zzBufferL = zzBuffer; zzEndReadL = zzEndRead; if (eof) { zzInput = YYEOF; break zzForAction; } else { zzInput = zzBufferL[zzCurrentPosL++]; } } int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ]; if (zzNext == -1) break zzForAction; zzState = zzNext; int zzAttributes = zzAttrL[zzState]; if ( (zzAttributes & 1) == 1 ) { zzAction = zzState; zzMarkedPosL = zzCurrentPosL; if ( (zzAttributes & 8) == 8 ) break zzForAction; } } } // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { case 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); } } } } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/ActionScriptTokenMaker.flex0000644000175000001440000003402612202240132031123 0ustar benusers/* * 04/27/2010 * * ActionScriptTokenMaker.java - Scanner for ActionScript. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.*; /** * Scanner for the ActionScript.

* * 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * 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.
  • *
  • You should NOT call yylex() on the generated scanner * directly; rather, you should use getTokenList as you would * with any other TokenMaker instance.
  • *
* * @author Robert Futrell * @version 0.5 * */ %% %public %class ActionScriptTokenMaker %extends AbstractJFlexCTokenMaker %unicode %type org.fife.ui.rsyntaxtextarea.Token %{ /** * Constructor. This must be here because JFlex does not generate a * no-parameter constructor. */ public ActionScriptTokenMaker() { } /** * Adds the token specified to the current linked list of tokens. * * @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. */ 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. * @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. */ @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 the text to place at the beginning and end of a * line to "comment" it in a this programming language. * * @return The start and end strings to add to a line to "comment" * it out. */ @Override public String[] getLineCommentStartAndEnd() { 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. * * @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) { resetTokenList(); this.offsetShift = -text.offset + startOffset; // 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; } s = text; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); return new TokenImpl(); } } /** * Refills the input buffer. * * @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. * * 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 */ 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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = zzPushbackPos = s.offset; zzLexicalState = YYINITIAL; zzReader = reader; zzAtBOL = true; zzAtEOF = false; } %} Letter = [A-Za-z] LetterOrUnderscore = ({Letter}|"_") NonzeroDigit = [1-9] Digit = ("0"|{NonzeroDigit}) HexDigit = ({Digit}|[A-Fa-f]) OctalDigit = ([0-7]) AnyCharacterButApostropheOrBackSlash = ([^\\']) AnyCharacterButDoubleQuoteOrBackSlash = ([^\\\"\n]) EscapedSourceCharacter = ("u"{HexDigit}{HexDigit}{HexDigit}{HexDigit}) Escape = ("\\"(([btnfr\"'\\])|([0123]{OctalDigit}?{OctalDigit}?)|({OctalDigit}{OctalDigit}?)|{EscapedSourceCharacter})) NonSeparator = ([^\t\f\r\n\ \(\)\{\}\[\]\;\,\.\=\>\<\!\~\?\:\+\-\*\/\&\|\^\%\"\']|"#"|"\\") IdentifierStart = ({LetterOrUnderscore}|"$") IdentifierPart = ({IdentifierStart}|{Digit}|("\\"{EscapedSourceCharacter})) LineTerminator = (\n) WhiteSpace = ([ \t\f]) CharLiteral = ([\']({AnyCharacterButApostropheOrBackSlash}|{Escape})[\']) UnclosedCharLiteral = ([\'][^\'\n]*) ErrorCharLiteral = ({UnclosedCharLiteral}[\']) StringLiteral = ([\"]({AnyCharacterButDoubleQuoteOrBackSlash}|{Escape})*[\"]) UnclosedStringLiteral = ([\"]([\\].|[^\\\"])*[^\"]?) ErrorStringLiteral = ({UnclosedStringLiteral}[\"]) MLCBegin = ("/*") MLCEnd = ("*/") LineCommentBegin = ("//") IntegerHelper1 = (({NonzeroDigit}{Digit}*)|"0") IntegerHelper2 = ("0"(([xX]{HexDigit}+)|({OctalDigit}*))) IntegerLiteral = ({IntegerHelper1}[lL]?) HexLiteral = ({IntegerHelper2}[lL]?) FloatHelper1 = ([fFdD]?) FloatHelper2 = ([eE][+-]?{Digit}+{FloatHelper1}) FloatLiteral1 = ({Digit}+"."({FloatHelper1}|{FloatHelper2}|{Digit}+({FloatHelper1}|{FloatHelper2}))) FloatLiteral2 = ("."{Digit}+({FloatHelper1}|{FloatHelper2})) FloatLiteral3 = ({Digit}+{FloatHelper2}) FloatLiteral = ({FloatLiteral1}|{FloatLiteral2}|{FloatLiteral3}|({Digit}+[fFdD])) ErrorNumberFormat = (({IntegerLiteral}|{HexLiteral}|{FloatLiteral}){NonSeparator}+) BooleanLiteral = ("true"|"false") Separator = ([\(\)\{\}\[\]]) Separator2 = ([\;,.]) NonAssignmentOperator = ("+"|"-"|"<="|"^"|"++"|"<"|"*"|">="|"%"|"--"|">"|"/"|"!="|"?"|">>"|"!"|"&"|"=="|":"|">>"|"~"|"|"|"&&"|">>>") AssignmentOperator = ("="|"-="|"*="|"/="|"|="|"&="|"^="|"+="|"%="|"<<="|">>="|">>>=") Operator = ({NonAssignmentOperator}|{AssignmentOperator}) Identifier = ({IdentifierStart}{IdentifierPart}*) ErrorIdentifier = ({NonSeparator}+) URLGenDelim = ([:\/\?#\[\]@]) URLSubDelim = ([\!\$&'\(\)\*\+,;=]) URLUnreserved = ({LetterOrUnderscore}|{Digit}|[\-\.\~]) URLCharacter = ({URLGenDelim}|{URLSubDelim}|{URLUnreserved}|[%]) URLCharacters = ({URLCharacter}*) URLEndCharacter = ([\/\$]|{Letter}|{Digit}) URL = (((https?|f(tp|ile))"://"|"www.")({URLCharacters}{URLEndCharacter})?) %state MLC %state EOL_COMMENT %% { /* Keywords */ "add" | "and" | "break" | "case" | "catch" | "class" | "const" | "continue" | "default" | "delete" | "do" | "dynamic" | "else" | "eq" | "extends" | "final" | "finally" | "for" | "for each" | "function" | "ge" | "get" | "gt" | "if" | "ifFrameLoaded" | "implements" | "import" | "in" | "include" | "interface" | "internal" | "label" | "le" | "lt" | "namespace" | "native" | "ne" | "new" | "not" | "on" | "onClipEvent" | "or" | "override" | "package" | "private" | "protected" | "public" | "return" | "set" | "static" | "super" | "switch" | "tellTarget" | "this" | "throw" | "try" | "typeof" | "use" | "var" | "void" | "while" | "with" | "null" | "undefined" { addToken(Token.RESERVED_WORD); } /* Built-in objects (good idea not to use these names!) */ "Array" | "Boolean" | "Color" | "Date" | "Function" | "int" | "Key" | "MovieClip" | "Math" | "Mouse" | "Null" | "Number" | "Object" | "Selection" | "Sound" | "String" | "uint" | "Vector" | "void" | "XML" | "XMLNode" | "XMLSocket" { addToken(Token.DATA_TYPE); } /* Global functions */ "call" | "escape" | "eval" | "fscommand" | "getProperty" | "getTimer" | "getURL" | "getVersion" | "gotoAndPlay" | "gotoAndStop" | "#include" | "int" | "isFinite" | "isNaN" | "loadMovie" | "loadMovieNum" | "loadVariables" | "loadVariablesNum" | "maxscroll" | "newline" | "nextFrame" | "nextScene" | "Number" | "parseFloat" | "parseInt" | "play" | "prevFrame" | "prevScene" | "print" | "printAsBitmap" | "printAsBitmapNum" | "printNum" | "random" | "removeMovieClip" | "scroll" | "setProperty" | "startDrag" | "stop" | "stopAllSounds" | "stopDrag" | "String" | "targetPath" | "tellTarget" | "toggleHighQuality" | "trace" | "unescape" | "unloadMovie" | "unloadMovieNum" | "updateAfterEvent" { addToken(Token.FUNCTION); } /* Booleans. */ {BooleanLiteral} { addToken(Token.LITERAL_BOOLEAN); } {LineTerminator} { addNullToken(); return firstToken; } {Identifier} { addToken(Token.IDENTIFIER); } {WhiteSpace}+ { addToken(Token.WHITESPACE); } /* String/Character literals. */ {CharLiteral} { addToken(Token.LITERAL_CHAR); } {UnclosedCharLiteral} { addToken(Token.ERROR_CHAR); addNullToken(); return firstToken; } {ErrorCharLiteral} { addToken(Token.ERROR_CHAR); } {StringLiteral} { addToken(Token.LITERAL_STRING_DOUBLE_QUOTE); } {UnclosedStringLiteral} { addToken(Token.ERROR_STRING_DOUBLE); addNullToken(); return firstToken; } {ErrorStringLiteral} { addToken(Token.ERROR_STRING_DOUBLE); } /* Comment literals. */ "/**/" { addToken(Token.COMMENT_MULTILINE); } {MLCBegin} { start = zzMarkedPos-2; yybegin(MLC); } {LineCommentBegin} { start = zzMarkedPos-2; yybegin(EOL_COMMENT); } /* Separators. */ {Separator} { addToken(Token.SEPARATOR); } {Separator2} { addToken(Token.IDENTIFIER); } /* Operators. */ {Operator} { addToken(Token.OPERATOR); } /* Numbers */ {IntegerLiteral} { addToken(Token.LITERAL_NUMBER_DECIMAL_INT); } {HexLiteral} { addToken(Token.LITERAL_NUMBER_HEXADECIMAL); } {FloatLiteral} { addToken(Token.LITERAL_NUMBER_FLOAT); } {ErrorNumberFormat} { addToken(Token.ERROR_NUMBER_FORMAT); } {ErrorIdentifier} { addToken(Token.ERROR_IDENTIFIER); } /* Ended with a line not in a string or comment. */ <> { addNullToken(); return firstToken; } /* Catch any other (unhandled) characters and flag them as bad. */ . { addToken(Token.ERROR_IDENTIFIER); } } { [^hwf\n\*]+ {} {URL} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_MULTILINE); start = zzMarkedPos; } [hwf] {} \n { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); return firstToken; } {MLCEnd} { yybegin(YYINITIAL); addToken(start,zzStartRead+1, Token.COMMENT_MULTILINE); } \* {} <> { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); return firstToken; } } { [^hwf\n]+ {} {URL} { int temp=zzStartRead; addToken(start,zzStartRead-1, Token.COMMENT_EOL); addHyperlinkToken(temp,zzMarkedPos-1, Token.COMMENT_EOL); start = zzMarkedPos; } [hwf] {} \n { addToken(start,zzStartRead-1, Token.COMMENT_EOL); addNullToken(); return firstToken; } <> { addToken(start,zzStartRead-1, Token.COMMENT_EOL); addNullToken(); return firstToken; } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/ActionScriptTokenMaker.java0000644000175000001440000024336512202002500031111 0ustar benusers/* The following code was generated by JFlex 1.4.1 on 5/12/10 4:49 PM */ /* * 04/27/2010 * * ActionScriptTokenMaker.java - Scanner for ActionScript. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.*; /** * Scanner for the ActionScript.

* * 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * 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.
  • *
  • You should NOT call yylex() on the generated scanner * directly; rather, you should use getTokenList as you would * with any other TokenMaker instance.
  • *
* * @author Robert Futrell * @version 0.5 * */ public class ActionScriptTokenMaker extends AbstractJFlexCTokenMaker { /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ public static final int EOL_COMMENT = 2; public static final int YYINITIAL = 0; public static final int MLC = 1; /** * Translates characters to character classes */ private static final String ZZ_CMAP_PACKED = "\11\0\1\21\1\10\1\0\1\21\1\17\22\0\1\72\1\50\1\15"+ "\1\20\1\1\1\50\1\52\1\7\2\55\1\23\1\43\1\42\1\31"+ "\1\32\1\22\1\4\3\16\4\6\2\3\1\53\1\42\1\44\1\45"+ "\1\47\1\51\1\54\1\100\1\5\1\76\1\26\1\30\1\74\1\1"+ "\1\114\1\113\1\1\1\101\1\25\1\102\1\103\1\104\1\110\1\115"+ "\1\112\1\106\1\77\1\111\1\107\1\1\1\24\2\1\1\55\1\11"+ "\1\55\1\46\1\2\1\0\1\36\1\14\1\64\1\62\1\35\1\27"+ "\1\73\1\56\1\60\1\105\1\63\1\37\1\67\1\13\1\65\1\57"+ "\1\70\1\34\1\40\1\33\1\12\1\75\1\61\1\71\1\66\1\1"+ "\1\41\1\46\1\41\1\51\uff81\0"; /** * Translates characters to character classes */ private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED); /** * Translates DFA states to action switch labels. */ private static final int [] ZZ_ACTION = zzUnpackAction(); private static final String ZZ_ACTION_PACKED_0 = "\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\4\1\20\1\0\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\1\4\1\26\2\4\1\20\1\4\6\2\1\21"+ "\4\2\1\6\1\27\1\6\1\1\1\0\1\30\5\2"+ "\1\21\23\2\1\21\11\2\1\30\20\2\1\21\4\2"+ "\1\30\12\2\10\0\1\1\1\2\1\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[531]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } private static int zzUnpackAction(String packed, int offset, int [] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } 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\116\0\234\0\352\0\u0138\0\u0186\0\u01d4\0\u0222"+ "\0\u0270\0\u02be\0\u030c\0\u035a\0\u03a8\0\u03f6\0\u02be\0\u0444"+ "\0\u0492\0\u04e0\0\u052e\0\u057c\0\u05ca\0\u0618\0\u0666\0\u06b4"+ "\0\u0702\0\u0750\0\u079e\0\u07ec\0\u083a\0\u0888\0\u02be\0\u02be"+ "\0\u08d6\0\u0924\0\u0972\0\u02be\0\u09c0\0\u0a0e\0\u0a5c\0\u0aaa"+ "\0\u0af8\0\u0b46\0\u0b94\0\u0be2\0\u0c30\0\u0c7e\0\u0ccc\0\u0d1a"+ "\0\u0d68\0\u0db6\0\u0e04\0\u0e52\0\u0ea0\0\u0eee\0\u0f3c\0\u0f8a"+ "\0\u02be\0\u0fd8\0\u1026\0\u1074\0\u10c2\0\u1110\0\u02be\0\u115e"+ "\0\u11ac\0\u11fa\0\u1248\0\u1296\0\u1296\0\u1296\0\u12e4\0\u1332"+ "\0\u1380\0\u13ce\0\u141c\0\u146a\0\u14b8\0\u02be\0\u1506\0\u1554"+ "\0\u15a2\0\u15f0\0\u163e\0\u168c\0\u16da\0\u1728\0\u1776\0\u17c4"+ "\0\u1812\0\u1860\0\u18ae\0\u02be\0\u18fc\0\u02be\0\u194a\0\u1998"+ "\0\u19e6\0\u1a34\0\u1a82\0\u1ad0\0\u1b1e\0\u1b6c\0\u1bba\0\u1c08"+ "\0\u1c56\0\u1ca4\0\u1cf2\0\u1d40\0\u1d8e\0\u1ddc\0\u1e2a\0\u1e78"+ "\0\u0138\0\u1ec6\0\u1f14\0\u1f62\0\u1fb0\0\u1ffe\0\u204c\0\u209a"+ "\0\u20e8\0\u2136\0\u2184\0\u052e\0\u21d2\0\u2220\0\u226e\0\u22bc"+ "\0\u230a\0\u2358\0\u23a6\0\u23f4\0\u2442\0\u2490\0\u24de\0\u252c"+ "\0\u257a\0\u25c8\0\u2616\0\u2664\0\u26b2\0\u2700\0\u274e\0\u279c"+ "\0\u27ea\0\u2838\0\u2886\0\u28d4\0\u2922\0\u2970\0\u29be\0\u2a0c"+ "\0\u2a5a\0\u2aa8\0\u2af6\0\u2b44\0\u2b92\0\u2be0\0\u2c2e\0\u02be"+ "\0\u2c7c\0\u2cca\0\u2d18\0\u2d66\0\u2db4\0\u2e02\0\u2e50\0\u2e9e"+ "\0\u2eec\0\u2f3a\0\u2f88\0\u1296\0\u2fd6\0\u3024\0\u3072\0\u02be"+ "\0\u30c0\0\u310e\0\u1506\0\u315c\0\u31aa\0\u31f8\0\u3246\0\u3294"+ "\0\u32e2\0\u3330\0\u337e\0\u33cc\0\u341a\0\u3468\0\u34b6\0\u3504"+ "\0\u02be\0\u3552\0\u35a0\0\u35ee\0\u363c\0\u368a\0\u36d8\0\u3726"+ "\0\u3774\0\u37c2\0\u3810\0\u385e\0\u38ac\0\u38fa\0\u3948\0\u3996"+ "\0\u39e4\0\u3a32\0\u3a80\0\u3ace\0\u3b1c\0\u3b6a\0\u3bb8\0\u3c06"+ "\0\u3c54\0\u3ca2\0\u3cf0\0\u3d3e\0\u3d8c\0\u3dda\0\u3e28\0\u3e76"+ "\0\u3ec4\0\u3f12\0\u3f60\0\u3fae\0\u3ffc\0\u404a\0\u4098\0\u40e6"+ "\0\u4134\0\u4182\0\u41d0\0\u421e\0\u426c\0\u42ba\0\u4308\0\u4356"+ "\0\u43a4\0\u43f2\0\u4440\0\u448e\0\u44dc\0\u452a\0\u4578\0\u45c6"+ "\0\u4614\0\u4662\0\u46b0\0\u46fe\0\u474c\0\u479a\0\u0138\0\u47e8"+ "\0\u4836\0\u4884\0\u48d2\0\u4920\0\u496e\0\u49bc\0\u4a0a\0\u4a58"+ "\0\u4aa6\0\u4af4\0\u4b42\0\u4b90\0\u4bde\0\u4c2c\0\u4c7a\0\u4cc8"+ "\0\u4d16\0\u4d64\0\u4db2\0\u4e00\0\u4e4e\0\u4e9c\0\u4eea\0\u4f38"+ "\0\u4f86\0\u4fd4\0\u5022\0\u5070\0\u50be\0\u510c\0\u02be\0\u515a"+ "\0\u51a8\0\u51f6\0\u5244\0\u5292\0\u52e0\0\u0138\0\u532e\0\u537c"+ "\0\u53ca\0\u5418\0\u5466\0\u54b4\0\u5502\0\u5550\0\u559e\0\u55ec"+ "\0\u563a\0\u0138\0\u5688\0\u56d6\0\u5724\0\u5772\0\u57c0\0\u580e"+ "\0\u585c\0\u58aa\0\u58f8\0\u5946\0\u5994\0\u59e2\0\u5a30\0\u5a7e"+ "\0\u5acc\0\u5b1a\0\u5b68\0\u5bb6\0\u5c04\0\u5c52\0\u5ca0\0\u5cee"+ "\0\u5d3c\0\u5d8a\0\u5dd8\0\u5e26\0\u5e74\0\u5ec2\0\u5f10\0\u5f5e"+ "\0\u5fac\0\u5ffa\0\u6048\0\u6096\0\u60e4\0\u6132\0\u6180\0\u61ce"+ "\0\u621c\0\u626a\0\u62b8\0\u6306\0\u6354\0\u63a2\0\u63f0\0\u643e"+ "\0\u648c\0\u64da\0\u6528\0\u6576\0\u65c4\0\u6612\0\u6660\0\u66ae"+ "\0\u66fc\0\u674a\0\u6798\0\u67e6\0\u6834\0\u6882\0\u68d0\0\u691e"+ "\0\u696c\0\u69ba\0\u6a08\0\u6a56\0\u6aa4\0\u6af2\0\u6b40\0\u6b8e"+ "\0\u6bdc\0\u6c2a\0\u6c78\0\u6cc6\0\u6d14\0\u6d62\0\u6db0\0\u6dfe"+ "\0\u6e4c\0\u6e9a\0\u6ee8\0\u6f36\0\u6f84\0\u6fd2\0\u7020\0\u706e"+ "\0\u70bc\0\u710a\0\u7158\0\u71a6\0\u71f4\0\u7242\0\u7290\0\u72de"+ "\0\u732c\0\u737a\0\u621c\0\u73c8\0\u6306\0\u7416\0\u7464\0\u74b2"+ "\0\u7500\0\u754e\0\u759c\0\u75ea\0\u7638\0\u7686\0\u76d4\0\u7722"+ "\0\u7770\0\u77be\0\u780c\0\u785a\0\u78a8\0\u78f6\0\u7944\0\u7992"+ "\0\u79e0\0\u7a2e\0\u7a7c\0\u7aca\0\u7b18\0\u7b66\0\u7bb4\0\u7c02"+ "\0\u7c50\0\u7c9e\0\u7cec\0\u7d3a\0\u7d88\0\u7dd6\0\u7e24\0\u7e72"+ "\0\u7ec0\0\u7f0e\0\u7f5c\0\u7faa\0\u7ff8\0\u8046\0\u8094\0\u80e2"+ "\0\u8130\0\u817e\0\u81cc\0\u821a\0\u8268\0\u82b6\0\u8304\0\u8352"+ "\0\u83a0\0\u83ee\0\u843c\0\u848a\0\u84d8\0\u8526\0\u8574\0\u85c2"+ "\0\u8610\0\u865e\0\u86ac\0\u86fa\0\u8748\0\u8796\0\u87e4\0\u8832"+ "\0\u8880\0\u88ce\0\352\0\u891c\0\u02be\0\u896a\0\u89b8\0\u8a06"+ "\0\u8a54\0\u8aa2\0\u8af0\0\u8b3e\0\u8b8c\0\u8bda\0\u8c28\0\u8c76"+ "\0\u8cc4\0\u8d12\0\u8d60\0\u8dae\0\u8dfc\0\u8e4a\0\u8e98\0\u8ee6"+ "\0\u8f34\0\u8f82\0\u8fd0\0\u901e\0\u906c\0\u90ba\0\u9108\0\u9156"+ "\0\u91a4\0\u91f2\0\u9240\0\u928e\0\u92dc\0\u932a\0\u9378\0\u93c6"+ "\0\u9414\0\u9462\0\u94b0\0\u94fe\0\u954c\0\u959a\0\u95e8\0\u9636"+ "\0\u9684\0\u96d2\0\u9720\0\u976e\0\u97bc\0\u980a\0\u9858\0\u98a6"+ "\0\u98f4\0\u9942\0\u9990"; private static int [] zzUnpackRowMap() { int [] result = new int[531]; int offset = 0; offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result); return result; } private static int zzUnpackRowMap(String packed, int offset, int [] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ int l = packed.length(); while (i < l) { int high = packed.charAt(i++) << 16; result[j++] = high | packed.charAt(i++); } 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\6\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"+ "\12\70\1\72\3\70\1\73\26\70\1\74\2\70\1\75"+ "\34\70\10\76\1\77\16\76\1\100\26\76\1\101\2\76"+ "\1\102\34\76\7\4\2\0\4\4\1\0\1\4\1\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\1\0"+ "\1\5\1\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\1\0\1\6\1\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\1\0\1\112\1\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\1\0\1\5\1\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\115\1\116\1\117\1\120\104\115"+ "\116\0\1\4\6\5\2\0\1\103\1\5\1\121\1\5"+ "\1\0\1\5\1\0\1\4\3\0\5\5\2\0\5\5"+ "\1\122\13\0\1\4\1\0\1\5\1\123\1\124\11\5"+ "\1\0\23\5\1\4\6\5\2\0\1\103\1\125\2\5"+ "\1\0\1\5\1\0\1\4\3\0\5\5\2\0\2\5"+ "\1\126\1\127\2\5\13\0\1\4\1\0\7\5\1\130"+ "\4\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5"+ "\1\0\1\5\1\0\1\4\3\0\5\5\2\0\1\5"+ "\1\131\4\5\13\0\1\4\1\0\14\5\1\0\23\5"+ "\10\16\1\132\1\133\3\16\1\134\100\16\7\4\2\0"+ "\4\4\1\0\1\4\1\0\1\4\3\0\5\4\2\0"+ "\6\4\13\0\1\4\1\0\2\4\1\135\11\4\1\0"+ "\23\4\21\0\1\21\50\0\1\21\45\0\1\136\1\137"+ "\21\0\1\44\115\0\1\44\50\0\1\4\6\5\2\0"+ "\1\103\3\5\1\0\1\5\1\0\1\4\3\0\5\5"+ "\2\0\6\5\13\0\1\4\1\0\14\5\1\0\7\5"+ "\1\140\13\5\1\4\6\5\2\0\1\103\3\5\1\0"+ "\1\5\1\0\1\4\3\0\5\5\2\0\3\5\1\141"+ "\2\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4"+ "\6\5\2\0\1\103\1\142\2\5\1\0\1\5\1\0"+ "\1\4\3\0\5\5\2\0\3\5\1\143\1\5\1\144"+ "\13\0\1\4\1\0\2\5\1\145\4\5\1\146\4\5"+ "\1\0\23\5\31\0\1\44\13\0\1\44\53\0\2\110"+ "\1\0\1\110\7\0\1\110\77\0\1\4\6\5\2\0"+ "\1\103\3\5\1\0\1\5\1\0\1\4\3\0\5\5"+ "\2\0\1\5\1\147\1\150\1\151\2\5\13\0\1\4"+ "\1\0\1\152\6\5\1\153\1\154\3\5\1\0\23\5"+ "\1\4\6\5\2\0\1\103\3\5\1\0\1\5\1\0"+ "\1\4\3\0\5\5\2\0\2\5\1\155\1\156\2\5"+ "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5"+ "\2\0\1\103\3\5\1\0\1\5\1\0\1\4\3\0"+ "\5\5\2\0\4\5\1\157\1\160\13\0\1\4\1\0"+ "\12\5\1\161\1\162\1\0\2\5\1\163\20\5\1\4"+ "\6\5\2\0\1\103\1\5\1\164\1\5\1\0\1\5"+ "\1\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4"+ "\1\0\4\5\1\164\7\5\1\0\23\5\1\4\6\5"+ "\2\0\1\103\3\5\1\0\1\5\1\0\1\4\3\0"+ "\5\5\2\0\1\161\1\5\1\161\1\165\2\5\13\0"+ "\1\4\1\0\7\5\1\166\4\5\1\0\23\5\1\4"+ "\6\5\2\0\1\103\1\167\2\5\1\0\1\5\1\0"+ "\1\4\3\0\5\5\2\0\1\170\1\5\1\171\3\5"+ "\13\0\1\4\1\0\3\5\1\172\2\5\1\173\5\5"+ "\1\0\23\5\43\0\1\44\1\0\1\44\114\0\1\174"+ "\1\44\115\0\1\44\1\0\1\175\113\0\1\44\4\0"+ "\1\44\43\0\1\4\6\5\2\0\1\103\1\176\2\5"+ "\1\0\1\5\1\0\1\4\3\0\5\5\2\0\1\5"+ "\1\177\1\5\1\200\1\201\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\202\1\5\1\0\1\5\1\0\1\4\3\0\3\5"+ "\1\203\1\5\2\0\5\5\1\204\13\0\1\4\1\0"+ "\11\5\1\205\2\5\1\0\23\5\1\4\6\5\2\0"+ "\1\103\3\5\1\0\1\5\1\0\1\4\3\0\5\5"+ "\2\0\6\5\13\0\1\4\1\0\1\206\1\5\1\207"+ "\11\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5"+ "\1\0\1\5\1\0\1\4\3\0\5\5\2\0\2\5"+ "\1\210\3\5\13\0\1\4\1\0\7\5\1\161\1\211"+ "\3\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5"+ "\1\0\1\5\1\0\1\4\3\0\5\5\2\0\3\5"+ "\1\212\1\213\1\5\13\0\1\4\1\0\7\5\1\214"+ "\4\5\1\0\23\5\1\4\6\5\2\0\1\103\1\5"+ "\1\215\1\5\1\0\1\5\1\0\1\4\3\0\5\5"+ "\2\0\1\5\1\161\4\5\13\0\1\4\1\0\14\5"+ "\1\0\2\5\1\216\20\5\1\4\6\5\2\0\1\103"+ "\3\5\1\0\1\5\1\0\1\4\3\0\5\5\2\0"+ "\3\5\1\217\2\5\13\0\1\4\1\0\14\5\1\0"+ "\23\5\1\4\6\5\2\0\1\103\3\5\1\0\1\5"+ "\1\0\1\4\3\0\5\5\2\0\1\161\1\5\1\220"+ "\3\5\13\0\1\4\1\0\7\5\1\221\4\5\1\0"+ "\23\5\1\4\6\5\2\0\1\103\1\222\2\5\1\0"+ "\1\5\1\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\1\0\1\5\1\0\1\4\3\0\5\5"+ "\2\0\3\5\1\223\2\5\13\0\1\4\1\0\7\5"+ "\1\224\4\5\1\0\23\5\1\4\6\5\2\0\1\103"+ "\3\5\1\0\1\5\1\0\1\4\3\0\5\5\2\0"+ "\6\5\13\0\1\4\1\0\7\5\1\225\4\5\1\0"+ "\23\5\1\4\6\5\2\0\1\103\3\5\1\0\1\5"+ "\1\0\1\4\3\0\5\5\2\0\1\5\1\226\4\5"+ "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5"+ "\2\0\1\103\3\5\1\0\1\5\1\0\1\4\3\0"+ "\5\5\2\0\2\5\1\227\3\5\13\0\1\4\1\0"+ "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5"+ "\1\0\1\5\1\0\1\4\3\0\5\5\2\0\3\5"+ "\1\230\2\5\13\0\1\4\1\0\7\5\1\231\4\5"+ "\1\0\23\5\1\4\6\5\2\0\1\103\1\232\2\5"+ "\1\0\1\5\1\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\233\1\0\1\5\1\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\1\0"+ "\1\5\1\0\1\4\3\0\5\5\2\0\1\234\1\5"+ "\1\235\3\5\13\0\1\4\1\0\7\5\1\236\4\5"+ "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\1\0"+ "\1\5\1\0\1\4\3\0\5\5\2\0\2\5\1\237"+ "\3\5\13\0\1\4\1\0\14\5\1\0\23\5\10\70"+ "\1\0\12\70\1\0\3\70\1\0\26\70\1\0\2\70"+ "\1\0\34\70\22\0\1\240\126\0\1\241\24\0\1\242"+ "\70\0\1\243\143\0\1\244\34\0\10\76\1\0\16\76"+ "\1\0\26\76\1\0\2\76\1\0\34\76\33\0\1\245"+ "\24\0\1\246\70\0\1\247\143\0\1\250\34\0\7\4"+ "\2\0\1\4\1\251\2\4\1\0\1\4\1\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\1\0\1\104\1\0"+ "\1\104\3\0\5\104\2\0\6\104\13\0\1\104\1\0"+ "\14\104\1\0\26\104\2\252\1\104\1\252\2\0\4\104"+ "\1\0\1\252\1\0\1\104\3\0\5\104\1\253\1\0"+ "\6\104\2\0\1\253\10\0\1\104\1\0\14\104\1\0"+ "\26\104\2\110\1\104\1\110\2\0\4\104\1\0\1\110"+ "\1\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\24\104\2\111\1\104\1\111\2\0"+ "\4\104\1\0\1\111\1\0\1\104\3\0\2\104\2\106"+ "\1\107\1\0\1\110\2\104\1\107\3\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\1\0\1\112"+ "\1\0\1\104\3\0\1\104\1\254\2\106\1\107\1\0"+ "\1\110\2\104\1\107\1\104\1\254\1\104\13\0\1\104"+ "\1\0\4\104\1\106\7\104\1\0\1\104\1\106\24\104"+ "\4\255\2\0\3\104\1\255\1\0\1\255\1\0\1\104"+ "\3\0\2\104\3\255\2\0\2\104\2\255\2\104\13\0"+ "\1\104\1\0\4\104\1\255\1\104\1\255\5\104\1\0"+ "\1\104\1\255\1\104\1\255\1\104\1\255\15\104\1\4"+ "\6\5\2\0\1\103\3\5\1\0\1\5\1\0\1\4"+ "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\7\5"+ "\1\256\4\5\1\0\23\5\7\257\1\260\1\0\105\257"+ "\7\0\1\260\106\0\4\257\1\261\1\257\1\262\1\263"+ "\1\0\1\115\1\264\3\115\1\261\10\257\1\115\3\257"+ "\2\115\61\257\1\4\6\5\2\0\1\103\3\5\1\0"+ "\1\5\1\0\1\4\3\0\5\5\2\0\2\5\1\265"+ "\1\5\1\266\1\5\13\0\1\4\1\0\4\5\1\267"+ "\7\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5"+ "\1\0\1\5\1\0\1\4\3\0\5\5\2\0\2\5"+ "\1\161\3\5\13\0\1\4\1\0\14\5\1\0\23\5"+ "\1\4\6\5\2\0\1\103\3\5\1\0\1\5\1\0"+ "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0"+ "\4\5\1\270\7\5\1\0\23\5\1\4\6\5\2\0"+ "\1\103\1\5\1\271\1\5\1\0\1\5\1\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\1\0"+ "\1\5\1\0\1\4\3\0\5\5\2\0\4\5\1\272"+ "\1\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4"+ "\6\5\2\0\1\103\3\5\1\0\1\5\1\0\1\4"+ "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\3\5"+ "\1\273\7\5\1\274\1\0\23\5\1\4\6\5\2\0"+ "\1\103\3\5\1\0\1\5\1\0\1\4\3\0\5\5"+ "\2\0\1\275\5\5\13\0\1\4\1\0\11\5\1\276"+ "\2\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5"+ "\1\0\1\5\1\0\1\4\3\0\5\5\2\0\1\161"+ "\5\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4"+ "\6\5\2\0\1\103\3\5\1\0\1\5\1\0\1\4"+ "\3\0\5\5\2\0\2\5\1\277\3\5\13\0\1\4"+ "\1\0\14\5\1\0\23\5\11\132\1\300\3\132\1\301"+ "\104\132\1\16\1\132\2\16\1\0\1\16\1\302\4\16"+ "\10\132\1\16\3\132\2\16\61\132\7\4\2\0\2\4"+ "\1\303\1\4\1\0\1\4\1\0\1\4\3\0\5\4"+ "\2\0\6\4\13\0\1\4\1\0\14\4\1\0\23\4"+ "\23\0\1\304\72\0\1\4\6\5\2\0\1\103\3\5"+ "\1\0\1\5\1\0\1\4\3\0\1\5\1\305\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\1\0\1\5\1\0"+ "\1\4\3\0\5\5\2\0\1\306\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\307\1\5\1\0\1\5\1\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\1\0\1\5"+ "\1\0\1\4\3\0\5\5\2\0\4\5\1\310\1\5"+ "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5"+ "\2\0\1\103\3\5\1\0\1\5\1\0\1\4\3\0"+ "\5\5\2\0\6\5\13\0\1\4\1\0\6\5\1\311"+ "\5\5\1\0\23\5\1\4\6\5\2\0\1\103\1\5"+ "\1\312\1\5\1\0\1\5\1\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\1\0\1\5\1\0"+ "\1\4\3\0\5\5\2\0\1\5\1\313\4\5\13\0"+ "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0"+ "\1\103\1\314\2\5\1\0\1\5\1\0\1\4\3\0"+ "\5\5\2\0\3\5\1\315\2\5\13\0\1\4\1\0"+ "\10\5\1\161\3\5\1\0\23\5\1\4\6\5\2\0"+ "\1\103\3\5\1\0\1\5\1\0\1\4\3\0\5\5"+ "\2\0\4\5\1\316\1\5\13\0\1\4\1\0\14\5"+ "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\1\0"+ "\1\5\1\0\1\4\3\0\5\5\2\0\1\5\1\317"+ "\4\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4"+ "\6\5\2\0\1\103\3\5\1\0\1\5\1\0\1\4"+ "\3\0\5\5\2\0\1\5\1\320\4\5\13\0\1\4"+ "\1\0\2\5\1\321\11\5\1\0\23\5\1\4\6\5"+ "\2\0\1\103\3\5\1\0\1\5\1\0\1\4\3\0"+ "\5\5\2\0\6\5\13\0\1\4\1\0\14\5\1\0"+ "\1\322\22\5\1\4\6\5\2\0\1\103\3\5\1\0"+ "\1\5\1\0\1\4\3\0\5\5\2\0\6\5\13\0"+ "\1\4\1\0\1\5\1\323\12\5\1\0\23\5\1\4"+ "\6\5\2\0\1\103\3\5\1\0\1\5\1\0\1\4"+ "\3\0\5\5\2\0\1\324\5\5\13\0\1\4\1\0"+ "\11\5\1\325\2\5\1\0\23\5\1\4\6\5\2\0"+ "\1\103\1\5\1\326\1\5\1\0\1\5\1\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\1\0"+ "\1\5\1\0\1\4\3\0\5\5\2\0\5\5\1\122"+ "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5"+ "\2\0\1\103\3\5\1\0\1\5\1\0\1\4\3\0"+ "\5\5\2\0\6\5\13\0\1\4\1\0\6\5\1\327"+ "\5\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5"+ "\1\0\1\5\1\0\1\4\3\0\5\5\2\0\1\330"+ "\5\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4"+ "\6\5\2\0\1\103\3\5\1\0\1\5\1\0\1\4"+ "\3\0\5\5\2\0\3\5\1\331\2\5\13\0\1\4"+ "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103"+ "\3\5\1\0\1\5\1\0\1\4\3\0\5\5\2\0"+ "\6\5\13\0\1\4\1\0\4\5\1\161\7\5\1\0"+ "\23\5\1\4\6\5\2\0\1\103\2\5\1\332\1\0"+ "\1\5\1\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\1\0\1\5\1\0\1\4\3\0\5\5"+ "\2\0\3\5\1\333\2\5\13\0\1\4\1\0\14\5"+ "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\1\0"+ "\1\5\1\0\1\4\3\0\5\5\2\0\6\5\13\0"+ "\1\4\1\0\1\5\1\334\12\5\1\0\23\5\1\4"+ "\6\5\2\0\1\103\3\5\1\0\1\5\1\0\1\4"+ "\3\0\5\5\2\0\3\5\1\335\2\5\13\0\1\4"+ "\1\0\7\5\1\336\4\5\1\0\23\5\1\4\6\5"+ "\2\0\1\103\3\5\1\0\1\5\1\0\1\4\3\0"+ "\5\5\2\0\1\337\5\5\13\0\1\4\1\0\14\5"+ "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\1\0"+ "\1\5\1\0\1\4\3\0\5\5\2\0\6\5\13\0"+ "\1\4\1\0\2\5\1\340\11\5\1\0\23\5\1\4"+ "\6\5\2\0\1\103\3\5\1\0\1\5\1\0\1\4"+ "\3\0\5\5\2\0\1\5\1\341\4\5\13\0\1\4"+ "\1\0\14\5\1\0\23\5\45\0\1\44\1\0\1\23"+ "\46\0\1\4\6\5\2\0\1\103\2\5\1\342\1\0"+ "\1\5\1\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\1\0\1\5\1\0\1\4\3\0\5\5"+ "\2\0\2\5\1\343\3\5\13\0\1\4\1\0\2\5"+ "\1\344\4\5\1\345\4\5\1\0\23\5\1\4\6\5"+ "\2\0\1\103\3\5\1\0\1\5\1\0\1\4\3\0"+ "\5\5\2\0\1\5\1\346\4\5\13\0\1\4\1\0"+ "\6\5\1\347\5\5\1\0\23\5\1\4\6\5\2\0"+ "\1\103\3\5\1\0\1\5\1\0\1\4\3\0\5\5"+ "\2\0\3\5\1\350\2\5\13\0\1\4\1\0\14\5"+ "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\1\0"+ "\1\5\1\0\1\4\3\0\5\5\2\0\1\351\5\5"+ "\13\0\1\4\1\0\6\5\1\352\5\5\1\0\23\5"+ "\1\4\6\5\2\0\1\103\3\5\1\0\1\5\1\0"+ "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0"+ "\14\5\1\0\1\5\1\353\21\5\1\4\6\5\2\0"+ "\1\103\3\5\1\0\1\5\1\0\1\4\3\0\5\5"+ "\2\0\6\5\13\0\1\4\1\0\14\5\1\0\1\5"+ "\1\354\6\5\1\355\12\5\1\4\6\5\2\0\1\103"+ "\3\5\1\0\1\5\1\0\1\4\3\0\5\5\2\0"+ "\6\5\13\0\1\4\1\0\1\5\1\356\12\5\1\0"+ "\23\5\1\4\6\5\2\0\1\103\3\5\1\0\1\5"+ "\1\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4"+ "\1\0\2\5\1\357\11\5\1\0\23\5\1\4\6\5"+ "\2\0\1\103\3\5\1\0\1\5\1\0\1\4\3\0"+ "\5\5\2\0\1\360\5\5\13\0\1\4\1\0\14\5"+ "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\1\0"+ "\1\5\1\0\1\4\3\0\3\5\1\361\1\5\2\0"+ "\4\5\1\362\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\363\1\5"+ "\1\0\1\5\1\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\1\0\1\5\1\0\1\4\3\0"+ "\5\5\2\0\1\364\3\5\1\331\1\122\13\0\1\4"+ "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103"+ "\3\5\1\0\1\5\1\0\1\4\3\0\5\5\2\0"+ "\3\5\1\365\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\366\1\5"+ "\1\0\1\5\1\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\1\0\1\5\1\0\1\4\3\0"+ "\5\5\2\0\6\5\13\0\1\4\1\0\14\5\1\0"+ "\3\5\1\367\17\5\1\4\6\5\2\0\1\103\3\5"+ "\1\0\1\5\1\0\1\4\3\0\5\5\2\0\2\5"+ "\1\370\3\5\13\0\1\4\1\0\14\5\1\0\23\5"+ "\1\4\6\5\2\0\1\103\3\5\1\0\1\5\1\0"+ "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0"+ "\13\5\1\371\1\0\23\5\1\4\6\5\2\0\1\103"+ "\3\5\1\0\1\5\1\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\1\0\1\5\1\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\5\1\374\1\5\1\0\1\5\1\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\1\0\1\5"+ "\1\0\1\4\3\0\5\5\2\0\1\5\1\161\4\5"+ "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5"+ "\2\0\1\103\3\5\1\0\1\5\1\0\1\4\3\0"+ "\5\5\2\0\6\5\13\0\1\4\1\0\2\5\1\164"+ "\11\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5"+ "\1\0\1\5\1\0\1\4\3\0\5\5\2\0\4\5"+ "\1\375\1\5\13\0\1\4\1\0\14\5\1\0\23\5"+ "\1\4\6\5\2\0\1\103\3\5\1\0\1\5\1\0"+ "\1\4\3\0\5\5\2\0\1\5\1\376\4\5\13\0"+ "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0"+ "\1\103\3\5\1\0\1\5\1\0\1\4\3\0\5\5"+ "\2\0\6\5\13\0\1\4\1\0\10\5\1\377\3\5"+ "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\1\0"+ "\1\5\1\0\1\4\3\0\5\5\2\0\1\u0100\5\5"+ "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5"+ "\2\0\1\103\1\u0101\2\5\1\0\1\5\1\0\1\4"+ "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\14\5"+ "\1\0\2\5\1\u0102\20\5\1\4\6\5\2\0\1\103"+ "\3\5\1\0\1\5\1\0\1\4\3\0\5\5\2\0"+ "\4\5\1\u0103\1\5\13\0\1\4\1\0\11\5\1\u0104"+ "\2\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5"+ "\1\0\1\5\1\0\1\4\3\0\5\5\2\0\6\5"+ "\13\0\1\4\1\0\14\5\1\0\12\5\1\u0105\10\5"+ "\1\4\6\5\2\0\1\103\3\5\1\0\1\5\1\0"+ "\1\4\3\0\5\5\2\0\1\5\1\u0106\4\5\13\0"+ "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0"+ "\1\103\3\5\1\0\1\5\1\0\1\4\3\0\5\5"+ "\2\0\4\5\1\u0107\1\5\13\0\1\4\1\0\14\5"+ "\1\0\23\5\1\4\6\5\2\0\1\103\1\u0108\2\5"+ "\1\0\1\5\1\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\1\0\1\5\1\0\1\4\3\0"+ "\5\5\2\0\6\5\13\0\1\4\1\0\6\5\1\u0109"+ "\5\5\1\0\23\5\57\0\1\u010a\75\0\1\u010b\111\0"+ "\1\u010c\143\0\1\u010d\113\0\1\u010e\75\0\1\u010f\111\0"+ "\1\u0110\143\0\1\u0111\34\0\3\4\4\u0112\2\0\3\4"+ "\1\u0112\1\0\1\u0112\1\0\1\4\3\0\2\4\3\u0112"+ "\2\0\2\4\2\u0112\2\4\13\0\1\4\1\0\4\4"+ "\1\u0112\1\4\1\u0112\5\4\1\0\1\4\1\u0112\1\4"+ "\1\u0112\1\4\1\u0112\15\4\3\104\2\252\1\104\1\252"+ "\2\0\4\104\1\0\1\252\1\0\1\104\3\0\2\104"+ "\2\106\1\104\2\0\6\104\13\0\1\104\1\0\4\104"+ "\1\106\7\104\1\0\1\104\1\106\21\104\3\0\2\252"+ "\1\0\1\252\7\0\1\252\77\0\3\104\4\255\2\0"+ "\3\104\1\255\1\0\1\255\1\0\1\104\3\0\1\104"+ "\1\254\3\255\2\0\2\104\2\255\1\254\1\104\13\0"+ "\1\104\1\0\4\104\1\255\1\104\1\255\5\104\1\0"+ "\1\104\1\255\1\104\1\255\1\104\1\255\15\104\1\4"+ "\6\5\2\0\1\103\3\5\1\0\1\5\1\0\1\4"+ "\3\0\5\5\2\0\4\5\1\u0113\1\5\13\0\1\4"+ "\1\0\14\5\1\0\23\5\7\257\1\116\1\0\111\257"+ "\1\262\1\257\1\262\1\260\1\0\5\257\1\262\103\257"+ "\1\115\1\257\1\115\1\260\1\0\5\257\1\115\102\257"+ "\4\u0114\1\116\1\0\3\257\1\u0114\1\257\1\u0114\7\257"+ "\3\u0114\4\257\2\u0114\23\257\1\u0114\1\257\1\u0114\7\257"+ "\1\u0114\1\257\1\u0114\1\257\1\u0114\15\257\1\4\6\5"+ "\2\0\1\103\3\5\1\0\1\5\1\0\1\4\3\0"+ "\5\5\2\0\5\5\1\160\13\0\1\4\1\0\14\5"+ "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\1\0"+ "\1\5\1\0\1\4\3\0\5\5\2\0\6\5\13\0"+ "\1\4\1\0\7\5\1\u0115\4\5\1\0\23\5\1\4"+ "\6\5\2\0\1\103\3\5\1\0\1\5\1\0\1\4"+ "\3\0\5\5\2\0\2\5\1\u0116\3\5\13\0\1\4"+ "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103"+ "\3\5\1\0\1\5\1\0\1\4\3\0\5\5\2\0"+ "\3\5\1\u0117\2\5\13\0\1\4\1\0\14\5\1\0"+ "\23\5\1\4\6\5\2\0\1\103\3\5\1\0\1\5"+ "\1\0\1\4\3\0\5\5\2\0\1\377\5\5\13\0"+ "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0"+ "\1\103\3\5\1\0\1\5\1\0\1\4\3\0\5\5"+ "\2\0\4\5\1\161\1\5\13\0\1\4\1\0\14\5"+ "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\1\0"+ "\1\5\1\0\1\4\3\0\5\5\2\0\4\5\1\u0118"+ "\1\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4"+ "\6\5\2\0\1\103\3\5\1\0\1\5\1\0\1\4"+ "\3\0\5\5\2\0\1\u0119\5\5\13\0\1\4\1\0"+ "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5"+ "\1\0\1\5\1\0\1\4\3\0\5\5\2\0\6\5"+ "\13\0\1\4\1\0\2\5\1\u011a\11\5\1\0\23\5"+ "\1\4\6\5\2\0\1\103\3\5\1\0\1\5\1\0"+ "\1\4\3\0\5\5\2\0\2\5\1\u011b\3\5\13\0"+ "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0"+ "\1\103\3\5\1\0\1\5\1\0\1\4\3\0\5\5"+ "\2\0\3\5\1\u011c\2\5\13\0\1\4\1\0\14\5"+ "\1\0\23\5\10\132\1\0\110\132\4\u011d\2\132\1\300"+ "\2\132\1\u011d\1\301\1\u011d\7\132\3\u011d\4\132\2\u011d"+ "\23\132\1\u011d\1\132\1\u011d\7\132\1\u011d\1\132\1\u011d"+ "\1\132\1\u011d\15\132\7\4\2\0\4\4\1\0\1\4"+ "\1\0\1\4\3\0\5\4\2\0\6\4\13\0\1\4"+ "\1\0\6\4\1\u011e\5\4\1\0\23\4\22\0\1\u011f"+ "\73\0\1\4\6\5\2\0\1\103\3\5\1\0\1\5"+ "\1\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4"+ "\1\0\14\5\1\0\10\5\1\u0120\2\5\1\u0121\7\5"+ "\1\4\6\5\2\0\1\103\3\5\1\0\1\5\1\0"+ "\1\4\3\0\5\5\2\0\2\5\1\377\3\5\13\0"+ "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0"+ "\1\103\3\5\1\0\1\5\1\0\1\4\3\0\5\5"+ "\2\0\6\5\13\0\1\4\1\0\6\5\1\u0122\5\5"+ "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\1\0"+ "\1\5\1\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\1\0\1\5\1\0\1\4\3\0"+ "\5\5\2\0\6\5\13\0\1\4\1\0\7\5\1\u0123"+ "\4\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5"+ "\1\0\1\5\1\0\1\4\3\0\5\5\2\0\3\5"+ "\1\u0124\2\5\13\0\1\4\1\0\14\5\1\0\23\5"+ "\1\4\6\5\2\0\1\103\3\5\1\0\1\5\1\0"+ "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0"+ "\14\5\1\u0125\23\5\1\4\6\5\2\0\1\103\3\5"+ "\1\0\1\5\1\0\1\4\3\0\5\5\2\0\2\5"+ "\1\u0126\3\5\13\0\1\4\1\0\14\5\1\0\23\5"+ "\1\4\6\5\2\0\1\103\3\5\1\0\1\5\1\0"+ "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0"+ "\6\5\1\u0127\5\5\1\0\23\5\1\4\6\5\2\0"+ "\1\103\3\5\1\0\1\5\1\0\1\4\3\0\5\5"+ "\2\0\4\5\1\u0128\1\5\13\0\1\4\1\0\14\5"+ "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\1\0"+ "\1\5\1\0\1\4\3\0\5\5\2\0\6\5\13\0"+ "\1\4\1\0\14\5\1\0\1\u0129\22\5\1\4\6\5"+ "\2\0\1\103\3\5\1\0\1\5\1\0\1\4\3\0"+ "\5\5\2\0\6\5\13\0\1\4\1\0\7\5\1\u012a"+ "\4\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5"+ "\1\0\1\5\1\0\1\4\3\0\5\5\2\0\5\5"+ "\1\161\13\0\1\4\1\0\14\5\1\0\23\5\1\4"+ "\6\5\2\0\1\103\3\5\1\0\1\5\1\0\1\4"+ "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\14\5"+ "\1\0\1\u012b\22\5\1\4\6\5\2\0\1\103\3\5"+ "\1\0\1\5\1\0\1\4\3\0\5\5\2\0\2\5"+ "\1\u012c\3\5\13\0\1\4\1\0\14\5\1\0\23\5"+ "\1\4\6\5\2\0\1\103\1\u012d\2\5\1\0\1\5"+ "\1\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\1\0\1\5\1\0\1\4\3\0\5\5\2\0"+ "\6\5\13\0\1\4\1\0\7\5\1\u012e\4\5\1\0"+ "\23\5\1\4\6\5\2\0\1\103\3\5\1\0\1\5"+ "\1\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\1\0\1\5\1\0\1\4\3\0"+ "\5\5\2\0\3\5\1\u0130\2\5\13\0\1\4\1\0"+ "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5"+ "\1\0\1\5\1\0\1\4\3\0\5\5\2\0\2\5"+ "\1\u0131\3\5\13\0\1\4\1\0\14\5\1\0\23\5"+ "\1\4\6\5\2\0\1\103\3\5\1\0\1\5\1\0"+ "\1\4\3\0\5\5\2\0\4\5\1\u0132\1\5\13\0"+ "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0"+ "\1\103\3\5\1\0\1\5\1\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\1\4\6\5\2\0\1\103\3\5\1\0"+ "\1\5\1\0\1\4\3\0\5\5\2\0\6\5\13\0"+ "\1\4\1\0\4\5\1\u0133\7\5\1\0\23\5\1\4"+ "\6\5\2\0\1\103\3\5\1\0\1\5\1\0\1\4"+ "\3\0\5\5\2\0\2\5\1\223\3\5\13\0\1\4"+ "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103"+ "\3\5\1\0\1\5\1\0\1\4\3\0\5\5\2\0"+ "\1\u0134\1\u0135\4\5\13\0\1\4\1\0\14\5\1\0"+ "\23\5\1\4\6\5\2\0\1\103\3\5\1\0\1\5"+ "\1\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4"+ "\1\0\1\5\1\u0136\12\5\1\0\23\5\1\4\6\5"+ "\2\0\1\103\3\5\1\0\1\5\1\0\1\4\3\0"+ "\5\5\2\0\6\5\13\0\1\4\1\0\14\5\1\0"+ "\15\5\1\u0137\5\5\1\4\6\5\2\0\1\103\3\5"+ "\1\0\1\5\1\0\1\4\3\0\5\5\2\0\1\364"+ "\5\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4"+ "\6\5\2\0\1\103\3\5\1\0\1\5\1\0\1\4"+ "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\7\5"+ "\1\u0138\4\5\1\0\23\5\1\4\6\5\2\0\1\103"+ "\3\5\1\0\1\5\1\0\1\4\3\0\5\5\2\0"+ "\4\5\1\u0134\1\5\13\0\1\4\1\0\14\5\1\0"+ "\23\5\1\4\6\5\2\0\1\103\3\5\1\0\1\5"+ "\1\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4"+ "\1\0\14\5\1\0\2\5\1\u0119\20\5\1\4\6\5"+ "\2\0\1\103\1\5\1\u0139\1\5\1\0\1\5\1\0"+ "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0"+ "\14\5\1\0\2\5\1\u013a\20\5\1\4\6\5\2\0"+ "\1\103\3\5\1\0\1\5\1\0\1\4\3\0\5\5"+ "\2\0\1\u013b\5\5\13\0\1\4\1\0\14\5\1\0"+ "\23\5\1\4\6\5\2\0\1\103\3\5\1\0\1\5"+ "\1\0\1\4\3\0\5\5\2\0\5\5\1\u013c\13\0"+ "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0"+ "\1\103\3\5\1\0\1\5\1\0\1\4\3\0\5\5"+ "\2\0\6\5\13\0\1\4\1\0\5\5\1\u013d\6\5"+ "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\1\0"+ "\1\5\1\0\1\4\3\0\5\5\2\0\6\5\13\0"+ "\1\4\1\0\10\5\1\u0132\3\5\1\0\23\5\1\4"+ "\6\5\2\0\1\103\3\5\1\0\1\5\1\0\1\4"+ "\3\0\5\5\2\0\2\5\1\u013e\3\5\13\0\1\4"+ "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103"+ "\3\5\1\0\1\5\1\0\1\4\3\0\5\5\2\0"+ "\4\5\1\u013f\1\5\13\0\1\4\1\0\14\5\1\0"+ "\23\5\1\4\6\5\2\0\1\103\3\5\1\0\1\5"+ "\1\0\1\4\3\0\5\5\2\0\1\5\1\u0140\4\5"+ "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5"+ "\2\0\1\103\3\5\1\0\1\5\1\0\1\4\3\0"+ "\5\5\2\0\6\5\13\0\1\4\1\0\2\5\1\u0141"+ "\11\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5"+ "\1\0\1\5\1\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\1\0\1\5\1\0"+ "\1\4\3\0\5\5\2\0\4\5\1\u0143\1\5\13\0"+ "\1\4\1\0\7\5\1\u0144\4\5\1\0\23\5\1\4"+ "\6\5\2\0\1\103\3\5\1\0\1\5\1\0\1\4"+ "\3\0\5\5\2\0\4\5\1\122\1\5\13\0\1\4"+ "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103"+ "\3\5\1\0\1\5\1\0\1\4\3\0\5\5\2\0"+ "\6\5\13\0\1\4\1\0\1\161\13\5\1\0\23\5"+ "\1\4\6\5\2\0\1\103\3\5\1\0\1\5\1\0"+ "\1\4\3\0\5\5\2\0\3\5\1\u0145\2\5\13\0"+ "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0"+ "\1\103\3\5\1\0\1\5\1\0\1\4\3\0\5\5"+ "\2\0\2\5\1\u0146\3\5\13\0\1\4\1\0\14\5"+ "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\1\0"+ "\1\5\1\0\1\4\3\0\5\5\2\0\3\5\1\u0147"+ "\2\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4"+ "\6\5\2\0\1\103\3\5\1\0\1\5\1\0\1\4"+ "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\6\5"+ "\1\360\5\5\1\0\23\5\1\4\6\5\2\0\1\103"+ "\3\5\1\0\1\5\1\0\1\4\3\0\5\5\2\0"+ "\5\5\1\321\13\0\1\4\1\0\14\5\1\0\23\5"+ "\1\4\6\5\2\0\1\103\3\5\1\0\1\5\1\0"+ "\1\4\3\0\5\5\2\0\1\u0148\4\5\1\130\13\0"+ "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0"+ "\1\103\3\5\1\0\1\5\1\0\1\4\3\0\5\5"+ "\2\0\4\5\1\u0149\1\5\13\0\1\4\1\0\14\5"+ "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\1\0"+ "\1\5\1\0\1\4\3\0\5\5\2\0\1\5\1\u014a"+ "\4\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4"+ "\6\5\2\0\1\103\3\5\1\0\1\5\1\0\1\4"+ "\3\0\5\5\2\0\5\5\1\u014b\13\0\1\4\1\0"+ "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5"+ "\1\0\1\5\1\0\1\4\3\0\5\5\2\0\6\5"+ "\13\0\1\4\1\0\14\5\1\0\4\5\1\u014c\7\5"+ "\1\u014d\1\u0137\1\u014e\4\5\1\4\6\5\2\0\1\103"+ "\3\5\1\0\1\5\1\0\1\4\3\0\5\5\2\0"+ "\6\5\13\0\1\4\1\0\7\5\1\u014f\4\5\1\0"+ "\23\5\1\4\6\5\2\0\1\103\3\5\1\0\1\5"+ "\1\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4"+ "\1\0\6\5\1\u0150\5\5\1\0\23\5\1\4\6\5"+ "\2\0\1\103\3\5\1\0\1\5\1\0\1\4\3\0"+ "\5\5\2\0\6\5\13\0\1\4\1\0\7\5\1\u0151"+ "\4\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5"+ "\1\0\1\5\1\0\1\4\3\0\5\5\2\0\3\5"+ "\1\227\2\5\13\0\1\4\1\0\14\5\1\0\23\5"+ "\1\4\6\5\2\0\1\103\3\5\1\0\1\5\1\0"+ "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0"+ "\1\377\13\5\1\0\23\5\1\4\6\5\2\0\1\103"+ "\3\5\1\0\1\5\1\0\1\4\3\0\5\5\2\0"+ "\5\5\1\306\13\0\1\4\1\0\14\5\1\0\23\5"+ "\1\4\6\5\2\0\1\103\3\5\1\0\1\5\1\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\1\0\1\5\1\0\1\4\3\0\5\5"+ "\2\0\4\5\1\377\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\u0153"+ "\1\0\1\5\1\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\1\0\1\5\1\0\1\4\3\0"+ "\5\5\2\0\2\5\1\u0154\3\5\13\0\1\4\1\0"+ "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5"+ "\1\0\1\5\1\0\1\4\3\0\5\5\2\0\6\5"+ "\13\0\1\4\1\0\2\5\1\u0155\11\5\1\0\23\5"+ "\1\4\6\5\2\0\1\103\3\5\1\0\1\5\1\0"+ "\1\4\3\0\5\5\2\0\2\5\1\374\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\u0156\1\5\1\0\1\5\1\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\1\0"+ "\1\5\1\0\1\4\3\0\5\5\2\0\1\375\5\5"+ "\13\0\1\4\1\0\14\5\1\0\23\5\53\0\1\u0157"+ "\77\0\1\u010a\137\0\1\u0158\70\0\1\u0159\136\0\1\u015a"+ "\77\0\1\u010e\137\0\1\u015b\70\0\1\u015c\63\0\3\4"+ "\4\u015d\2\0\3\4\1\u015d\1\0\1\u015d\1\0\1\4"+ "\3\0\2\4\3\u015d\2\0\2\4\2\u015d\2\4\13\0"+ "\1\4\1\0\4\4\1\u015d\1\4\1\u015d\5\4\1\0"+ "\1\4\1\u015d\1\4\1\u015d\1\4\1\u015d\16\4\6\5"+ "\2\0\1\103\3\5\1\0\1\5\1\0\1\4\3\0"+ "\5\5\2\0\2\5\1\u015e\3\5\13\0\1\4\1\0"+ "\14\5\1\0\23\5\3\257\4\u015f\1\116\1\0\3\257"+ "\1\u015f\1\257\1\u015f\7\257\3\u015f\4\257\2\u015f\23\257"+ "\1\u015f\1\257\1\u015f\7\257\1\u015f\1\257\1\u015f\1\257"+ "\1\u015f\15\257\1\4\6\5\2\0\1\103\3\5\1\0"+ "\1\5\1\0\1\4\3\0\5\5\2\0\3\5\1\u0160"+ "\2\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4"+ "\6\5\2\0\1\103\3\5\1\0\1\5\1\0\1\4"+ "\3\0\3\5\1\u0161\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\1\0\1\5\1\0\1\4\3\0\5\5\2\0"+ "\1\u0162\5\5\13\0\1\4\1\0\14\5\1\0\23\5"+ "\1\4\6\5\2\0\1\103\3\5\1\0\1\5\1\0"+ "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0"+ "\2\5\1\u0163\11\5\1\0\23\5\1\4\6\5\2\0"+ "\1\103\3\5\1\0\1\5\1\0\1\4\3\0\5\5"+ "\2\0\6\5\13\0\1\4\1\0\14\5\1\0\1\5"+ "\1\u0164\11\5\1\u0165\7\5\1\4\6\5\2\0\1\103"+ "\3\5\1\0\1\5\1\0\1\4\3\0\5\5\2\0"+ "\6\5\13\0\1\4\1\0\14\5\1\0\2\5\1\122"+ "\20\5\1\4\6\5\2\0\1\103\3\5\1\0\1\5"+ "\1\0\1\4\3\0\5\5\2\0\5\5\1\u0166\13\0"+ "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0"+ "\1\103\3\5\1\0\1\5\1\0\1\4\3\0\5\5"+ "\2\0\6\5\13\0\1\4\1\0\5\5\1\161\6\5"+ "\1\0\23\5\3\132\4\u0167\2\132\1\300\2\132\1\u0167"+ "\1\301\1\u0167\7\132\3\u0167\4\132\2\u0167\23\132\1\u0167"+ "\1\132\1\u0167\7\132\1\u0167\1\132\1\u0167\1\132\1\u0167"+ "\15\132\7\4\2\0\4\4\1\0\1\4\1\0\1\4"+ "\3\0\5\4\2\0\4\4\1\u0168\1\4\13\0\1\4"+ "\1\0\14\4\1\0\24\4\6\5\2\0\1\103\3\5"+ "\1\0\1\5\1\0\1\4\3\0\5\5\2\0\6\5"+ "\13\0\1\4\1\0\7\5\1\u0169\4\5\1\0\23\5"+ "\1\4\6\5\2\0\1\103\3\5\1\0\1\5\1\0"+ "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0"+ "\7\5\1\u016a\4\5\1\0\23\5\1\4\6\5\2\0"+ "\1\103\3\5\1\0\1\5\1\0\1\4\3\0\5\5"+ "\2\0\1\u016b\5\5\13\0\1\4\1\0\14\5\1\0"+ "\23\5\1\4\6\5\2\0\1\103\3\5\1\0\1\5"+ "\1\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4"+ "\1\0\11\5\1\u016c\2\5\1\0\23\5\1\4\6\5"+ "\2\0\1\103\3\5\1\0\1\5\1\0\1\4\3\0"+ "\5\5\2\0\4\5\1\u016d\1\5\13\0\1\4\1\0"+ "\14\5\1\0\23\5\35\0\1\u016e\60\0\1\4\6\5"+ "\2\0\1\103\3\5\1\0\1\5\1\0\1\4\3\0"+ "\5\5\2\0\2\5\1\u0132\3\5\13\0\1\4\1\0"+ "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5"+ "\1\0\1\5\1\0\1\4\3\0\5\5\2\0\6\5"+ "\13\0\1\4\1\0\14\5\1\0\4\5\1\u016f\16\5"+ "\1\4\6\5\2\0\1\103\3\5\1\0\1\5\1\0"+ "\1\4\3\0\5\5\2\0\2\5\1\u0170\3\5\13\0"+ "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0"+ "\1\103\3\5\1\0\1\5\1\0\1\4\3\0\5\5"+ "\2\0\6\5\13\0\1\4\1\0\3\5\1\161\10\5"+ "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\1\0"+ "\1\5\1\0\1\4\3\0\5\5\2\0\4\5\1\u0171"+ "\1\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4"+ "\6\5\2\0\1\103\3\5\1\0\1\5\1\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\1\0\1\5\1\0\1\4\3\0\5\5\2\0"+ "\1\5\1\u0173\4\5\13\0\1\4\1\0\14\5\1\0"+ "\23\5\1\4\6\5\2\0\1\103\3\5\1\0\1\5"+ "\1\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4"+ "\1\0\14\5\1\0\2\5\1\u0174\20\5\1\4\6\5"+ "\2\0\1\103\3\5\1\0\1\5\1\0\1\4\3\0"+ "\5\5\2\0\6\5\13\0\1\4\1\0\7\5\1\u0175"+ "\4\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5"+ "\1\0\1\5\1\0\1\4\3\0\5\5\2\0\6\5"+ "\13\0\1\4\1\0\1\5\1\u0127\12\5\1\0\23\5"+ "\1\4\6\5\2\0\1\103\1\5\1\u0176\1\5\1\0"+ "\1\5\1\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\1\0\1\5\1\0\1\4\3\0\5\5"+ "\2\0\6\5\13\0\1\4\1\0\14\5\1\0\7\5"+ "\1\u0177\4\5\1\u0178\6\5\1\4\6\5\2\0\1\103"+ "\3\5\1\0\1\5\1\0\1\4\3\0\5\5\2\0"+ "\6\5\13\0\1\4\1\0\2\5\1\u0179\11\5\1\0"+ "\23\5\1\4\6\5\2\0\1\103\3\5\1\0\1\5"+ "\1\0\1\4\3\0\5\5\2\0\1\u017a\5\5\13\0"+ "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0"+ "\1\103\3\5\1\0\1\5\1\0\1\4\3\0\2\5"+ "\1\u017b\2\5\2\0\6\5\13\0\1\4\1\0\14\5"+ "\1\0\5\5\1\u017c\15\5\1\4\6\5\2\0\1\103"+ "\3\5\1\0\1\5\1\0\1\4\3\0\5\5\2\0"+ "\1\5\1\u017d\4\5\13\0\1\4\1\0\14\5\1\0"+ "\23\5\1\4\6\5\2\0\1\103\3\5\1\0\1\5"+ "\1\0\1\4\3\0\5\5\2\0\4\5\1\331\1\5"+ "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5"+ "\2\0\1\103\3\5\1\0\1\5\1\0\1\4\3\0"+ "\5\5\2\0\1\u017e\5\5\13\0\1\4\1\0\14\5"+ "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\1\0"+ "\1\5\1\0\1\4\3\0\5\5\2\0\3\5\1\u0146"+ "\2\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4"+ "\6\5\2\0\1\103\3\5\1\0\1\5\1\0\1\4"+ "\3\0\5\5\2\0\2\5\1\u017f\3\5\13\0\1\4"+ "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103"+ "\3\5\1\0\1\5\1\0\1\4\3\0\5\5\2\0"+ "\2\5\1\u0180\3\5\13\0\1\4\1\0\14\5\1\0"+ "\23\5\1\4\6\5\2\0\1\103\3\5\1\0\1\5"+ "\1\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\3\5\1\0\1\5\1\0\1\4\3\0"+ "\5\5\2\0\1\5\1\u0182\4\5\13\0\1\4\1\0"+ "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\1\u0183"+ "\2\5\1\0\1\5\1\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\1\0\1\5\1\0\1\4"+ "\3\0\5\5\2\0\3\5\1\u0184\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\u0185\1\5\1\0\1\5\1\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\1\0\1\5"+ "\1\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4"+ "\1\0\14\5\1\0\10\5\1\u0132\12\5\1\4\6\5"+ "\2\0\1\103\3\5\1\0\1\5\1\0\1\4\3\0"+ "\5\5\2\0\2\5\1\u0186\3\5\13\0\1\4\1\0"+ "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5"+ "\1\0\1\5\1\0\1\4\3\0\5\5\2\0\1\5"+ "\1\130\4\5\13\0\1\4\1\0\14\5\1\0\23\5"+ "\1\4\6\5\2\0\1\103\1\u0187\2\5\1\0\1\5"+ "\1\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\1\0\1\5\1\0\1\4\3\0\5\5\2\0"+ "\1\122\5\5\13\0\1\4\1\0\14\5\1\0\23\5"+ "\1\4\6\5\2\0\1\103\3\5\1\0\1\5\1\0"+ "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0"+ "\11\5\1\u0134\2\5\1\0\23\5\1\4\6\5\2\0"+ "\1\103\3\5\1\0\1\5\1\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\1\0"+ "\1\5\1\0\1\4\3\0\5\5\2\0\6\5\13\0"+ "\1\4\1\0\2\5\1\u0189\11\5\1\0\23\5\1\4"+ "\6\5\2\0\1\103\3\5\1\0\1\5\1\0\1\4"+ "\3\0\5\5\2\0\1\5\1\u018a\4\5\13\0\1\4"+ "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103"+ "\3\5\1\0\1\5\1\0\1\4\3\0\5\5\2\0"+ "\6\5\13\0\1\4\1\0\6\5\1\173\5\5\1\0"+ "\23\5\1\4\6\5\2\0\1\103\3\5\1\0\1\5"+ "\1\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4"+ "\1\0\2\5\1\u018b\11\5\1\0\23\5\1\4\6\5"+ "\2\0\1\103\3\5\1\0\1\5\1\0\1\4\3\0"+ "\5\5\2\0\2\5\1\u018c\3\5\13\0\1\4\1\0"+ "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5"+ "\1\0\1\5\1\0\1\4\3\0\5\5\2\0\6\5"+ "\13\0\1\4\1\0\14\5\1\0\17\5\1\u018d\3\5"+ "\1\4\6\5\2\0\1\103\3\5\1\0\1\5\1\0"+ "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0"+ "\14\5\1\0\5\5\1\u018e\15\5\1\4\6\5\2\0"+ "\1\103\3\5\1\0\1\5\1\0\1\4\3\0\5\5"+ "\2\0\1\u018f\5\5\13\0\1\4\1\0\14\5\1\0"+ "\23\5\1\4\6\5\2\0\1\103\3\5\1\0\1\5"+ "\1\0\1\4\3\0\5\5\2\0\1\5\1\377\4\5"+ "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5"+ "\2\0\1\103\3\5\1\0\1\5\1\0\1\4\3\0"+ "\5\5\2\0\2\5\1\u0190\3\5\13\0\1\4\1\0"+ "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5"+ "\1\0\1\5\1\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\1\0\1\5\1\0"+ "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0"+ "\6\5\1\271\5\5\1\0\23\5\1\4\6\5\2\0"+ "\1\103\1\5\1\u0191\1\5\1\0\1\5\1\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\1\0"+ "\1\5\1\0\1\4\3\0\5\5\2\0\6\5\13\0"+ "\1\4\1\0\4\5\1\377\7\5\1\0\23\5\22\0"+ "\1\u0192\133\0\1\u010a\12\0\1\u0157\43\0\1\u0159\1\u0193"+ "\4\u0159\1\u0193\2\0\3\u0159\1\0\1\u0159\1\0\1\u0193"+ "\1\0\1\u0159\1\u0193\5\u0159\2\u0193\6\u0159\1\0\2\u0193"+ "\1\0\1\u0193\2\0\6\u0193\14\u0159\1\0\23\u0159\22\0"+ "\1\u0194\133\0\1\u010e\12\0\1\u015a\43\0\1\u015c\1\u0195"+ "\4\u015c\1\u0195\2\0\3\u015c\1\0\1\u015c\1\0\1\u0195"+ "\1\0\1\u015c\1\u0195\5\u015c\2\u0195\6\u015c\1\0\2\u0195"+ "\1\0\1\u0195\2\0\6\u0195\14\u015c\1\0\23\u015c\3\4"+ "\4\u0196\2\0\3\4\1\u0196\1\0\1\u0196\1\0\1\4"+ "\3\0\2\4\3\u0196\2\0\2\4\2\u0196\2\4\13\0"+ "\1\4\1\0\4\4\1\u0196\1\4\1\u0196\5\4\1\0"+ "\1\4\1\u0196\1\4\1\u0196\1\4\1\u0196\16\4\6\5"+ "\2\0\1\103\3\5\1\0\1\5\1\0\1\4\3\0"+ "\5\5\2\0\3\5\1\u0197\2\5\13\0\1\4\1\0"+ "\14\5\1\0\23\5\3\257\4\u0198\1\116\1\0\3\257"+ "\1\u0198\1\257\1\u0198\7\257\3\u0198\4\257\2\u0198\23\257"+ "\1\u0198\1\257\1\u0198\7\257\1\u0198\1\257\1\u0198\1\257"+ "\1\u0198\15\257\1\4\6\5\2\0\1\103\3\5\1\0"+ "\1\5\1\0\1\4\3\0\5\5\2\0\6\5\13\0"+ "\1\4\1\0\4\5\1\u0199\7\5\1\0\23\5\1\4"+ "\6\5\2\0\1\103\3\5\1\0\1\5\1\0\1\4"+ "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\2\5"+ "\1\u019a\11\5\1\0\23\5\1\4\6\5\2\0\1\103"+ "\3\5\1\0\1\5\1\0\1\4\3\0\5\5\2\0"+ "\2\5\1\u019b\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\u0127\1\5"+ "\1\0\1\5\1\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\1\0\1\5\1\0\1\4\3\0"+ "\5\5\2\0\1\5\1\u019c\4\5\13\0\1\4\1\0"+ "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5"+ "\1\0\1\5\1\0\1\4\3\0\5\5\2\0\6\5"+ "\13\0\1\4\1\0\6\5\1\u019d\5\5\1\0\23\5"+ "\1\4\6\5\2\0\1\103\3\5\1\0\1\5\1\0"+ "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0"+ "\1\5\1\u019e\12\5\1\0\23\5\3\132\4\u019f\2\132"+ "\1\300\2\132\1\u019f\1\301\1\u019f\7\132\3\u019f\4\132"+ "\2\u019f\23\132\1\u019f\1\132\1\u019f\7\132\1\u019f\1\132"+ "\1\u019f\1\132\1\u019f\15\132\7\4\2\0\1\4\1\u01a0"+ "\2\4\1\0\1\4\1\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\1\0\1\5\1\0\1\4\3\0"+ "\5\5\2\0\6\5\13\0\1\4\1\0\4\5\1\306"+ "\7\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5"+ "\1\0\1\5\1\0\1\4\3\0\5\5\2\0\6\5"+ "\13\0\1\4\1\0\6\5\1\u01a1\5\5\1\0\23\5"+ "\1\4\6\5\2\0\1\103\3\5\1\0\1\5\1\0"+ "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0"+ "\2\5\1\u01a2\11\5\1\0\23\5\1\4\6\5\2\0"+ "\1\103\3\5\1\0\1\5\1\0\1\4\3\0\5\5"+ "\2\0\6\5\13\0\1\4\1\0\11\5\1\u01a3\2\5"+ "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\1\0"+ "\1\5\1\0\1\4\3\0\5\5\2\0\4\5\1\u01a4"+ "\1\5\13\0\1\4\1\0\14\5\1\0\23\5\36\0"+ "\1\u01a5\57\0\1\4\6\5\2\0\1\103\3\5\1\0"+ "\1\5\1\0\1\4\3\0\5\5\2\0\3\5\1\u01a6"+ "\2\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4"+ "\6\5\2\0\1\103\3\5\1\0\1\5\1\0\1\4"+ "\3\0\5\5\2\0\1\u01a7\5\5\13\0\1\4\1\0"+ "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5"+ "\1\0\1\5\1\0\1\4\3\0\5\5\2\0\2\5"+ "\1\u01a8\3\5\13\0\1\4\1\0\14\5\1\0\23\5"+ "\1\4\6\5\2\0\1\103\3\5\1\0\1\5\1\0"+ "\1\4\3\0\3\5\1\161\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\161\1\5\1\0\1\5\1\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\1\0"+ "\1\5\1\0\1\4\3\0\5\5\2\0\2\5\1\u01a9"+ "\3\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4"+ "\6\5\2\0\1\103\3\5\1\0\1\5\1\0\1\4"+ "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\11\5"+ "\1\u0132\2\5\1\0\23\5\1\4\6\5\2\0\1\103"+ "\3\5\1\0\1\5\1\0\1\4\3\0\5\5\2\0"+ "\6\5\13\0\1\4\1\0\4\5\1\321\7\5\1\0"+ "\23\5\1\4\6\5\2\0\1\103\3\5\1\0\1\5"+ "\1\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4"+ "\1\0\7\5\1\u01aa\4\5\1\0\23\5\1\4\6\5"+ "\2\0\1\103\3\5\1\0\1\5\1\0\1\4\3\0"+ "\5\5\2\0\3\5\1\u01ab\2\5\13\0\1\4\1\0"+ "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5"+ "\1\0\1\5\1\0\1\4\3\0\5\5\2\0\6\5"+ "\13\0\1\4\1\0\6\5\1\161\5\5\1\0\23\5"+ "\1\4\6\5\2\0\1\103\3\5\1\0\1\5\1\0"+ "\1\4\3\0\2\5\1\u017b\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\1\0\1\5\1\0\1\4\3\0\5\5"+ "\2\0\1\5\1\u01ac\4\5\13\0\1\4\1\0\14\5"+ "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\1\0"+ "\1\5\1\0\1\4\3\0\5\5\2\0\4\5\1\u01ad"+ "\1\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4"+ "\6\5\2\0\1\103\3\5\1\0\1\5\1\0\1\4"+ "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\7\5"+ "\1\u01ae\4\5\1\0\23\5\1\4\6\5\2\0\1\103"+ "\3\5\1\0\1\5\1\0\1\4\3\0\5\5\2\0"+ "\6\5\13\0\1\4\1\0\14\5\1\0\5\5\1\u01af"+ "\2\5\1\u01b0\12\5\1\4\6\5\2\0\1\103\3\5"+ "\1\0\1\5\1\0\1\4\3\0\5\5\2\0\6\5"+ "\13\0\1\4\1\0\6\5\1\u01b1\5\5\1\0\23\5"+ "\1\4\6\5\2\0\1\103\3\5\1\0\1\5\1\0"+ "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0"+ "\14\5\1\0\1\5\1\u01b2\16\5\1\u01b3\2\5\1\4"+ "\6\5\2\0\1\103\3\5\1\0\1\5\1\0\1\4"+ "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\14\5"+ "\1\0\1\122\22\5\1\4\6\5\2\0\1\103\1\5"+ "\1\u01b4\1\5\1\0\1\5\1\0\1\4\3\0\3\5"+ "\1\u019e\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\1\0"+ "\1\5\1\0\1\4\3\0\5\5\2\0\6\5\13\0"+ "\1\4\1\0\4\5\1\122\7\5\1\0\23\5\1\4"+ "\6\5\2\0\1\103\3\5\1\0\1\5\1\0\1\4"+ "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\11\5"+ "\1\u01b5\2\5\1\0\23\5\1\4\6\5\2\0\1\103"+ "\3\5\1\0\1\5\1\0\1\4\3\0\5\5\2\0"+ "\6\5\13\0\1\4\1\0\2\5\1\u01b6\11\5\1\0"+ "\23\5\1\4\6\5\2\0\1\103\3\5\1\0\1\5"+ "\1\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\1\0\1\5\1\0\1\4\3\0"+ "\5\5\2\0\4\5\1\130\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\u01b8\1\5\1\0\1\5\1\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\1\0\1\5\1\0"+ "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0"+ "\1\5\1\u01b9\12\5\1\0\23\5\1\4\6\5\2\0"+ "\1\103\3\5\1\0\1\5\1\0\1\4\3\0\5\5"+ "\2\0\6\5\13\0\1\4\1\0\2\5\1\u0183\11\5"+ "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\1\0"+ "\1\5\1\0\1\4\3\0\5\5\2\0\6\5\13\0"+ "\1\4\1\0\11\5\1\u01ba\2\5\1\0\23\5\1\4"+ "\6\5\2\0\1\103\3\5\1\0\1\5\1\0\1\4"+ "\3\0\5\5\2\0\1\5\1\u01bb\4\5\13\0\1\4"+ "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103"+ "\3\5\1\0\1\5\1\0\1\4\3\0\1\5\1\u0132"+ "\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\u01bc\1\5"+ "\1\0\1\5\1\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\1\0\1\5\1\0\1\4\3\0"+ "\5\5\2\0\6\5\13\0\1\4\1\0\2\5\1\u01bd"+ "\11\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5"+ "\1\0\1\5\1\0\1\4\3\0\5\5\2\0\6\5"+ "\13\0\1\4\1\0\14\5\1\0\3\5\1\u01be\17\5"+ "\1\4\6\5\2\0\1\103\3\5\1\0\1\5\1\0"+ "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0"+ "\14\5\1\0\1\377\22\5\22\0\1\u0159\115\0\1\u015c"+ "\73\0\3\4\4\5\2\0\3\4\1\5\1\0\1\5"+ "\1\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\377\1\5\1\0"+ "\1\5\1\0\1\4\3\0\5\5\2\0\6\5\13\0"+ "\1\4\1\0\14\5\1\0\23\5\3\257\4\115\1\116"+ "\1\0\3\257\1\115\1\257\1\115\7\257\3\115\4\257"+ "\2\115\23\257\1\115\1\257\1\115\7\257\1\115\1\257"+ "\1\115\1\257\1\115\15\257\1\4\6\5\2\0\1\103"+ "\3\5\1\0\1\5\1\0\1\4\3\0\5\5\2\0"+ "\6\5\13\0\1\4\1\0\14\5\1\0\7\5\1\u0177"+ "\13\5\1\4\6\5\2\0\1\103\1\5\1\u01bf\1\5"+ "\1\0\1\5\1\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\1\0\1\5\1\0\1\4\3\0"+ "\5\5\2\0\6\5\13\0\1\4\1\0\14\5\1\0"+ "\5\5\1\u01c0\15\5\1\4\6\5\2\0\1\103\3\5"+ "\1\0\1\5\1\0\1\4\3\0\5\5\2\0\3\5"+ "\1\u01c1\2\5\13\0\1\4\1\0\14\5\1\0\23\5"+ "\1\4\6\5\2\0\1\103\3\5\1\0\1\5\1\0"+ "\1\4\3\0\5\5\2\0\2\5\1\u0163\3\5\13\0"+ "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0"+ "\1\103\3\5\1\0\1\5\1\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\3\132\4\16\2\132\1\300\2\132\1\16"+ "\1\301\1\16\7\132\3\16\4\132\2\16\23\132\1\16"+ "\1\132\1\16\7\132\1\16\1\132\1\16\1\132\1\16"+ "\15\132\7\4\2\0\4\4\1\0\1\4\1\0\1\4"+ "\3\0\5\4\2\0\6\4\13\0\1\4\1\0\4\4"+ "\1\u01c3\7\4\1\0\24\4\6\5\2\0\1\103\3\5"+ "\1\0\1\5\1\0\1\4\3\0\5\5\2\0\6\5"+ "\13\0\1\4\1\0\5\5\1\u01c4\6\5\1\0\23\5"+ "\1\4\6\5\2\0\1\103\3\5\1\0\1\5\1\0"+ "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0"+ "\7\5\1\u0173\4\5\1\0\23\5\1\4\6\5\2\0"+ "\1\103\3\5\1\0\1\5\1\0\1\4\3\0\5\5"+ "\2\0\3\5\1\u01c5\2\5\13\0\1\4\1\0\14\5"+ "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\1\0"+ "\1\5\1\0\1\4\3\0\5\5\2\0\6\5\13\0"+ "\1\4\1\0\10\5\1\161\3\5\1\0\23\5\64\0"+ "\1\u01c6\31\0\1\4\6\5\2\0\1\103\3\5\1\0"+ "\1\5\1\0\1\4\3\0\5\5\2\0\1\5\1\u01c7"+ "\4\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4"+ "\6\5\2\0\1\103\3\5\1\0\1\5\1\0\1\4"+ "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\14\5"+ "\1\0\15\5\1\u01c8\5\5\1\4\6\5\2\0\1\103"+ "\3\5\1\0\1\5\1\0\1\4\3\0\5\5\2\0"+ "\6\5\13\0\1\4\1\0\14\5\1\0\21\5\1\u01c9"+ "\1\5\1\4\6\5\2\0\1\103\3\5\1\0\1\5"+ "\1\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4"+ "\1\0\14\5\1\0\7\5\1\u01ca\13\5\1\4\6\5"+ "\2\0\1\103\3\5\1\0\1\5\1\0\1\4\3\0"+ "\5\5\2\0\6\5\13\0\1\4\1\0\14\5\1\0"+ "\2\5\1\u01cb\20\5\1\4\6\5\2\0\1\103\3\5"+ "\1\0\1\5\1\0\1\4\3\0\5\5\2\0\1\5"+ "\1\u01cc\4\5\13\0\1\4\1\0\14\5\1\0\23\5"+ "\1\4\6\5\2\0\1\103\3\5\1\0\1\5\1\0"+ "\1\4\3\0\5\5\2\0\3\5\1\u01cd\2\5\13\0"+ "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0"+ "\1\103\3\5\1\0\1\5\1\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\3\5\1\0"+ "\1\5\1\0\1\4\3\0\5\5\2\0\6\5\13\0"+ "\1\4\1\0\1\5\1\u01cf\12\5\1\0\23\5\1\4"+ "\6\5\2\0\1\103\3\5\1\0\1\5\1\0\1\4"+ "\3\0\5\5\2\0\5\5\1\u01d0\13\0\1\4\1\0"+ "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\1\u0175"+ "\2\5\1\0\1\5\1\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\1\0\1\5\1\0\1\4"+ "\3\0\5\5\2\0\1\u01bf\5\5\13\0\1\4\1\0"+ "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5"+ "\1\0\1\5\1\0\1\4\3\0\5\5\2\0\4\5"+ "\1\u01d1\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\u01d2\1\5\1\0"+ "\1\5\1\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\1\0\1\5\1\0\1\4\3\0\5\5"+ "\2\0\3\5\1\272\2\5\13\0\1\4\1\0\14\5"+ "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\1\0"+ "\1\5\1\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\1\0\1\5\1\0\1\4"+ "\3\0\5\5\2\0\1\u0127\5\5\13\0\1\4\1\0"+ "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5"+ "\1\0\1\5\1\0\1\4\3\0\5\5\2\0\2\5"+ "\1\u01d4\3\5\13\0\1\4\1\0\14\5\1\0\23\5"+ "\1\4\6\5\2\0\1\103\1\122\2\5\1\0\1\5"+ "\1\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\1\0\1\5\1\0\1\4\3\0\4\5\1\u01d5"+ "\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\1\0\1\5\1\0"+ "\1\4\3\0\5\5\2\0\2\5\1\u01d6\3\5\13\0"+ "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0"+ "\1\103\3\5\1\0\1\5\1\0\1\4\3\0\5\5"+ "\2\0\5\5\1\u01d7\13\0\1\4\1\0\14\5\1\0"+ "\23\5\1\4\6\5\2\0\1\103\3\5\1\0\1\5"+ "\1\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4"+ "\1\0\4\5\1\u01d8\7\5\1\0\23\5\1\4\6\5"+ "\2\0\1\103\3\5\1\0\1\5\1\0\1\4\3\0"+ "\5\5\2\0\6\5\13\0\1\4\1\0\7\5\1\u0197"+ "\4\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5"+ "\1\0\1\5\1\0\1\4\3\0\5\5\2\0\4\5"+ "\1\u01d9\1\5\13\0\1\4\1\0\14\5\1\0\23\5"+ "\1\4\6\5\2\0\1\103\3\5\1\0\1\5\1\0"+ "\1\4\3\0\5\5\2\0\2\5\1\164\3\5\13\0"+ "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0"+ "\1\103\3\5\1\0\1\5\1\0\1\4\3\0\3\5"+ "\1\u01da\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\1\0"+ "\1\5\1\0\1\4\3\0\5\5\2\0\6\5\13\0"+ "\1\4\1\0\11\5\1\u0127\2\5\1\0\23\5\1\4"+ "\6\5\2\0\1\103\3\5\1\0\1\5\1\0\1\4"+ "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\6\5"+ "\1\122\5\5\1\0\23\5\7\4\2\0\4\4\1\0"+ "\1\4\1\0\1\4\3\0\5\4\2\0\2\4\1\u01db"+ "\3\4\13\0\1\4\1\0\14\4\1\0\24\4\6\5"+ "\2\0\1\103\3\5\1\0\1\5\1\0\1\4\3\0"+ "\5\5\2\0\2\5\1\271\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\u01dc\1\5\1\0\1\5\1\0\1\4\3\0\5\5"+ "\2\0\6\5\13\0\1\4\1\0\14\5\1\0\23\5"+ "\56\0\1\u01dd\37\0\1\4\6\5\2\0\1\103\3\5"+ "\1\0\1\5\1\0\1\4\3\0\5\5\2\0\6\5"+ "\13\0\1\4\1\0\14\5\1\0\1\u01de\22\5\1\4"+ "\6\5\2\0\1\103\3\5\1\0\1\5\1\0\1\4"+ "\3\0\5\5\2\0\3\5\1\u01df\2\5\13\0\1\4"+ "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103"+ "\3\5\1\0\1\5\1\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\1\0\1\5"+ "\1\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4"+ "\1\0\7\5\1\u01e1\4\5\1\0\23\5\1\4\6\5"+ "\2\0\1\103\3\5\1\0\1\5\1\0\1\4\3\0"+ "\5\5\2\0\6\5\13\0\1\4\1\0\2\5\1\u01e2"+ "\11\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5"+ "\1\0\1\5\1\0\1\4\3\0\5\5\2\0\6\5"+ "\13\0\1\4\1\0\2\5\1\u01e3\11\5\1\0\23\5"+ "\1\4\6\5\2\0\1\103\3\5\1\0\1\5\1\0"+ "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0"+ "\14\5\1\0\1\u0132\22\5\1\4\6\5\2\0\1\103"+ "\3\5\1\0\1\5\1\0\1\4\3\0\5\5\2\0"+ "\6\5\13\0\1\4\1\0\14\5\1\0\13\5\1\u01e4"+ "\7\5\1\4\6\5\2\0\1\103\3\5\1\0\1\5"+ "\1\0\1\4\3\0\5\5\2\0\2\5\1\u01e5\3\5"+ "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\4\5"+ "\1\u01e6\1\5\2\0\1\103\3\5\1\0\1\5\1\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"+ "\1\0\1\5\1\0\1\4\3\0\5\5\2\0\6\5"+ "\13\0\1\4\1\0\7\5\1\u01e7\4\5\1\0\23\5"+ "\1\4\6\5\2\0\1\103\3\5\1\0\1\5\1\0"+ "\1\4\3\0\5\5\2\0\1\u0132\5\5\13\0\1\4"+ "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103"+ "\3\5\1\0\1\5\1\0\1\4\3\0\1\5\1\u01e8"+ "\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\u01e9\1\5"+ "\1\0\1\5\1\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\1\0\1\5\1\0\1\4\3\0"+ "\5\5\2\0\6\5\13\0\1\4\1\0\14\5\1\0"+ "\2\5\1\u01ea\20\5\1\4\6\5\2\0\1\103\3\5"+ "\1\0\1\5\1\0\1\4\3\0\5\5\2\0\1\5"+ "\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\1\0\1\5\1\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\1\0\1\5\1\0\1\4\3\0\5\5"+ "\2\0\6\5\13\0\1\4\1\0\14\5\1\0\13\5"+ "\1\u01ec\1\5\1\u01ed\5\5\1\4\6\5\2\0\1\103"+ "\3\5\1\0\1\5\1\0\1\4\3\0\5\5\2\0"+ "\6\5\13\0\1\4\1\0\2\5\1\u01ee\11\5\1\0"+ "\23\5\1\4\6\5\2\0\1\103\3\5\1\0\1\5"+ "\1\0\1\4\3\0\5\5\2\0\1\u01ef\5\5\13\0"+ "\1\4\1\0\14\5\1\0\23\5\1\4\6\5\2\0"+ "\1\103\3\5\1\0\1\5\1\0\1\4\3\0\5\5"+ "\2\0\6\5\13\0\1\4\1\0\4\5\1\u0132\7\5"+ "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\1\0"+ "\1\5\1\0\1\4\3\0\5\5\2\0\2\5\1\130"+ "\3\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4"+ "\6\5\2\0\1\103\3\5\1\0\1\5\1\0\1\4"+ "\3\0\5\5\2\0\1\u01f0\5\5\13\0\1\4\1\0"+ "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5"+ "\1\0\1\5\1\0\1\4\3\0\5\5\2\0\6\5"+ "\13\0\1\4\1\0\14\5\1\0\1\u01f1\22\5\1\4"+ "\6\5\2\0\1\103\3\5\1\0\1\5\1\0\1\4"+ "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\14\5"+ "\1\0\2\5\1\u01f2\20\5\1\4\6\5\2\0\1\103"+ "\3\5\1\0\1\5\1\0\1\4\3\0\5\5\2\0"+ "\2\5\1\u01f3\3\5\13\0\1\4\1\0\14\5\1\0"+ "\23\5\1\4\6\5\2\0\1\103\3\5\1\0\1\5"+ "\1\0\1\4\3\0\5\5\2\0\3\5\1\u01f4\2\5"+ "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5"+ "\2\0\1\103\3\5\1\0\1\5\1\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"+ "\1\0\1\5\1\0\1\4\3\0\5\5\2\0\1\5"+ "\1\u01f6\4\5\13\0\1\4\1\0\14\5\1\0\23\5"+ "\1\4\6\5\2\0\1\103\3\5\1\0\1\5\1\0"+ "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0"+ "\2\5\1\u01f7\11\5\1\0\23\5\1\4\6\5\2\0"+ "\1\103\3\5\1\0\1\5\1\0\1\4\3\0\5\5"+ "\2\0\3\5\1\u01d2\2\5\13\0\1\4\1\0\14\5"+ "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\1\0"+ "\1\5\1\0\1\4\3\0\5\5\2\0\6\5\13\0"+ "\1\4\1\0\7\5\1\u01f8\4\5\1\0\23\5\1\4"+ "\6\5\2\0\1\103\3\5\1\0\1\5\1\0\1\4"+ "\3\0\5\5\2\0\1\321\5\5\13\0\1\4\1\0"+ "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5"+ "\1\0\1\5\1\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\1\0\1\5\1\0"+ "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0"+ "\7\5\1\u01fa\4\5\1\0\23\5\1\4\6\5\2\0"+ "\1\103\3\5\1\0\1\5\1\0\1\4\3\0\5\5"+ "\2\0\1\u01fb\5\5\13\0\1\4\1\0\14\5\1\0"+ "\23\5\1\4\6\5\2\0\1\103\3\5\1\0\1\5"+ "\1\0\1\4\3\0\5\5\2\0\4\5\1\201\1\5"+ "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5"+ "\2\0\1\103\3\5\1\0\1\5\1\0\1\4\3\0"+ "\5\5\2\0\6\5\13\0\1\4\1\0\1\5\1\377"+ "\12\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5"+ "\1\0\1\5\1\0\1\4\3\0\5\5\2\0\2\5"+ "\1\u01fc\3\5\13\0\1\4\1\0\14\5\1\0\23\5"+ "\1\4\6\5\2\0\1\103\3\5\1\0\1\5\1\0"+ "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0"+ "\1\u0132\13\5\1\0\23\5\1\4\6\5\2\0\1\103"+ "\3\5\1\0\1\5\1\0\1\4\3\0\5\5\2\0"+ "\6\5\13\0\1\4\1\0\1\u01fd\13\5\1\0\23\5"+ "\1\4\6\5\2\0\1\103\3\5\1\0\1\5\1\0"+ "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0"+ "\2\5\1\u01fe\11\5\1\0\23\5\1\4\6\5\2\0"+ "\1\103\3\5\1\0\1\5\1\0\1\4\3\0\5\5"+ "\2\0\6\5\13\0\1\4\1\0\14\5\1\0\10\5"+ "\1\u01b0\12\5\1\4\6\5\2\0\1\103\2\5\1\u01ff"+ "\1\0\1\5\1\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\u0200\2\5\1\0\1\5\1\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\1\0"+ "\1\5\1\0\1\4\3\0\5\5\2\0\1\350\5\5"+ "\13\0\1\4\1\0\14\5\1\0\23\5\1\4\6\5"+ "\2\0\1\103\3\5\1\0\1\5\1\0\1\4\3\0"+ "\5\5\2\0\1\u0201\5\5\13\0\1\4\1\0\14\5"+ "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\1\0"+ "\1\5\1\0\1\4\3\0\5\5\2\0\3\5\1\u0202"+ "\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\130\1\5\1\0\1\5"+ "\1\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\u0132\1\5\1\0\1\5\1\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\1\0\1\5"+ "\1\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4"+ "\1\0\7\5\1\u0203\4\5\1\0\23\5\1\4\6\5"+ "\2\0\1\103\3\5\1\0\1\5\1\0\1\4\3\0"+ "\5\5\2\0\1\5\1\u0204\4\5\13\0\1\4\1\0"+ "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5"+ "\1\0\1\5\1\0\1\4\3\0\5\5\2\0\6\5"+ "\13\0\1\4\1\0\14\5\1\0\22\5\1\u0205\1\4"+ "\6\5\2\0\1\103\3\5\1\0\1\5\1\0\1\4"+ "\3\0\5\5\2\0\2\5\1\u0206\3\5\13\0\1\4"+ "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103"+ "\3\5\1\0\1\5\1\0\1\4\3\0\5\5\2\0"+ "\4\5\1\u0207\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\u0208\1\5"+ "\1\0\1\5\1\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\1\0\1\5\1\0\1\4\3\0"+ "\5\5\2\0\6\5\13\0\1\4\1\0\11\5\1\u0209"+ "\2\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5"+ "\1\0\1\5\1\0\1\4\3\0\5\5\2\0\6\5"+ "\13\0\1\4\1\0\4\5\1\u01bf\7\5\1\0\23\5"+ "\1\4\6\5\2\0\1\103\3\5\1\0\1\5\1\0"+ "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0"+ "\1\5\1\u0132\12\5\1\0\23\5\1\4\6\5\2\0"+ "\1\103\3\5\1\0\1\5\1\0\1\4\3\0\4\5"+ "\1\u020a\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\u020b\2\5\1\0"+ "\1\5\1\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\1\0\1\5\1\0\1\4\3\0\5\5"+ "\2\0\6\5\13\0\1\4\1\0\14\5\1\0\3\5"+ "\1\u020c\17\5\1\4\6\5\2\0\1\103\3\5\1\0"+ "\1\5\1\0\1\4\3\0\5\5\2\0\2\5\1\u020d"+ "\3\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4"+ "\6\5\2\0\1\103\3\5\1\0\1\5\1\0\1\4"+ "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\4\5"+ "\1\u020e\7\5\1\0\23\5\1\4\6\5\2\0\1\103"+ "\3\5\1\0\1\5\1\0\1\4\3\0\5\5\2\0"+ "\3\5\1\u020f\2\5\13\0\1\4\1\0\14\5\1\0"+ "\23\5\1\4\6\5\2\0\1\103\3\5\1\0\1\5"+ "\1\0\1\4\3\0\5\5\2\0\6\5\13\0\1\4"+ "\1\0\14\5\1\0\2\5\1\u0210\20\5\1\4\6\5"+ "\2\0\1\103\3\5\1\0\1\5\1\0\1\4\3\0"+ "\5\5\2\0\3\5\1\u0211\2\5\13\0\1\4\1\0"+ "\14\5\1\0\23\5\1\4\6\5\2\0\1\103\3\5"+ "\1\0\1\5\1\0\1\4\3\0\5\5\2\0\4\5"+ "\1\u0212\1\5\13\0\1\4\1\0\14\5\1\0\23\5"+ "\1\4\6\5\2\0\1\103\3\5\1\0\1\5\1\0"+ "\1\4\3\0\5\5\2\0\5\5\1\u01f3\13\0\1\4"+ "\1\0\14\5\1\0\23\5\1\4\6\5\2\0\1\103"+ "\3\5\1\0\1\5\1\0\1\4\3\0\5\5\2\0"+ "\5\5\1\u0132\13\0\1\4\1\0\14\5\1\0\23\5"+ "\1\4\6\5\2\0\1\103\3\5\1\0\1\5\1\0"+ "\1\4\3\0\5\5\2\0\6\5\13\0\1\4\1\0"+ "\1\5\1\u01f3\12\5\1\0\23\5\1\4\6\5\2\0"+ "\1\103\3\5\1\0\1\5\1\0\1\4\3\0\5\5"+ "\2\0\2\5\1\u01b3\3\5\13\0\1\4\1\0\14\5"+ "\1\0\23\5\1\4\6\5\2\0\1\103\3\5\1\0"+ "\1\5\1\0\1\4\3\0\5\5\2\0\4\5\1\u0213"+ "\1\5\13\0\1\4\1\0\14\5\1\0\23\5\1\4"+ "\6\5\2\0\1\103\3\5\1\0\1\5\1\0\1\4"+ "\3\0\5\5\2\0\6\5\13\0\1\4\1\0\2\5"+ "\1\u0203\11\5\1\0\23\5\1\4\6\5\2\0\1\103"+ "\3\5\1\0\1\5\1\0\1\4\3\0\5\5\2\0"+ "\6\5\13\0\1\4\1\0\2\5\1\u01f6\11\5\1\0"+ "\23\5"; private static int [] zzUnpackTrans() { int [] result = new int[39390]; int offset = 0; offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result); return result; } private static int zzUnpackTrans(String packed, int offset, int [] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); value--; do result[j++] = value; while (--count > 0); } return j; } /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; private static final int ZZ_PUSHBACK_2BIG = 2; /* error messages for the codes above */ private static final String ZZ_ERROR_MSG[] = { "Unkown internal scanner error", "Error: could not match input", "Error: pushback value was too large" }; /** * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute(); private static final String ZZ_ATTRIBUTE_PACKED_0 = "\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\16\1\1\11\1\0"+ "\14\1\1\11\1\1\1\11\35\1\1\0\43\1\1\11"+ "\10\0\2\1\1\0\4\1\1\11\20\1\1\11\2\1"+ "\1\0\105\1\10\0\15\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[531]; int offset = 0; offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result); return result; } private static int zzUnpackAttribute(String packed, int offset, int [] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } return j; } /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ private int zzState; /** the current lexical state */ private int zzLexicalState = YYINITIAL; /** this buffer contains the current text to be matched and is the source of the yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ private int zzMarkedPos; /** the current text position in the buffer */ private int zzCurrentPos; /** startRead marks the beginning of the yytext() string in the buffer */ private int zzStartRead; /** endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** 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. */ public ActionScriptTokenMaker() { } /** * Adds the token specified to the current linked list of tokens. * * @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. */ 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. * @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. */ @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 the text to place at the beginning and end of a * line to "comment" it in a this programming language. * * @return The start and end strings to add to a line to "comment" * it out. */ @Override public String[] getLineCommentStartAndEnd() { 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. * * @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) { resetTokenList(); this.offsetShift = -text.offset + startOffset; // 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; } s = text; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); return new TokenImpl(); } } /** * Refills the input buffer. * * @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. * * 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 */ 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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = s.offset; zzLexicalState = YYINITIAL; 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. */ public ActionScriptTokenMaker(java.io.Reader in) { this.zzReader = in; } /** * Creates a new scanner. * There is also java.io.Reader version of this constructor. * * @param in the java.io.Inputstream to read input from. */ public ActionScriptTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } /** * Unpacks the compressed character translation table. * * @param packed the packed character translation table * @return the unpacked character translation table */ private static char [] zzUnpackCMap(String packed) { char [] map = new char[0x10000]; int i = 0; /* index in packed string */ int j = 0; /* index in unpacked array */ while (i < 190) { int count = packed.charAt(i++); char value = packed.charAt(i++); do map[j++] = value; while (--count > 0); } return map; } /** * Closes the input stream. */ public final void yyclose() throws java.io.IOException { zzAtEOF = true; /* indicate end of file */ zzEndRead = zzStartRead; /* invalidate buffer */ if (zzReader != null) zzReader.close(); } /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } /** * Enters a 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 yylength()-1. * * @return the character at position pos */ public final char yycharat(int pos) { return zzBuffer[zzStartRead+pos]; } /** * Returns the length of the matched text region. */ public final int yylength() { return zzMarkedPos-zzStartRead; } /** * Reports an error that occured while scanning. * * In a wellformed scanner (no or only correct usage of * yypushback(int) and a match-all fallback rule) this method * will only be called with things that "Can't Possibly Happen". * If this method is called, something is seriously wrong * (e.g. a JFlex bug producing a faulty scanner etc.). * * Usual syntax/scanner level error handling should be done * in error fallback rules. * * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; try { message = ZZ_ERROR_MSG[errorCode]; } catch (ArrayIndexOutOfBoundsException e) { message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR]; } throw new Error(message); } /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * * @param number the number of characters to be read again. * This number must not be greater than yylength()! */ public void yypushback(int number) { if ( number > yylength() ) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } /** * Resumes scanning until the next regular expression is matched, * the end of input is encountered or an I/O-Error occurs. * * @return the next token * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; int zzAction; // cached fields: int zzCurrentPosL; int zzMarkedPosL; int zzEndReadL = zzEndRead; char [] zzBufferL = zzBuffer; char [] zzCMapL = ZZ_CMAP; int [] zzTransL = ZZ_TRANS; int [] zzRowMapL = ZZ_ROWMAP; int [] zzAttrL = ZZ_ATTRIBUTE; while (true) { zzMarkedPosL = zzMarkedPos; zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; else if (zzAtEOF) { zzInput = YYEOF; break zzForAction; } else { // store back cached positions zzCurrentPos = zzCurrentPosL; zzMarkedPos = zzMarkedPosL; boolean eof = zzRefill(); // get translated positions and possibly new buffer zzCurrentPosL = zzCurrentPos; zzMarkedPosL = zzMarkedPos; zzBufferL = zzBuffer; zzEndReadL = zzEndRead; if (eof) { zzInput = YYEOF; break zzForAction; } else { zzInput = zzBufferL[zzCurrentPosL++]; } } int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ]; if (zzNext == -1) break zzForAction; zzState = zzNext; int zzAttributes = zzAttrL[zzState]; if ( (zzAttributes & 1) == 1 ) { zzAction = zzState; zzMarkedPosL = zzCurrentPosL; if ( (zzAttributes & 8) == 8 ) break zzForAction; } } } // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { case 5: { addNullToken(); return firstToken; } case 30: break; case 22: { 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 23: { 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 24: { addToken(Token.DATA_TYPE); } case 47: break; case 1: { addToken(Token.ERROR_IDENTIFIER); } case 48: break; case 16: { 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 532: break; case YYINITIAL: { addNullToken(); return firstToken; } case 533: break; case MLC: { addToken(start,zzStartRead-1, Token.COMMENT_MULTILINE); return firstToken; } case 534: break; default: return null; } } else { zzScanError(ZZ_NO_MATCH); } } } } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/package.html0000644000175000001440000000014512200540536026145 0ustar benusers Scanners that tokenize source in RSyntaxTextArea. rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/FortranTokenMaker.flex0000644000175000001440000004653412202237654030162 0ustar benusers/* * 03/23/2005 * * FortranTokenMaker.java - Scanner for the Fortran programming language. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.*; /** * Scanner for the Fortran programming language. * * 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * 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.
  • *
  • You should NOT call yylex() on the generated scanner * directly; rather, you should use getTokenList as you would * with any other TokenMaker instance.
  • *
* * @author Robert Futrell * @version 0.4 * */ %% %public %class FortranTokenMaker %extends AbstractJFlexTokenMaker %unicode %ignorecase %type org.fife.ui.rsyntaxtextarea.Token %{ /** * 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. */ 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. */ 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. */ @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 text to place at the beginning and end of a * line to "comment" it in a this programming language. * * @return The start and end strings to add to a line to "comment" * it out. */ @Override public String[] getLineCommentStartAndEnd() { 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. * * @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) { resetTokenList(); this.offsetShift = -text.offset + startOffset; // 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; } s = text; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); return new TokenImpl(); } } /** * Refills the input buffer. * * @return true if EOF was reached, otherwise * false. * @exception IOException if any I/O-Error occurs. */ private boolean zzRefill() throws java.io.IOException { return zzCurrentPos>=s.offset+s.count; } /** * 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 */ public final void yyreset(java.io.Reader reader) throws java.io.IOException { // '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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = zzPushbackPos = s.offset; zzLexicalState = YYINITIAL; zzReader = reader; zzAtBOL = true; zzAtEOF = false; } %} LineTerminator = (\n) WhiteSpace = ([ \t\f]) Column1CommentBegin = ([C\*]) Column1Comment2Begin = (D) AnywhereCommentBegin = (\!) Identifier = ([A-Za-z0-9_$]+) StringDelimiter = (\") CharDelimiter = (\') Operators1 = ("<"|">"|"<="|">="|"&"|"/="|"==") Operators2 = (\.(lt|gt|eq|ne|le|ge|and|or)\.) Operator = ({Operators1}|{Operators2}) Boolean = (\.(true|false)\.) %state STRING %state CHAR %% /* Keywords */ "INCLUDE" { addToken(Token.RESERVED_WORD); } "PROGRAM" { addToken(Token.RESERVED_WORD); } "MODULE" { addToken(Token.RESERVED_WORD); } "SUBROUTINE" { addToken(Token.RESERVED_WORD); } "FUNCTION" { addToken(Token.RESERVED_WORD); } "CONTAINS" { addToken(Token.RESERVED_WORD); } "USE" { addToken(Token.RESERVED_WORD); } "CALL" { addToken(Token.RESERVED_WORD); } "RETURN" { addToken(Token.RESERVED_WORD); } "IMPLICIT" { addToken(Token.RESERVED_WORD); } "EXPLICIT" { addToken(Token.RESERVED_WORD); } "NONE" { addToken(Token.RESERVED_WORD); } "DATA" { addToken(Token.RESERVED_WORD); } "PARAMETER" { addToken(Token.RESERVED_WORD); } "ALLOCATE" { addToken(Token.RESERVED_WORD); } "ALLOCATABLE" { addToken(Token.RESERVED_WORD); } "ALLOCATED" { addToken(Token.RESERVED_WORD); } "DEALLOCATE" { addToken(Token.RESERVED_WORD); } "INTEGER" { addToken(Token.RESERVED_WORD); } "REAL" { addToken(Token.RESERVED_WORD); } "DOUBLE" { addToken(Token.RESERVED_WORD); } "PRECISION" { addToken(Token.RESERVED_WORD); } "COMPLEX" { addToken(Token.RESERVED_WORD); } "LOGICAL" { addToken(Token.RESERVED_WORD); } "CHARACTER" { addToken(Token.RESERVED_WORD); } "DIMENSION" { addToken(Token.RESERVED_WORD); } "KIND" { addToken(Token.RESERVED_WORD); } "CASE" { addToken(Token.RESERVED_WORD); } "SELECT" { addToken(Token.RESERVED_WORD); } "DEFAULT" { addToken(Token.RESERVED_WORD); } "CONTINUE" { addToken(Token.RESERVED_WORD); } "CYCLE" { addToken(Token.RESERVED_WORD); } "DO" { addToken(Token.RESERVED_WORD); } "WHILE" { addToken(Token.RESERVED_WORD); } "ELSE" { addToken(Token.RESERVED_WORD); } "IF" { addToken(Token.RESERVED_WORD); } "ELSEIF" { addToken(Token.RESERVED_WORD); } "THEN" { addToken(Token.RESERVED_WORD); } "ELSEWHERE" { addToken(Token.RESERVED_WORD); } "END" { addToken(Token.RESERVED_WORD); } "ENDIF" { addToken(Token.RESERVED_WORD); } "ENDDO" { addToken(Token.RESERVED_WORD); } "FORALL" { addToken(Token.RESERVED_WORD); } "WHERE" { addToken(Token.RESERVED_WORD); } "EXIT" { addToken(Token.RESERVED_WORD); } "GOTO" { addToken(Token.RESERVED_WORD); } "PAUSE" { addToken(Token.RESERVED_WORD); } "STOP" { addToken(Token.RESERVED_WORD); } "BACKSPACE" { addToken(Token.RESERVED_WORD); } "CLOSE" { addToken(Token.RESERVED_WORD); } "ENDFILE" { addToken(Token.RESERVED_WORD); } "INQUIRE" { addToken(Token.RESERVED_WORD); } "OPEN" { addToken(Token.RESERVED_WORD); } "PRINT" { addToken(Token.RESERVED_WORD); } "READ" { addToken(Token.RESERVED_WORD); } "REWIND" { addToken(Token.RESERVED_WORD); } "WRITE" { addToken(Token.RESERVED_WORD); } "FORMAT" { addToken(Token.RESERVED_WORD); } "AIMAG" { addToken(Token.RESERVED_WORD); } "AINT" { addToken(Token.RESERVED_WORD); } "AMAX0" { addToken(Token.RESERVED_WORD); } "AMIN0" { addToken(Token.RESERVED_WORD); } "ANINT" { addToken(Token.RESERVED_WORD); } "CEILING" { addToken(Token.RESERVED_WORD); } "CMPLX" { addToken(Token.RESERVED_WORD); } "CONJG" { addToken(Token.RESERVED_WORD); } "DBLE" { addToken(Token.RESERVED_WORD); } "DCMPLX" { addToken(Token.RESERVED_WORD); } "DFLOAT" { addToken(Token.RESERVED_WORD); } "DIM" { addToken(Token.RESERVED_WORD); } "DPROD" { addToken(Token.RESERVED_WORD); } "FLOAT" { addToken(Token.RESERVED_WORD); } "FLOOR" { addToken(Token.RESERVED_WORD); } "IFIX" { addToken(Token.RESERVED_WORD); } "IMAG" { addToken(Token.RESERVED_WORD); } "INT" { addToken(Token.RESERVED_WORD); } "LOGICAL" { addToken(Token.RESERVED_WORD); } "MODULO" { addToken(Token.RESERVED_WORD); } "NINT" { addToken(Token.RESERVED_WORD); } "REAL" { addToken(Token.RESERVED_WORD); } "SIGN" { addToken(Token.RESERVED_WORD); } "SNGL" { addToken(Token.RESERVED_WORD); } "TRANSFER" { addToken(Token.RESERVED_WORD); } "ZEXT" { addToken(Token.RESERVED_WORD); } "ABS" { addToken(Token.RESERVED_WORD); } "ACOS" { addToken(Token.RESERVED_WORD); } "AIMAG" { addToken(Token.RESERVED_WORD); } "AINT" { addToken(Token.RESERVED_WORD); } "ALOG" { addToken(Token.RESERVED_WORD); } "ALOG10" { addToken(Token.RESERVED_WORD); } "AMAX0" { addToken(Token.RESERVED_WORD); } "AMAX1" { addToken(Token.RESERVED_WORD); } "AMIN0" { addToken(Token.RESERVED_WORD); } "AMIN1" { addToken(Token.RESERVED_WORD); } "AMOD" { addToken(Token.RESERVED_WORD); } "ANINT" { addToken(Token.RESERVED_WORD); } "ASIN" { addToken(Token.RESERVED_WORD); } "ATAN" { addToken(Token.RESERVED_WORD); } "ATAN2" { addToken(Token.RESERVED_WORD); } "CABS" { addToken(Token.RESERVED_WORD); } "CCOS" { addToken(Token.RESERVED_WORD); } "CHAR" { addToken(Token.RESERVED_WORD); } "CLOG" { addToken(Token.RESERVED_WORD); } "CMPLX" { addToken(Token.RESERVED_WORD); } "CONJG" { addToken(Token.RESERVED_WORD); } "COS" { addToken(Token.RESERVED_WORD); } "COSH" { addToken(Token.RESERVED_WORD); } "CSIN" { addToken(Token.RESERVED_WORD); } "CSQRT" { addToken(Token.RESERVED_WORD); } "DABS" { addToken(Token.RESERVED_WORD); } "DACOS" { addToken(Token.RESERVED_WORD); } "DASIN" { addToken(Token.RESERVED_WORD); } "DATAN" { addToken(Token.RESERVED_WORD); } "DATAN2" { addToken(Token.RESERVED_WORD); } "DBLE" { addToken(Token.RESERVED_WORD); } "DCOS" { addToken(Token.RESERVED_WORD); } "DCOSH" { addToken(Token.RESERVED_WORD); } "DDIM" { addToken(Token.RESERVED_WORD); } "DEXP" { addToken(Token.RESERVED_WORD); } "DIM" { addToken(Token.RESERVED_WORD); } "DINT" { addToken(Token.RESERVED_WORD); } "DLOG" { addToken(Token.RESERVED_WORD); } "DLOG10" { addToken(Token.RESERVED_WORD); } "DMAX1" { addToken(Token.RESERVED_WORD); } "DMIN1" { addToken(Token.RESERVED_WORD); } "DMOD" { addToken(Token.RESERVED_WORD); } "DNINT" { addToken(Token.RESERVED_WORD); } "DPROD" { addToken(Token.RESERVED_WORD); } "DREAL" { addToken(Token.RESERVED_WORD); } "DSIGN" { addToken(Token.RESERVED_WORD); } "DSIN" { addToken(Token.RESERVED_WORD); } "DSINH" { addToken(Token.RESERVED_WORD); } "DSQRT" { addToken(Token.RESERVED_WORD); } "DTAN" { addToken(Token.RESERVED_WORD); } "DTANH" { addToken(Token.RESERVED_WORD); } "EXP" { addToken(Token.RESERVED_WORD); } "FLOAT" { addToken(Token.RESERVED_WORD); } "IABS" { addToken(Token.RESERVED_WORD); } "ICHAR" { addToken(Token.RESERVED_WORD); } "IDIM" { addToken(Token.RESERVED_WORD); } "IDINT" { addToken(Token.RESERVED_WORD); } "IDNINT" { addToken(Token.RESERVED_WORD); } "IFIX" { addToken(Token.RESERVED_WORD); } "INDEX" { addToken(Token.RESERVED_WORD); } "INT" { addToken(Token.RESERVED_WORD); } "ISIGN" { addToken(Token.RESERVED_WORD); } "LEN" { addToken(Token.RESERVED_WORD); } "LGE" { addToken(Token.RESERVED_WORD); } "LGT" { addToken(Token.RESERVED_WORD); } "LLE" { addToken(Token.RESERVED_WORD); } "LLT" { addToken(Token.RESERVED_WORD); } "LOG" { addToken(Token.RESERVED_WORD); } "LOG10" { addToken(Token.RESERVED_WORD); } "MAX" { addToken(Token.RESERVED_WORD); } "MAX0" { addToken(Token.RESERVED_WORD); } "MAX1" { addToken(Token.RESERVED_WORD); } "MIN" { addToken(Token.RESERVED_WORD); } "MIN0" { addToken(Token.RESERVED_WORD); } "MIN1" { addToken(Token.RESERVED_WORD); } "MOD" { addToken(Token.RESERVED_WORD); } "NINT" { addToken(Token.RESERVED_WORD); } "REAL" { addToken(Token.RESERVED_WORD); } "SIGN" { addToken(Token.RESERVED_WORD); } "SIN" { addToken(Token.RESERVED_WORD); } "SINH" { addToken(Token.RESERVED_WORD); } "SNGL" { addToken(Token.RESERVED_WORD); } "SQRT" { addToken(Token.RESERVED_WORD); } "TAN" { addToken(Token.RESERVED_WORD); } "TANH" { addToken(Token.RESERVED_WORD); } { {LineTerminator} { addNullToken(); return firstToken; } {WhiteSpace}+ { addToken(Token.WHITESPACE); } /* String/Character Literals. */ {CharDelimiter} { start = zzMarkedPos-1; yybegin(CHAR); } {StringDelimiter} { start = zzMarkedPos-1; yybegin(STRING); } /* Comment Literals. */ /* Note that we cannot combine these as JFLex doesn't like combining an */ /* expression containing the beginning-of-line character '^'. */ {Column1CommentBegin} { // 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); } } {Column1Comment2Begin} { // 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); } } {AnywhereCommentBegin} { addToken(zzStartRead,zzEndRead, Token.COMMENT_EOL); addNullToken(); return firstToken; } /* Operators. */ {Operator} { addToken(Token.OPERATOR); } /* Boolean literals. */ {Boolean} { addToken(Token.LITERAL_BOOLEAN); } {Identifier} { addToken(Token.IDENTIFIER); } /* Ended with a line not in a string or char literal. */ <> { addNullToken(); return firstToken; } /* Catch any other (unhandled) characters. */ . { addToken(Token.IDENTIFIER); } } { [^\'\n]* {} \' { yybegin(YYINITIAL); addToken(start,zzStartRead, Token.LITERAL_CHAR); } \n { addToken(start,zzStartRead-1, Token.LITERAL_CHAR); return firstToken; } <> { addToken(start,zzStartRead-1, Token.LITERAL_CHAR); return firstToken; } } { [^\"\n]* {} \" { yybegin(YYINITIAL); addToken(start,zzStartRead, Token.LITERAL_STRING_DOUBLE_QUOTE); } \n { addToken(start,zzStartRead-1, Token.LITERAL_STRING_DOUBLE_QUOTE); return firstToken; } <> { addToken(start,zzStartRead-1, Token.LITERAL_STRING_DOUBLE_QUOTE); return firstToken; } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/modes/FortranTokenMaker.java0000644000175000001440000010674212202002502030121 0ustar benusers/* The following code was generated by JFlex 1.4.1 on 10/16/06 10:31 AM */ /* * 03/23/2005 * * FortranTokenMaker.java - Scanner for the Fortran programming language. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea.modes; import java.io.*; import javax.swing.text.Segment; import org.fife.ui.rsyntaxtextarea.*; /** * Scanner for the Fortran programming language. * * 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 * 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.

* * The actual algorithm generated for scanning has, of course, not been * modified.

* * 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.
  • *
  • You should NOT call yylex() on the generated scanner * directly; rather, you should use getTokenList as you would * with any other TokenMaker instance.
  • *
* * @author Robert Futrell * @version 0.4 * */ public class FortranTokenMaker extends AbstractJFlexTokenMaker { /** This character denotes the end of file */ public static final int YYEOF = -1; /** lexical states */ public static final int STRING = 1; public static final int YYINITIAL = 0; public static final int CHAR = 2; /** * Translates characters to character classes */ private static final String ZZ_CMAP_PACKED = "\11\0\1\2\1\1\1\0\1\2\23\0\1\2\1\5\1\10\1\0"+ "\1\6\1\0\1\14\1\11\2\0\1\3\3\0\1\16\1\15\1\45"+ "\1\50\1\51\7\6\2\0\1\12\1\13\1\12\2\0\1\25\1\37"+ "\1\7\1\4\1\22\1\31\1\21\1\41\1\33\1\46\1\42\1\17"+ "\1\36\1\24\1\26\1\35\1\23\1\27\1\32\1\20\1\30\1\6"+ "\1\44\1\40\1\43\1\47\4\0\1\6\1\0\1\25\1\37\1\34"+ "\1\4\1\22\1\31\1\21\1\41\1\33\1\46\1\42\1\17\1\36"+ "\1\24\1\26\1\35\1\23\1\27\1\32\1\20\1\30\1\6\1\44"+ "\1\40\1\43\1\47\uff85\0"; /** * Translates characters to character classes */ private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED); /** * Translates DFA states to action switch labels. */ private static final int [] ZZ_ACTION = zzUnpackAction(); private static final String ZZ_ACTION_PACKED_0 = "\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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } return j; } /** * 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\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"+ "\0\u05e8\0\u0612\0\u063c\0\u0666\0\u0690\0\u06ba\0\u06e4\0\u070e"+ "\0\u0738\0\u0762\0\u078c\0\u07b6\0\u07e0\0\u080a\0\u0834\0\u085e"+ "\0\u0888\0\u08b2\0\u08dc\0\u0906\0\u0930\0\u095a\0\u0984\0\u09ae"+ "\0\u09d8\0\u0a02\0\u0a2c\0\u0a56\0\u0a80\0\u0aaa\0\u0ad4\0\u0afe"+ "\0\u0b28\0\u0b52\0\u0b7c\0\u0ba6\0\u0bd0\0\u0bfa\0\u0c24\0\u0c4e"+ "\0\u0c78\0\u0ca2\0\u0ccc\0\u0cf6\0\u0d20\0\u0d4a\0\u0d74\0\u0d9e"+ "\0\u0dc8\0\u0df2\0\u0e1c\0\u0e46\0\u0e70\0\u0e9a\0\u0ec4\0\u0eee"+ "\0\u0f18\0\u0f42\0\u0f6c\0\u0f96\0\u0fc0\0\u0fea\0\u1014\0\u103e"+ "\0\u1068\0\u1092\0\u10bc\0\u10e6\0\u1110\0\u113a\0\u1164\0\u118e"+ "\0\u11b8\0\u11e2\0\u120c\0\u1236\0\u1260\0\u128a\0\u12b4\0\u12de"+ "\0\u1308\0\u1332\0\u135c\0\u1386\0\u13b0\0\u13da\0\u1404\0\u142e"+ "\0\u1458\0\u1482\0\u14ac\0\u14d6\0\u1500\0\u152a\0\u1554\0\u157e"+ "\0\u15a8\0\u15d2\0\u15fc\0\374\0\u1626\0\u1650\0\u167a\0\u16a4"+ "\0\u16ce\0\u16f8\0\u1722\0\u174c\0\u1776\0\u17a0\0\u17ca\0\u17f4"+ "\0\u181e\0\u1848\0\u1872\0\u189c\0\u18c6\0\u18f0\0\u191a\0\u1944"+ "\0\u196e\0\u1998\0\u19c2\0\u19ec\0\u1a16\0\u1a40\0\u1a6a\0\u16f8"+ "\0\u1a94\0\u1abe\0\u1ae8\0\u1b12\0\u1b3c\0\u1b66\0\u1b90\0\u1bba"+ "\0\u1be4\0\u1c0e\0\u1c38\0\u174c\0\u1c62\0\u1c8c\0\u1cb6\0\u1ce0"+ "\0\u1d0a\0\u1d34\0\u1d5e\0\u1d88\0\u1db2\0\u1ddc\0\u1e06\0\u1e30"+ "\0\u1e5a\0\u1e84\0\u1eae\0\u1ed8\0\u1f02\0\u1f2c\0\u1b12\0\u1f56"+ "\0\u1f80\0\u1faa\0\u1fd4\0\u1ffe\0\u2028\0\u2052\0\u207c\0\u20a6"+ "\0\u20d0\0\u20fa\0\u2124\0\u214e\0\u2178\0\u21a2\0\u21cc\0\u21f6"+ "\0\u2220\0\u224a\0\u2274\0\u229e\0\u22c8\0\u22f2\0\u231c\0\u2346"+ "\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 */ int l = packed.length(); while (i < l) { int high = packed.charAt(i++) << 16; result[j++] = high | packed.charAt(i++); } 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 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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); value--; do result[j++] = value; while (--count > 0); } return j; } /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; private static final int ZZ_PUSHBACK_2BIG = 2; /* error messages for the codes above */ private static final String ZZ_ERROR_MSG[] = { "Unkown internal scanner error", "Error: could not match input", "Error: pushback value was too large" }; /** * ZZ_ATTRIBUTE[aState] contains the attributes of state aState */ private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute(); private static final String ZZ_ATTRIBUTE_PACKED_0 = "\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 */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } return j; } /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ private int zzState; /** the current lexical state */ private int zzLexicalState = YYINITIAL; /** this buffer contains the current text to be matched and is the source of the yytext() string */ private char zzBuffer[]; /** the textposition at the last accepting state */ private int zzMarkedPos; /** the current text position in the buffer */ private int zzCurrentPos; /** startRead marks the beginning of the yytext() string in the buffer */ private int zzStartRead; /** endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** 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. */ public FortranTokenMaker() { super(); } /** * Adds the token specified to the current linked list of tokens. * * @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. */ 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. */ @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 text to place at the beginning and end of a * line to "comment" it in a this programming language. * * @return The start and end strings to add to a line to "comment" * it out. */ @Override public String[] getLineCommentStartAndEnd() { 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. * * @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) { resetTokenList(); this.offsetShift = -text.offset + startOffset; // 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; } s = text; try { yyreset(zzReader); yybegin(state); return yylex(); } catch (IOException ioe) { ioe.printStackTrace(); return new TokenImpl(); } } /** * Refills the input buffer. * * @return true if EOF was reached, otherwise * false. * @exception IOException if any I/O-Error occurs. */ private boolean zzRefill() throws java.io.IOException { return zzCurrentPos>=s.offset+s.count; } /** * 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 */ public final void yyreset(java.io.Reader reader) throws java.io.IOException { // '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. */ //zzStartRead = zzEndRead = s.offset; zzStartRead = s.offset; zzEndRead = zzStartRead + s.count - 1; zzCurrentPos = zzMarkedPos = s.offset; zzLexicalState = YYINITIAL; 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. */ public FortranTokenMaker(java.io.Reader in) { this.zzReader = in; } /** * Creates a new scanner. * There is also java.io.Reader version of this constructor. * * @param in the java.io.Inputstream to read input from. */ public FortranTokenMaker(java.io.InputStream in) { this(new java.io.InputStreamReader(in)); } /** * Unpacks the compressed character translation table. * * @param packed the packed character translation table * @return the unpacked character translation table */ private static char [] zzUnpackCMap(String packed) { char [] map = new char[0x10000]; int i = 0; /* index in packed string */ int j = 0; /* index in unpacked array */ while (i < 168) { int count = packed.charAt(i++); char value = packed.charAt(i++); do map[j++] = value; while (--count > 0); } return map; } /** * Closes the input stream. */ public final void yyclose() throws java.io.IOException { zzAtEOF = true; /* indicate end of file */ zzEndRead = zzStartRead; /* invalidate buffer */ if (zzReader != null) zzReader.close(); } /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } /** * Enters a 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 yylength()-1. * * @return the character at position pos */ public final char yycharat(int pos) { return zzBuffer[zzStartRead+pos]; } /** * Returns the length of the matched text region. */ public final int yylength() { return zzMarkedPos-zzStartRead; } /** * Reports an error that occured while scanning. * * In a wellformed scanner (no or only correct usage of * yypushback(int) and a match-all fallback rule) this method * will only be called with things that "Can't Possibly Happen". * If this method is called, something is seriously wrong * (e.g. a JFlex bug producing a faulty scanner etc.). * * Usual syntax/scanner level error handling should be done * in error fallback rules. * * @param errorCode the code of the errormessage to display */ private void zzScanError(int errorCode) { String message; try { message = ZZ_ERROR_MSG[errorCode]; } catch (ArrayIndexOutOfBoundsException e) { message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR]; } throw new Error(message); } /** * Pushes the specified amount of characters back into the input stream. * * They will be read again by then next call of the scanning method * * @param number the number of characters to be read again. * This number must not be greater than yylength()! */ public void yypushback(int number) { if ( number > yylength() ) zzScanError(ZZ_PUSHBACK_2BIG); zzMarkedPos -= number; } /** * Resumes scanning until the next regular expression is matched, * the end of input is encountered or an I/O-Error occurs. * * @return the next token * @exception java.io.IOException if any I/O-Error occurs */ public org.fife.ui.rsyntaxtextarea.Token yylex() throws java.io.IOException { int zzInput; int zzAction; // cached fields: int zzCurrentPosL; int zzMarkedPosL; int zzEndReadL = zzEndRead; char [] zzBufferL = zzBuffer; char [] zzCMapL = ZZ_CMAP; int [] zzTransL = ZZ_TRANS; int [] zzRowMapL = ZZ_ROWMAP; int [] zzAttrL = ZZ_ATTRIBUTE; while (true) { zzMarkedPosL = zzMarkedPos; zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; zzState = zzLexicalState; zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL[zzCurrentPosL++]; else if (zzAtEOF) { zzInput = YYEOF; break zzForAction; } else { // store back cached positions zzCurrentPos = zzCurrentPosL; zzMarkedPos = zzMarkedPosL; boolean eof = zzRefill(); // get translated positions and possibly new buffer zzCurrentPosL = zzCurrentPos; zzMarkedPosL = zzMarkedPos; zzBufferL = zzBuffer; zzEndReadL = zzEndRead; if (eof) { zzInput = YYEOF; break zzForAction; } else { zzInput = zzBufferL[zzCurrentPosL++]; } } int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ]; if (zzNext == -1) break zzForAction; zzState = zzNext; int zzAttributes = zzAttrL[zzState]; if ( (zzAttributes & 1) == 1 ) { zzAction = zzState; zzMarkedPosL = zzCurrentPosL; if ( (zzAttributes & 8) == 8 ) break zzForAction; } } } // store back cached position zzMarkedPos = zzMarkedPosL; switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { case 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: { 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 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); } } } } } rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/Theme.java0000644000175000001440000006527512202767342024511 0ustar benusers/* * 10/30/2011 * * Theme.java - A color theme for RSyntaxTextArea. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea; import java.awt.Color; import java.awt.Font; import java.awt.SystemColor; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.PrintWriter; import java.lang.reflect.Field; import javax.swing.UIManager; import javax.swing.plaf.ColorUIResource; import javax.swing.text.StyleContext; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; import javax.xml.transform.OutputKeys; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import org.w3c.dom.DOMImplementation; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.xml.sax.Attributes; import org.xml.sax.InputSource; import org.xml.sax.SAXException; import org.xml.sax.SAXParseException; import org.xml.sax.XMLReader; import org.xml.sax.helpers.DefaultHandler; import org.fife.io.UnicodeWriter; import org.fife.ui.rtextarea.Gutter; import org.fife.ui.rtextarea.RTextArea; /** * A theme is a set of fonts and colors to use to style RSyntaxTextArea. * Themes are defined in XML files that are validated against * themes.dtd. This provides applications and other consumers * with an easy way to style RSyntaxTextArea without having to use the API.

* * Sample themes are included in the source tree under the /themes * folder, but are not a part of the built RSyntaxTextArea jar. Hosting * applications are free to ship and use these themes as-is, modify them, or * create their own.

* * Note that to save a Theme via {@link #save(OutputStream)}, * you must currently create a Theme from a text area wrapped in * an RTextScrollPane, so that the color information for the * gutter can be retrieved. * * @author Robert Futrell * @version 1.0 */ public class Theme { private Font baseFont; private Color bgColor; private Color caretColor; private boolean useSelctionFG; private Color selectionFG; private Color selectionBG; private boolean selectionRoundedEdges; private Color currentLineHighlight; private boolean fadeCurrentLineHighlight; private Color marginLineColor; private Color markAllHighlightColor; private Color markOccurrencesColor; private boolean markOccurrencesBorder; private Color matchedBracketFG; private Color matchedBracketBG; private boolean matchedBracketHighlightBoth; private boolean matchedBracketAnimate; private Color hyperlinkFG; private Color[] secondaryLanguages; private SyntaxScheme scheme; private Color gutterBorderColor; private Color lineNumberColor; private String lineNumberFont; private int lineNumberFontSize; private Color foldIndicatorFG; private Color foldBG; /** * Private constructor, used when loading from a stream. * * @param baseFont The default font to use for any "base font" properties * not specified in the theme XML. If this is null, * a default monospaced font will be used. */ private Theme(Font baseFont) { this.baseFont = baseFont!=null ? baseFont : RTextArea.getDefaultFont(); secondaryLanguages = new Color[3]; } /** * Creates a theme from an RSyntaxTextArea. It should be contained in * an RTextScrollPane to get all gutter color information. * * @param textArea The text area. */ public Theme(RSyntaxTextArea textArea) { baseFont = textArea.getFont(); bgColor = textArea.getBackground(); caretColor = textArea.getCaretColor(); useSelctionFG = textArea.getUseSelectedTextColor(); selectionFG = textArea.getSelectedTextColor(); selectionBG = textArea.getSelectionColor(); selectionRoundedEdges = textArea.getRoundedSelectionEdges(); currentLineHighlight = textArea.getCurrentLineHighlightColor(); fadeCurrentLineHighlight = textArea.getFadeCurrentLineHighlight(); marginLineColor = textArea.getMarginLineColor(); markAllHighlightColor = textArea.getMarkAllHighlightColor(); markOccurrencesColor = textArea.getMarkOccurrencesColor(); markOccurrencesBorder = textArea.getPaintMarkOccurrencesBorder(); matchedBracketBG = textArea.getMatchedBracketBGColor(); matchedBracketFG = textArea.getMatchedBracketBorderColor(); matchedBracketHighlightBoth = textArea.getPaintMatchedBracketPair(); matchedBracketAnimate = textArea.getAnimateBracketMatching(); hyperlinkFG = textArea.getHyperlinkForeground(); int count = textArea.getSecondaryLanguageCount(); secondaryLanguages = new Color[count]; for (int i=0; i0 ? lineNumberFontSize : baseFont.getSize(); Font font = getFont(fontName, Font.PLAIN, fontSize); gutter.setLineNumberFont(font); gutter.setFoldIndicatorForeground(foldIndicatorFG); gutter.setFoldBackground(foldBG); } } private static final String colorToString(Color c) { int color = c.getRGB() & 0xffffff; String str = Integer.toHexString(color); while (str.length()<6) { str = "0" + str; } return str; } /** * Returns the default selection background color to use if "default" is * specified in a theme. * * @return The default selection background to use. * @see #getDefaultSelectionFG() */ private static final Color getDefaultBG() { Color c = UIManager.getColor("nimbusLightBackground"); if (c==null) { // Don't search for "text", as Nimbus defines that as the text // component "text" color, but Basic LAFs use it for text // component backgrounds! Nimbus also defines TextArea.background // as too dark, not what it actually uses for text area backgrounds c = UIManager.getColor("TextArea.background"); if (c==null) { c = new ColorUIResource(SystemColor.text); } } return c; } /** * Returns the default selection background color to use if "default" is * specified in a theme. * * @return The default selection background to use. * @see #getDefaultSelectionFG() */ private static final Color getDefaultSelectionBG() { Color c = UIManager.getColor("TextArea.selectionBackground"); if (c==null) { c = UIManager.getColor("textHighlight"); if (c==null) { c = UIManager.getColor("nimbusSelectionBackground"); if (c==null) { c = new ColorUIResource(SystemColor.textHighlight); } } } return c; } /** * Returns the default "selected text" color to use if "default" is * specified in a theme. * * @return The default selection foreground color to use. * @see #getDefaultSelectionBG() */ private static Color getDefaultSelectionFG() { Color c = UIManager.getColor("TextArea.selectionForeground"); if (c==null) { c = UIManager.getColor("textHighlightText"); if (c==null) { c = UIManager.getColor("nimbusSelectedText"); if (c==null) { c = new ColorUIResource(SystemColor.textHighlightText); } } } return c; } /** * Returns the specified font. * * @param family The font family. * @param style The style of font. * @param size The size of the font. * @return The font. */ private static Font getFont(String family, int style, int size) { // Use StyleContext to get a composite font for Asian glyphs. StyleContext sc = StyleContext.getDefaultStyleContext(); return sc.getFont(family, style, size); } /** * Loads a theme. * * @param in The input stream to read from. This will be closed when this * method returns. * @return The theme. * @throws IOException If an IO error occurs. * @see #save(OutputStream) */ public static Theme load(InputStream in) throws IOException { return load(in, null); } /** * Loads a theme. * * @param in The input stream to read from. This will be closed when this * method returns. * @param baseFont The default font to use for any "base font" properties * not specified in the theme XML. If this is null, * a default monospaced font will be used. * @return The theme. * @throws IOException If an IO error occurs. * @see #save(OutputStream) */ public static Theme load(InputStream in, Font baseFont) throws IOException { Theme theme = new Theme(baseFont); BufferedInputStream bin = new BufferedInputStream(in); try { XmlHandler.load(theme, bin); } finally { bin.close(); } return theme; } /** * Saves this theme to an output stream. * * @param out The output stream to write to. * @throws IOException If an IO error occurs. * @see #load(InputStream) */ public void save(OutputStream out) throws IOException { BufferedOutputStream bout = new BufferedOutputStream(out); try { DocumentBuilder db = DocumentBuilderFactory.newInstance(). newDocumentBuilder(); DOMImplementation impl = db.getDOMImplementation(); Document doc = impl.createDocument(null, "RSyntaxTheme", null); Element root = doc.getDocumentElement(); root.setAttribute("version", "1.0"); Element elem = doc.createElement("baseFont"); if (!baseFont.getFamily().equals( RSyntaxTextArea.getDefaultFont().getFamily())) { elem.setAttribute("family", baseFont.getFamily()); } elem.setAttribute("size", Integer.toString(baseFont.getSize())); root.appendChild(elem); elem = doc.createElement("background"); elem.setAttribute("color", colorToString(bgColor)); root.appendChild(elem); elem = doc.createElement("caret"); elem.setAttribute("color", colorToString(caretColor)); root.appendChild(elem); elem = doc.createElement("selection"); elem.setAttribute("useFG", Boolean.toString(useSelctionFG)); elem.setAttribute("fg", colorToString(selectionFG)); elem.setAttribute("bg", colorToString(selectionBG)); elem.setAttribute("roundedEdges", Boolean.toString(selectionRoundedEdges)); root.appendChild(elem); elem = doc.createElement("currentLineHighlight"); elem.setAttribute("color", colorToString(currentLineHighlight)); elem.setAttribute("fade", Boolean.toString(fadeCurrentLineHighlight)); root.appendChild(elem); elem = doc.createElement("marginLine"); elem.setAttribute("fg", colorToString(marginLineColor)); root.appendChild(elem); elem = doc.createElement("markAllHighlight"); elem.setAttribute("color", colorToString(markAllHighlightColor)); root.appendChild(elem); elem = doc.createElement("markOccurrencesHighlight"); elem.setAttribute("color", colorToString(markOccurrencesColor)); elem.setAttribute("border", Boolean.toString(markOccurrencesBorder)); root.appendChild(elem); elem = doc.createElement("matchedBracket"); elem.setAttribute("fg", colorToString(matchedBracketFG)); elem.setAttribute("bg", colorToString(matchedBracketBG)); elem.setAttribute("highlightBoth", Boolean.toString(matchedBracketHighlightBoth)); elem.setAttribute("animate", Boolean.toString(matchedBracketAnimate)); root.appendChild(elem); elem = doc.createElement("hyperlinks"); elem.setAttribute("fg", colorToString(hyperlinkFG)); root.appendChild(elem); elem = doc.createElement("secondaryLanguages"); for (int i=0; i0) { elem.setAttribute("lineNumberFontSize", Integer.toString(lineNumberFontSize)); } root.appendChild(elem); elem = doc.createElement("foldIndicator"); elem.setAttribute("fg", colorToString(foldIndicatorFG)); elem.setAttribute("iconBg", colorToString(foldBG)); root.appendChild(elem); elem = doc.createElement("tokenStyles"); Field[] fields = TokenTypes.class.getFields(); for (int i=0; i * "$00ff00" * "00ff00" * * will return new Color(0, 255, 0). * * @param s The string to evaluate. * @return The color. */ private static final Color stringToColor(String s) { return stringToColor(s, null); } /** * Returns the color represented by a string. The input is expected to * be a 6-digit hex string, optionally prefixed by a '$'. For example, * either of the following: *

	 * "$00ff00"
	 * "00ff00"
	 * 
* will return new Color(0, 255, 0). * * @param s The string to evaluate. * @param defaultVal The color to use if s is * "default". * @return The color. */ private static final Color stringToColor(String s, Color defaultVal) { if (s==null || "default".equalsIgnoreCase(s)) { return defaultVal; } if (s.length()==6 || s.length()==7) { if (s.charAt(0)=='$') { s = s.substring(1); } return new Color(Integer.parseInt(s, 16)); } return null; } /** * Loads a SyntaxScheme from an XML file. */ private static class XmlHandler extends DefaultHandler { private Theme theme; @Override public void error(SAXParseException e) throws SAXException { throw e; } @Override public void fatalError(SAXParseException e) throws SAXException { throw e; } public static void load(Theme theme, InputStream in) throws IOException { SAXParserFactory spf = SAXParserFactory.newInstance(); spf.setValidating(true); try { SAXParser parser = spf.newSAXParser(); XMLReader reader = parser.getXMLReader(); XmlHandler handler = new XmlHandler(); handler.theme = theme; reader.setEntityResolver(handler); reader.setContentHandler(handler); reader.setDTDHandler(handler); reader.setErrorHandler(handler); InputSource is = new InputSource(in); is.setEncoding("UTF-8"); reader.parse(is); } catch (/*SAX|ParserConfiguration*/Exception se) { se.printStackTrace(); throw new IOException(se.toString()); } } private static final int parseInt(Attributes attrs, String attr, int def) { int value = def; String temp = attrs.getValue(attr); if (temp != null) { try { value = Integer.parseInt(temp); } catch (NumberFormatException nfe) { nfe.printStackTrace(); } } return value; } @Override public InputSource resolveEntity(String publicID, String systemID) throws SAXException { return new InputSource(getClass(). getResourceAsStream("/theme.dtd")); } @Override public void startElement(String uri, String localName, String qName, Attributes attrs) { if ("background".equals(qName)) { String color = attrs.getValue("color"); if (color!=null) { theme.bgColor = stringToColor(color, getDefaultBG()); } else { String img = attrs.getValue("image"); if (img!=null) { throw new IllegalArgumentException("Not yet implemented"); } } } // The base font to use in the editor. else if ("baseFont".equals(qName)) { int size = theme.baseFont.getSize(); String sizeStr = attrs.getValue("size"); if (sizeStr!=null) { size = Integer.parseInt(sizeStr); } String family = attrs.getValue("family"); if (family!=null) { theme.baseFont = getFont(family, Font.PLAIN, size); } else if (sizeStr!=null) { // No family specified, keep original family theme.baseFont = theme.baseFont.deriveFont(size*1f); } } else if ("caret".equals(qName)) { String color = attrs.getValue("color"); theme.caretColor = stringToColor(color); } else if ("currentLineHighlight".equals(qName)) { String color = attrs.getValue("color"); theme.currentLineHighlight = stringToColor(color); String fadeStr = attrs.getValue("fade"); boolean fade = Boolean.valueOf(fadeStr).booleanValue(); theme.fadeCurrentLineHighlight = fade; } else if ("foldIndicator".equals(qName)) { String color = attrs.getValue("fg"); theme.foldIndicatorFG = stringToColor(color); color = attrs.getValue("iconBg"); theme.foldBG = stringToColor(color); } else if ("gutterBorder".equals(qName)) { String color = attrs.getValue("color"); theme.gutterBorderColor = stringToColor(color); } else if ("lineNumbers".equals(qName)) { String color = attrs.getValue("fg"); theme.lineNumberColor = stringToColor(color); theme.lineNumberFont = attrs.getValue("fontFamily"); theme.lineNumberFontSize = parseInt(attrs, "fontSize", -1); } else if ("marginLine".equals(qName)) { String color = attrs.getValue("fg"); theme.marginLineColor = stringToColor(color); } else if ("markAllHighlight".equals(qName)) { String color = attrs.getValue("color"); theme.markAllHighlightColor = stringToColor(color); } else if ("markOccurrencesHighlight".equals(qName)) { String color = attrs.getValue("color"); theme.markOccurrencesColor = stringToColor(color); String border = attrs.getValue("border"); theme.markOccurrencesBorder = Boolean.valueOf(border).booleanValue(); } else if ("matchedBracket".equals(qName)) { String fg = attrs.getValue("fg"); theme.matchedBracketFG = stringToColor(fg); String bg = attrs.getValue("bg"); theme.matchedBracketBG = stringToColor(bg); String highlightBoth = attrs.getValue("highlightBoth"); theme.matchedBracketHighlightBoth = Boolean.valueOf(highlightBoth).booleanValue(); String animate = attrs.getValue("animate"); theme.matchedBracketAnimate = Boolean.valueOf(animate).booleanValue(); } else if ("hyperlinks".equals(qName)) { String fg = attrs.getValue("fg"); theme.hyperlinkFG = stringToColor(fg); } else if ("language".equals(qName)) { String indexStr = attrs.getValue("index"); int index = Integer.parseInt(indexStr) - 1; if (theme.secondaryLanguages.length>index) { // Sanity Color bg = stringToColor(attrs.getValue("bg")); theme.secondaryLanguages[index] = bg; } } else if ("selection".equals(qName)) { String useStr = attrs.getValue("useFG"); theme.useSelctionFG = Boolean.valueOf(useStr).booleanValue(); String color = attrs.getValue("fg"); theme.selectionFG = stringToColor(color, getDefaultSelectionFG()); //System.out.println(theme.selectionFG); color = attrs.getValue("bg"); theme.selectionBG = stringToColor(color, getDefaultSelectionBG()); String roundedStr = attrs.getValue("roundedEdges"); theme.selectionRoundedEdges = Boolean.valueOf(roundedStr). booleanValue(); } // Start of the syntax scheme definition else if ("tokenStyles".equals(qName)) { theme.scheme = new SyntaxScheme(theme.baseFont, false); } // A style in the syntax scheme else if ("style".equals(qName)) { String type = attrs.getValue("token"); Field field = null; try { field = Token.class.getField(type); } catch (RuntimeException re) { throw re; // FindBugs } catch (Exception e) { System.err.println("Invalid token type: " + type); return; } if (field.getType()==int.class) { int index = 0; try { index = field.getInt(theme.scheme); } catch (IllegalArgumentException e) { e.printStackTrace(); return; } catch (IllegalAccessException e) { e.printStackTrace(); return; } String fgStr = attrs.getValue("fg"); Color fg = stringToColor(fgStr); theme.scheme.getStyle(index).foreground = fg; String bgStr = attrs.getValue("bg"); Color bg = stringToColor(bgStr); theme.scheme.getStyle(index).background = bg; Font font = theme.baseFont; String familyName = attrs.getValue("fontFamily"); if (familyName!=null) { font = getFont(familyName, font.getStyle(), font.getSize()); } String sizeStr = attrs.getValue("fontSize"); if (sizeStr!=null) { try { float size = Float.parseFloat(sizeStr); size = Math.max(size, 1f); font = font.deriveFont(size); } catch (NumberFormatException nfe) { nfe.printStackTrace(); } } theme.scheme.getStyle(index).font = font; boolean styleSpecified = false; boolean bold = false; boolean italic = false; String boldStr = attrs.getValue("bold"); if (boldStr!=null) { bold = Boolean.valueOf(boldStr).booleanValue(); styleSpecified = true; } String italicStr = attrs.getValue("italic"); if (italicStr!=null) { italic = Boolean.valueOf(italicStr).booleanValue(); styleSpecified = true; } if (styleSpecified) { int style = 0; if (bold) { style |= Font.BOLD; } if (italic) { style |= Font.ITALIC; } Font orig = theme.scheme.getStyle(index).font; theme.scheme.getStyle(index).font = orig.deriveFont(style); } String ulineStr = attrs.getValue("underline"); if (ulineStr!=null) { boolean uline= Boolean.valueOf(ulineStr).booleanValue(); theme.scheme.getStyle(index).underline = uline; } } } } @Override public void warning(SAXParseException e) throws SAXException { throw e; } } }rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/TokenFactory.java0000644000175000001440000000345112201172642026033 0ustar benusers/* * 10/28/2004 * * TokenFactory.java - Interface for a class that generates tokens of some type. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea; import javax.swing.text.Segment; /** * Interface for a class that generates tokens somehow. * * @author Robert Futrell * @version 0.1 */ interface TokenFactory { /** * Returns a null token. * * @return A null token. */ public 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. * @return The token. */ public 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. * @return The token. */ public 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. */ public void resetAllTokens(); }rsyntaxtextarea-2.5.0.orig/src/org/fife/ui/rsyntaxtextarea/RSyntaxUtilities.java0000644000175000001440000011760712203237526026745 0ustar benusers/* * 08/06/2004 * * RSyntaxUtilities.java - Utility methods used by RSyntaxTextArea and its * views. * * This library is distributed under a modified BSD license. See the included * RSyntaxTextArea.License.txt file for details. */ package org.fife.ui.rsyntaxtextarea; import java.awt.Color; import java.awt.Container; import java.awt.Point; import java.awt.Rectangle; import java.awt.Shape; import java.awt.Toolkit; import java.util.Map; import java.util.regex.Pattern; import java.util.regex.PatternSyntaxException; import javax.swing.*; import javax.swing.text.BadLocationException; import javax.swing.text.Caret; import javax.swing.text.Document; import javax.swing.text.Element; import javax.swing.text.Position; import javax.swing.text.Segment; import javax.swing.text.TabExpander; import javax.swing.text.View; import org.fife.ui.rsyntaxtextarea.TokenUtils.TokenSubList; import org.fife.ui.rsyntaxtextarea.folding.FoldManager; import org.fife.ui.rtextarea.Gutter; import org.fife.ui.rtextarea.RTextArea; import org.fife.ui.rtextarea.RTextScrollPane; /** * Utility methods used by RSyntaxTextArea and its associated * classes. * * @author Robert Futrell * @version 0.2 */ public class RSyntaxUtilities implements SwingConstants { /** * Integer constant representing a Windows-variant OS. */ public static final int OS_WINDOWS = 1; /** * Integer constant representing Mac OS X. */ public static final int OS_MAC_OSX = 2; /** * Integer constant representing Linux. */ 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.). */ public static final int OS_OTHER = 8; private static final int OS = getOSImpl(); //private static final int DIGIT_MASK = 1; private static final int LETTER_MASK = 2; //private static final int WHITESPACE_MASK = 4; //private static final int UPPER_CASE_MASK = 8; private static final int HEX_CHARACTER_MASK = 16; private static final int LETTER_OR_DIGIT_MASK = 32; 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. */ private static final int[] dataTable = { 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 4, 128, 0, 0, 0, 128, 128, 0, 64, 64, 128, 128, 0, 128, 0, 128, // 32-47 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 128, 0, 128, 128, 128, 128, // 48-63 0, 58, 58, 58, 58, 58, 58, 42, 42, 42, 42, 42, 42, 42, 42, 42, // 64-79 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 64, 0, 64, 128, 0, // 80-95 0, 50, 50, 50, 50, 50, 50, 34, 34, 34, 34, 34, 34, 34, 34, 34, // 96-111 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 64, 128, 64, 128, 0, // 112-127 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 128-143 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 144- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 160- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 176- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 192- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 208- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 224- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 // 240-255. }; /** * Used in bracket matching methods. */ private static Segment charSegment = new Segment(); /** * Used in token list manipulation methods. */ private static final TokenImpl tempToken = new TokenImpl(); /** * Used internally. */ private static final char[] JS_KEYWORD_RETURN = { 'r', 'e', 't', 'u', 'r', 'n' }; /** * Used internally. */ private static final String BRACKETS = "{([})]"; /** * Returns a string with characters that are special to HTML (such as * <, > 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 " ". * @return The escaped version of s. */ public static final String escapeForHtml(String s, String newlineReplacement, boolean inPreBlock) { if (s==null) { return null; } if (newlineReplacement==null) { newlineReplacement = ""; } final String tabString = " "; boolean lastWasSpace = false; StringBuilder sb = new StringBuilder(); for (int i=0; i': 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. * * @return The rendering hints, or null if they cannot be * determined. */ 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. * @return The color to use. */ public static Color getFoldedLineBottomColor(RSyntaxTextArea textArea) { Color color = Color.gray; Gutter gutter = RSyntaxUtilities.getGutter(textArea); if (gutter!=null) { color = gutter.getFoldIndicatorForeground(); } return color; } /** * 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}. * @see RTextScrollPane#getGutter() */ public static Gutter getGutter(RTextArea textArea) { Gutter gutter = null; Container parent = textArea.getParent(); if (parent instanceof JViewport) { parent = parent.getParent(); if (parent instanceof RTextScrollPane) { RTextScrollPane sp = (RTextScrollPane)parent; gutter = sp.getGutter(); // Should always be non-null } } return gutter; } /** * Returns the leading whitespace of a string. * * @param text The String to check. * @return The leading whitespace. * @see #getLeadingWhitespace(Document, int) */ public static String getLeadingWhitespace(String text) { int count = 0; int len = text.length(); while (countoffs is not a valid offset * in the document. * @see #getLeadingWhitespace(String) */ public static String getLeadingWhitespace(Document doc, int offs) throws BadLocationException { Element root = doc.getDefaultRootElement(); int line = root.getElementIndex(offs); Element elem = root.getElement(line); int startOffs = elem.getStartOffset(); int endOffs = elem.getEndOffset() - 1; String text = doc.getText(startOffs, endOffs-startOffs); return getLeadingWhitespace(text); } private static final Element getLineElem(Document d, int offs) { Element map = d.getDefaultRootElement(); int index = map.getElementIndex(offs); Element elem = map.getElement(index); if ((offs>=elem.getStartOffset()) && (offsp0, 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. * @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. */ 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) throw new BadLocationException("Invalid document position", p0); else if (p1>doc.getLength()) throw new BadLocationException("Invalid document position", p1); // Ensure p0 and p1 are in the same line, and get the start/end // offsets for that line. Element map = doc.getDefaultRootElement(); int lineNum = map.getElementIndex(p0); // We do ">1" because p1 might be the first position on the next line // or the last position on the previous one. // if (lineNum!=map.getElementIndex(p1)) if (Math.abs(lineNum-map.getElementIndex(p1))>1) throw new IllegalArgumentException("p0 and p1 are not on the " + "same line (" + p0 + ", " + p1 + ")."); // Get the token list. Token t = doc.getTokenListForLine(lineNum); // Modify the token list 't' to begin at p0 (but still have correct // token types, etc.), and get the x-location (in pixels) of the // beginning of this new token list. TokenSubList subList = TokenUtils.getSubTokenList(t, p0, e, textArea, 0, tempToken); t = subList.tokenList; 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. * * @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) { input = new Point(); } input.setLocation(-1, -1); try { // Actually position just BEFORE caret. int caretPosition = textArea.getCaretPosition() - 1; RSyntaxDocument doc = (RSyntaxDocument)textArea.getDocument(); char bracket = 0; // If the caret was at offset 0, we can't check "to its left." if (caretPosition>=0) { bracket = doc.charAt(caretPosition); } // Try to match a bracket "to the right" of the caret if one // was not found on the left. int index = BRACKETS.indexOf(bracket); if (index==-1 && caretPosition