/* The following code was generated by JFlex 1.4.3 on 2/20/11 4:11 PM */ package com.innovatian.idea.powershell.lang.lexer; import com.intellij.lexer.FlexLexer; import com.intellij.psi.tree.IElementType; import java.util.*; import java.lang.reflect.Field; import org.jetbrains.annotations.NotNull; /** * This class is a scanner generated by * <a href="http://www.jflex.de/">JFlex</a> 1.4.3 * on 2/20/11 4:11 PM from the specification file * <tt>PowerShell.flex</tt> */ class _PowerShellLexer implements FlexLexer, PsTokenTypes { /** initial size of the lookahead buffer */ private static final int ZZ_BUFFERSIZE = 16384; /** lexical states */ public static final int IN_IDENT_DOLLAR = 2; public static final int IN_SINGLE_EXPSTRING = 8; public static final int IN_INNER_BLOCK = 18; public static final int IN_SINGLE_IDENT = 10; public static final int NLS_AFTER_LBRACE = 16; public static final int YYINITIAL = 0; public static final int IN_SINGLE_DOT = 12; public static final int IN_INNER_IDENT_BLOCK = 4; public static final int IN_SINGLE_EXPSTRING_DOLLAR = 6; public static final int IN_SINGLE_QUOTESTRING = 14; /** * ZZ_LEXSTATE[l] is the state in the DFA for the lexical state l * ZZ_LEXSTATE[l+1] is the state in the DFA for the lexical state l * at the beginning of a line * l is of the form l = 2*k, k a non negative integer */ private static final int ZZ_LEXSTATE[] = { 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8 }; /** * Translates characters to character classes */ private static final String ZZ_CMAP_PACKED = "\11\0\1\3\1\2\1\0\1\3\1\17\22\0\1\3\1\0\1\21"+ "\1\25\1\22\1\57\1\0\1\7\1\1\1\60\1\24\1\56\1\63"+ "\1\4\1\26\1\23\1\12\11\10\1\6\1\64\1\55\1\53\1\54"+ "\2\0\1\67\1\27\1\37\1\44\1\30\1\11\1\31\1\41\1\32"+ "\1\72\1\36\1\45\1\51\1\33\1\42\1\50\1\66\1\34\1\46"+ "\1\40\1\43\1\71\1\52\1\13\1\47\1\5\1\61\1\20\1\62"+ "\1\65\1\14\1\0\1\35\1\27\1\37\1\44\1\30\1\11\1\31"+ "\1\41\1\32\1\72\1\36\1\45\1\51\1\33\1\42\1\50\1\66"+ "\1\34\1\70\1\40\1\43\1\71\1\52\1\13\1\47\1\5\1\15"+ "\1\0\1\16\54\0\1\0\12\0\1\0\4\0\1\0\5\0\27\0"+ "\1\0\37\0\1\0\u013f\0\31\0\162\0\4\0\14\0\16\0\5\0"+ "\11\0\1\0\213\0\1\0\13\0\1\0\1\0\3\0\1\0\1\0"+ "\1\0\24\0\1\0\54\0\1\0\46\0\1\0\5\0\4\0\202\0"+ "\10\0\105\0\1\0\46\0\2\0\2\0\6\0\20\0\41\0\46\0"+ "\2\0\1\0\7\0\47\0\110\0\33\0\5\0\3\0\56\0\32\0"+ "\5\0\13\0\43\0\2\0\1\0\143\0\1\0\1\0\17\0\2\0"+ "\7\0\2\0\12\0\3\0\2\0\1\0\20\0\1\0\1\0\36\0"+ "\35\0\3\0\60\0\46\0\13\0\1\0\u0152\0\66\0\3\0\1\0"+ "\22\0\1\0\7\0\12\0\43\0\10\0\2\0\2\0\2\0\26\0"+ "\1\0\7\0\1\0\1\0\3\0\4\0\3\0\1\0\36\0\2\0"+ "\1\0\3\0\16\0\2\0\23\0\6\0\4\0\2\0\2\0\26\0"+ "\1\0\7\0\1\0\2\0\1\0\2\0\1\0\2\0\37\0\4\0"+ "\1\0\1\0\23\0\3\0\20\0\11\0\1\0\3\0\1\0\26\0"+ "\1\0\7\0\1\0\2\0\1\0\5\0\3\0\1\0\22\0\1\0"+ "\17\0\2\0\43\0\10\0\2\0\2\0\2\0\26\0\1\0\7\0"+ "\1\0\2\0\1\0\5\0\3\0\1\0\36\0\2\0\1\0\3\0"+ "\17\0\1\0\21\0\1\0\1\0\6\0\3\0\3\0\1\0\4\0"+ "\3\0\2\0\1\0\1\0\1\0\2\0\3\0\2\0\3\0\3\0"+ "\3\0\10\0\1\0\3\0\113\0\10\0\1\0\3\0\1\0\27\0"+ "\1\0\12\0\1\0\5\0\46\0\2\0\43\0\10\0\1\0\3\0"+ "\1\0\27\0\1\0\12\0\1\0\5\0\3\0\1\0\40\0\1\0"+ "\1\0\2\0\43\0\10\0\1\0\3\0\1\0\27\0\1\0\20\0"+ "\46\0\2\0\43\0\22\0\3\0\30\0\1\0\11\0\1\0\1\0"+ "\2\0\7\0\72\0\60\0\1\0\2\0\14\0\7\0\72\0\2\0"+ "\1\0\1\0\2\0\2\0\1\0\1\0\2\0\1\0\6\0\4\0"+ "\1\0\7\0\1\0\3\0\1\0\1\0\1\0\1\0\2\0\2\0"+ "\1\0\4\0\1\0\2\0\11\0\1\0\2\0\5\0\1\0\1\0"+ "\25\0\2\0\42\0\1\0\77\0\10\0\1\0\42\0\35\0\4\0"+ "\164\0\42\0\1\0\5\0\1\0\2\0\45\0\6\0\112\0\46\0"+ "\12\0\51\0\7\0\132\0\5\0\104\0\5\0\122\0\6\0\7\0"+ "\1\0\77\0\1\0\1\0\1\0\4\0\2\0\7\0\1\0\1\0"+ "\1\0\4\0\2\0\47\0\1\0\1\0\1\0\4\0\2\0\37\0"+ "\1\0\1\0\1\0\4\0\2\0\7\0\1\0\1\0\1\0\4\0"+ "\2\0\7\0\1\0\7\0\1\0\27\0\1\0\37\0\1\0\1\0"+ "\1\0\4\0\2\0\7\0\1\0\47\0\1\0\23\0\105\0\125\0"+ "\14\0\u026c\0\2\0\10\0\12\0\32\0\5\0\113\0\25\0\15\0"+ "\1\0\4\0\16\0\22\0\16\0\22\0\16\0\15\0\1\0\3\0"+ "\17\0\64\0\43\0\1\0\4\0\1\0\103\0\130\0\10\0\51\0"+ "\127\0\35\0\63\0\36\0\2\0\5\0\u038b\0\154\0\224\0\234\0"+ "\4\0\132\0\6\0\26\0\2\0\6\0\2\0\46\0\2\0\6\0"+ "\2\0\10\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\37\0"+ "\2\0\65\0\1\0\7\0\1\0\1\0\3\0\3\0\1\0\7\0"+ "\3\0\4\0\2\0\6\0\4\0\15\0\5\0\3\0\1\0\7\0"+ "\164\0\1\0\15\0\1\0\202\0\1\0\4\0\1\0\2\0\12\0"+ "\1\0\1\0\3\0\5\0\6\0\1\0\1\0\1\0\1\0\1\0"+ "\1\0\4\0\1\0\3\0\1\0\7\0\3\0\3\0\5\0\5\0"+ "\u0ebb\0\2\0\52\0\5\0\5\0\2\0\4\0\126\0\6\0\3\0"+ "\1\0\132\0\1\0\4\0\5\0\50\0\4\0\136\0\21\0\30\0"+ "\70\0\20\0\u0200\0\u19b6\0\112\0\u51a6\0\132\0\u048d\0\u0773\0\u2ba4\0"+ "\u215c\0\u012e\0\2\0\73\0\225\0\7\0\14\0\5\0\5\0\1\0"+ "\1\0\12\0\1\0\15\0\1\0\5\0\1\0\1\0\1\0\2\0"+ "\1\0\2\0\1\0\154\0\41\0\u016b\0\22\0\100\0\2\0\66\0"+ "\50\0\14\0\164\0\5\0\1\0\207\0\44\0\32\0\6\0\32\0"+ "\13\0\131\0\3\0\6\0\2\0\6\0\2\0\6\0\2\0\3\0"+ "\43\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\1\3\1\4\1\5\1\6\1\1"+ "\1\7\1\1\1\7\1\10\1\11\1\1\1\12\1\1"+ "\1\13\1\14\1\15\1\16\5\1\1\17\4\1\1\17"+ "\10\1\1\20\1\21\1\22\1\23\1\24\1\25\1\26"+ "\1\27\1\30\1\31\1\32\1\1\1\33\1\34\1\1"+ "\1\35\1\36\1\37\1\40\1\41\1\1\1\41\1\42"+ "\1\43\1\44\1\36\1\1\1\2\1\4\1\5\1\6"+ "\1\1\1\7\1\1\1\7\1\45\1\1\1\12\1\1"+ "\1\13\1\14\6\1\1\17\4\1\1\17\10\1\1\20"+ "\1\21\1\22\1\23\1\24\1\25\1\26\1\27\1\30"+ "\1\31\1\32\1\1\13\0\1\46\2\0\1\17\3\0"+ "\1\4\2\0\1\47\1\50\1\51\1\52\1\53\13\0"+ "\1\17\3\0\1\17\1\0\1\54\1\0\1\55\4\0"+ "\1\17\1\0\2\17\6\0\1\17\13\0\1\56\5\0"+ "\2\17\12\0\1\57\1\60\1\61\2\0\1\62\1\0"+ "\1\63\1\0\1\64\12\0\1\46\1\64\2\0\1\17"+ "\4\0\1\64\1\0\1\47\1\50\1\51\1\52\1\53"+ "\13\0\1\17\3\0\1\17\1\0\1\54\1\0\1\55"+ "\4\0\1\17\1\0\2\17\6\0\1\17\13\0\1\56"+ "\5\0\2\17\12\0\1\57\1\60\1\61\1\0\1\65"+ "\1\66\6\0\1\67\1\0\1\70\12\0\1\71\1\0"+ "\1\72\1\0\1\73\2\0\1\74\1\0\1\7\1\52"+ "\1\75\4\0\1\76\13\0\1\17\7\0\1\17\4\0"+ "\1\17\2\0\1\77\10\0\1\17\25\0\1\65\1\66"+ "\6\0\1\67\1\0\1\70\12\0\1\71\1\0\1\72"+ "\1\0\1\73\2\0\1\74\1\0\1\7\1\52\1\75"+ "\4\0\1\76\13\0\1\17\7\0\1\17\4\0\1\17"+ "\2\0\1\77\10\0\1\17\25\0\1\100\1\101\1\102"+ "\1\103\3\0\1\104\1\0\1\105\4\0\1\106\1\107"+ "\1\110\1\111\4\0\1\112\1\0\1\113\10\0\1\52"+ "\2\0\1\114\1\0\1\115\20\0\1\17\5\0\1\116"+ "\5\0\1\117\16\0\1\100\1\101\1\102\1\103\3\0"+ "\1\104\1\0\1\105\4\0\1\106\1\107\1\110\1\111"+ "\4\0\1\112\1\0\1\113\10\0\1\52\2\0\1\114"+ "\1\0\1\115\20\0\1\17\5\0\1\116\5\0\1\117"+ "\36\0\1\120\6\0\1\52\1\0\1\121\1\122\40\0"+ "\1\123\4\0\1\17\2\0\1\124\7\0\1\125\11\0"+ "\1\126\1\0\1\17\1\127\20\0\1\120\6\0\1\52"+ "\1\0\1\121\1\122\40\0\1\123\4\0\1\17\2\0"+ "\1\124\7\0\1\125\11\0\1\126\1\0\1\17\1\127"+ "\5\0\1\130\1\131\13\0\1\132\1\0\1\133\1\0"+ "\1\134\4\0\1\135\37\0\1\136\23\0\1\17\4\0"+ "\1\137\10\0\1\130\1\131\13\0\1\132\1\0\1\133"+ "\1\0\1\134\4\0\1\135\37\0\1\136\23\0\1\17"+ "\4\0\1\137\10\0\1\140\12\0\1\141\1\142\6\0"+ "\1\143\52\0\1\144\13\0\1\140\12\0\1\141\1\142"+ "\6\0\1\143\52\0\1\144\14\0\1\145\1\0\1\146"+ "\12\0\1\147\3\0\1\143\30\0\1\150\30\0\1\145"+ "\1\0\1\146\12\0\1\147\3\0\1\143\30\0\1\150"+ "\23\0\1\151\1\0\1\152\2\0\1\153\1\0\1\154"+ "\1\0\1\155\1\0\1\156\54\0\1\151\1\0\1\152"+ "\2\0\1\153\1\0\1\154\1\0\1\155\1\0\1\156"+ "\54\0\1\157\1\160\2\0\1\161\1\162\33\0\1\157"+ "\1\160\2\0\1\161\1\162\107\0\1\163\16\0\1\163"+ "\15\0\1\164\1\165\10\0\1\164\1\165\52\0"; private static int [] zzUnpackAction() { int [] result = new int[1612]; 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\u019d\0\u019d\0\u0213\0\u019d\0\u024e\0\u019d\0\u0289"+ "\0\u02c4\0\u02ff\0\u033a\0\u019d\0\u019d\0\u0375\0\u03b0\0\u03eb"+ "\0\u0426\0\u019d\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\u08c2\0\u08fd\0\u0938"+ "\0\u0973\0\u09ae\0\u019d\0\u019d\0\u019d\0\u019d\0\u019d\0\u019d"+ "\0\u019d\0\u019d\0\u09e9\0\u0a24\0\u019d\0\u0a5f\0\u019d\0\u019d"+ "\0\u0a9a\0\u019d\0\u0ad5\0\u0b10\0\u0b4b\0\u019d\0\u019d\0\u0b86"+ "\0\u0bc1\0\u0bfc\0\u0bfc\0\u0bfc\0\u0c37\0\u0bfc\0\u0c72\0\u0cad"+ "\0\u0ce8\0\u0d23\0\u019d\0\u0d5e\0\u0d99\0\u0dd4\0\u0e0f\0\u0bfc"+ "\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\u0bfc"+ "\0\u0bfc\0\u0bfc\0\u0bfc\0\u0bfc\0\u0bfc\0\u0bfc\0\u0bfc\0\u1397"+ "\0\u13d2\0\u140d\0\u1448\0\u1483\0\u14be\0\u14f9\0\u1534\0\u156f"+ "\0\u15aa\0\u15e5\0\u0289\0\u019d\0\u1620\0\u165b\0\u019d\0\u1696"+ "\0\u16d1\0\u170c\0\u1747\0\u03b0\0\u1782\0\u019d\0\u019d\0\u019d"+ "\0\u17bd\0\u17f8\0\u1833\0\u186e\0\u18a9\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\u019d\0\u1c1e\0\u1c59\0\u1c94\0\u1ccf"+ "\0\u1d0a\0\u1d45\0\u1b32\0\u1d80\0\u1dbb\0\u1df6\0\u1e31\0\u1e6c"+ "\0\u1ea7\0\u1dbb\0\u1ee2\0\u1f1d\0\u1d45\0\u1df6\0\u1f58\0\u1f93"+ "\0\u1fce\0\u2009\0\u2044\0\u207f\0\u20ba\0\u20f5\0\u2130\0\u216b"+ "\0\u019d\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\u246a\0\u24a5\0\u24e0"+ "\0\u251b\0\u2556\0\u019d\0\u019d\0\u019d\0\u2591\0\u0a5f\0\u019d"+ "\0\u25cc\0\u0bc1\0\u0bfc\0\u019d\0\u2607\0\u2642\0\u267d\0\u26b8"+ "\0\u26f3\0\u272e\0\u2769\0\u27a4\0\u27df\0\u0c72\0\u0bfc\0\u0289"+ "\0\u281a\0\u2855\0\u0bfc\0\u2890\0\u28cb\0\u2906\0\u0d99\0\u03b0"+ "\0\u2941\0\u0bfc\0\u0bfc\0\u0bfc\0\u297c\0\u29b7\0\u29f2\0\u2a2d"+ "\0\u2a68\0\u2aa3\0\u2ade\0\u2b19\0\u2b54\0\u2b8f\0\u2bca\0\u2c05"+ "\0\u2c40\0\u2c7b\0\u2cb6\0\u2cf1\0\u2d2c\0\u2d67\0\u2da2\0\u0bfc"+ "\0\u2ddd\0\u2e18\0\u2e53\0\u2e8e\0\u2ec9\0\u2f04\0\u2cf1\0\u2f3f"+ "\0\u2f7a\0\u2fb5\0\u2ff0\0\u302b\0\u3066\0\u2f7a\0\u30a1\0\u30dc"+ "\0\u2f04\0\u2fb5\0\u3117\0\u3152\0\u318d\0\u31c8\0\u3203\0\u323e"+ "\0\u3279\0\u32b4\0\u32ef\0\u332a\0\u0bfc\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\u3629\0\u3664\0\u369f\0\u36da\0\u3715\0\u0bfc\0\u0bfc"+ "\0\u0bfc\0\u3750\0\u019d\0\u019d\0\u378b\0\u37c6\0\u3801\0\u383c"+ "\0\u3877\0\u38b2\0\u38ed\0\u3928\0\u019d\0\u3963\0\u399e\0\u39d9"+ "\0\u3a14\0\u3a4f\0\u3a8a\0\u3ac5\0\u3b00\0\u3b3b\0\u3b76\0\u019d"+ "\0\u3bb1\0\u019d\0\u3bec\0\u019d\0\u3c27\0\u3c62\0\u3c9d\0\u3cd8"+ "\0\u170c\0\u3d13\0\u019d\0\u3d4e\0\u3d89\0\u3dc4\0\u3dff\0\u019d"+ "\0\u3e3a\0\u3e75\0\u3eb0\0\u3eeb\0\u3f26\0\u3f61\0\u3f9c\0\u3fd7"+ "\0\u4012\0\u404d\0\u4088\0\u40c3\0\u40fe\0\u4139\0\u4174\0\u41af"+ "\0\u41ea\0\u4225\0\u4260\0\u429b\0\u42d6\0\u4311\0\u434c\0\u4387"+ "\0\u43c2\0\u43fd\0\u4438\0\u019d\0\u4473\0\u44ae\0\u44e9\0\u4524"+ "\0\u455f\0\u459a\0\u45d5\0\u4610\0\u464b\0\u4686\0\u46c1\0\u46fc"+ "\0\u4737\0\u4772\0\u47ad\0\u47e8\0\u4823\0\u1ba8\0\u485e\0\u4899"+ "\0\u48d4\0\u490f\0\u494a\0\u4985\0\u49c0\0\u49fb\0\u4a36\0\u4a71"+ "\0\u4aac\0\u4ae7\0\u0bfc\0\u0bfc\0\u4b22\0\u4b5d\0\u4b98\0\u4bd3"+ "\0\u4c0e\0\u4c49\0\u4c84\0\u4cbf\0\u0bfc\0\u4cfa\0\u4d35\0\u4d70"+ "\0\u4dab\0\u4de6\0\u4e21\0\u4e5c\0\u4e97\0\u4ed2\0\u4f0d\0\u0bfc"+ "\0\u4f48\0\u0bfc\0\u4f83\0\u0bfc\0\u4fbe\0\u4ff9\0\u5034\0\u506f"+ "\0\u2906\0\u50aa\0\u0bfc\0\u50e5\0\u5120\0\u515b\0\u5196\0\u0bfc"+ "\0\u51d1\0\u520c\0\u5247\0\u5282\0\u52bd\0\u52f8\0\u5333\0\u536e"+ "\0\u53a9\0\u53e4\0\u541f\0\u545a\0\u5495\0\u54d0\0\u550b\0\u5546"+ "\0\u5581\0\u55bc\0\u55f7\0\u5632\0\u566d\0\u56a8\0\u56e3\0\u571e"+ "\0\u5759\0\u5794\0\u57cf\0\u0bfc\0\u580a\0\u5845\0\u5880\0\u58bb"+ "\0\u58f6\0\u5931\0\u596c\0\u59a7\0\u59e2\0\u5a1d\0\u5a58\0\u5a93"+ "\0\u5ace\0\u5b09\0\u5b44\0\u5b7f\0\u5bba\0\u2d67\0\u5bf5\0\u5c30"+ "\0\u5c6b\0\u5ca6\0\u5ce1\0\u5d1c\0\u5d57\0\u5d92\0\u5dcd\0\u5e08"+ "\0\u5e43\0\u5e7e\0\u019d\0\u019d\0\u019d\0\u019d\0\u5eb9\0\u5ef4"+ "\0\u5f2f\0\u019d\0\u5f6a\0\u019d\0\u5fa5\0\u5fe0\0\u601b\0\u6056"+ "\0\u019d\0\u019d\0\u019d\0\u019d\0\u6091\0\u60cc\0\u6107\0\u6142"+ "\0\u019d\0\u617d\0\u019d\0\u61b8\0\u61f3\0\u622e\0\u6269\0\u62a4"+ "\0\u62df\0\u631a\0\u6355\0\u6390\0\u63cb\0\u6406\0\u019d\0\u6441"+ "\0\u647c\0\u64b7\0\u64f2\0\u652d\0\u6568\0\u65a3\0\u65de\0\u6619"+ "\0\u6654\0\u668f\0\u66ca\0\u6705\0\u6740\0\u677b\0\u67b6\0\u67f1"+ "\0\u682c\0\u6867\0\u68a2\0\u68dd\0\u6918\0\u6953\0\u698e\0\u019d"+ "\0\u69c9\0\u6a04\0\u6a3f\0\u6a7a\0\u6ab5\0\u019d\0\u6af0\0\u6b2b"+ "\0\u6b66\0\u6ba1\0\u6bdc\0\u6c17\0\u6c52\0\u6c8d\0\u6cc8\0\u6d03"+ "\0\u6d3e\0\u6d79\0\u6db4\0\u6def\0\u0bfc\0\u0bfc\0\u0bfc\0\u0bfc"+ "\0\u6e2a\0\u6e65\0\u6ea0\0\u0bfc\0\u6edb\0\u0bfc\0\u6f16\0\u6f51"+ "\0\u6f8c\0\u6fc7\0\u0bfc\0\u0bfc\0\u0bfc\0\u0bfc\0\u7002\0\u703d"+ "\0\u7078\0\u70b3\0\u0bfc\0\u70ee\0\u0bfc\0\u7129\0\u7164\0\u719f"+ "\0\u71da\0\u7215\0\u7250\0\u728b\0\u72c6\0\u7301\0\u733c\0\u7377"+ "\0\u0bfc\0\u73b2\0\u73ed\0\u7428\0\u7463\0\u749e\0\u74d9\0\u7514"+ "\0\u754f\0\u758a\0\u75c5\0\u7600\0\u763b\0\u7676\0\u76b1\0\u76ec"+ "\0\u7727\0\u7762\0\u779d\0\u77d8\0\u7813\0\u784e\0\u7889\0\u78c4"+ "\0\u78ff\0\u0bfc\0\u793a\0\u7975\0\u79b0\0\u79eb\0\u7a26\0\u0bfc"+ "\0\u7a61\0\u7a9c\0\u7ad7\0\u7b12\0\u7b4d\0\u7b88\0\u7bc3\0\u7bfe"+ "\0\u7c39\0\u7c74\0\u7caf\0\u7cea\0\u7d25\0\u7d60\0\u7d9b\0\u7dd6"+ "\0\u7e11\0\u7e4c\0\u7e87\0\u7ec2\0\u7efd\0\u7f38\0\u7f73\0\u7fae"+ "\0\u7fe9\0\u8024\0\u805f\0\u809a\0\u80d5\0\u8110\0\u019d\0\u814b"+ "\0\u8186\0\u81c1\0\u81fc\0\u8237\0\u8272\0\u019d\0\u6390\0\u019d"+ "\0\u019d\0\u82ad\0\u82e8\0\u8323\0\u835e\0\u8399\0\u83d4\0\u840f"+ "\0\u844a\0\u8485\0\u84c0\0\u84fb\0\u8536\0\u8571\0\u85ac\0\u85e7"+ "\0\u8622\0\u865d\0\u8698\0\u86d3\0\u870e\0\u8749\0\u8784\0\u87bf"+ "\0\u87fa\0\u8835\0\u8870\0\u88ab\0\u88e6\0\u8921\0\u895c\0\u8997"+ "\0\u89d2\0\u019d\0\u8a0d\0\u8a48\0\u8a83\0\u8abe\0\u8af9\0\u8b34"+ "\0\u8b6f\0\u019d\0\u8baa\0\u8be5\0\u8c20\0\u8c5b\0\u8c96\0\u8cd1"+ "\0\u8d0c\0\u019d\0\u8d47\0\u8d82\0\u8dbd\0\u8df8\0\u8e33\0\u8e6e"+ "\0\u8ea9\0\u8ee4\0\u8f1f\0\u019d\0\u8f5a\0\u8f95\0\u019d\0\u8fd0"+ "\0\u900b\0\u9046\0\u9081\0\u90bc\0\u90f7\0\u9132\0\u916d\0\u91a8"+ "\0\u91e3\0\u921e\0\u9259\0\u9294\0\u92cf\0\u930a\0\u9345\0\u0bfc"+ "\0\u9380\0\u93bb\0\u93f6\0\u9431\0\u946c\0\u94a7\0\u0bfc\0\u7301"+ "\0\u0bfc\0\u0bfc\0\u94e2\0\u951d\0\u9558\0\u9593\0\u95ce\0\u9609"+ "\0\u9644\0\u967f\0\u96ba\0\u96f5\0\u9730\0\u976b\0\u97a6\0\u97e1"+ "\0\u981c\0\u9857\0\u9892\0\u98cd\0\u9908\0\u9943\0\u997e\0\u99b9"+ "\0\u99f4\0\u9a2f\0\u9a6a\0\u9aa5\0\u9ae0\0\u9b1b\0\u9b56\0\u9b91"+ "\0\u9bcc\0\u9c07\0\u0bfc\0\u9c42\0\u9c7d\0\u9cb8\0\u9cf3\0\u9d2e"+ "\0\u9d69\0\u9da4\0\u0bfc\0\u9ddf\0\u9e1a\0\u9e55\0\u9e90\0\u9ecb"+ "\0\u9f06\0\u9f41\0\u0bfc\0\u9f7c\0\u9fb7\0\u9ff2\0\ua02d\0\ua068"+ "\0\ua0a3\0\ua0de\0\ua119\0\ua154\0\u0bfc\0\ua18f\0\ua1ca\0\u0bfc"+ "\0\ua205\0\ua240\0\ua27b\0\ua2b6\0\ua2f1\0\u019d\0\u019d\0\ua32c"+ "\0\ua367\0\ua3a2\0\ua3dd\0\ua418\0\ua453\0\ua48e\0\ua4c9\0\ua504"+ "\0\ua53f\0\ua57a\0\u019d\0\ua5b5\0\u019d\0\ua5f0\0\u019d\0\ua62b"+ "\0\ua666\0\ua6a1\0\ua6dc\0\u019d\0\ua717\0\ua752\0\ua78d\0\ua7c8"+ "\0\ua803\0\ua83e\0\ua879\0\ua8b4\0\ua8ef\0\ua92a\0\ua965\0\ua9a0"+ "\0\ua9db\0\uaa16\0\uaa51\0\uaa8c\0\uaac7\0\uab02\0\uab3d\0\uab78"+ "\0\uabb3\0\uabee\0\uac29\0\uac64\0\uac9f\0\uacda\0\uad15\0\uad50"+ "\0\uad8b\0\uadc6\0\u6867\0\u019d\0\uae01\0\uae3c\0\uae77\0\uaeb2"+ "\0\uaeed\0\uaf28\0\uaf63\0\uaf9e\0\uafd9\0\ub014\0\ub04f\0\ub08a"+ "\0\ub0c5\0\ub100\0\ub13b\0\ub176\0\ub1b1\0\ub1ec\0\ub227\0\ub262"+ "\0\ub29d\0\ub2d8\0\ub313\0\ub34e\0\u019d\0\ub389\0\ub3c4\0\ub3ff"+ "\0\ub43a\0\ub475\0\ub4b0\0\ub4eb\0\ub526\0\u0bfc\0\u0bfc\0\ub561"+ "\0\ub59c\0\ub5d7\0\ub612\0\ub64d\0\ub688\0\ub6c3\0\ub6fe\0\ub739"+ "\0\ub774\0\ub7af\0\u0bfc\0\ub7ea\0\u0bfc\0\ub825\0\u0bfc\0\ub860"+ "\0\ub89b\0\ub8d6\0\ub911\0\u0bfc\0\ub94c\0\ub987\0\ub9c2\0\ub9fd"+ "\0\uba38\0\uba73\0\ubaae\0\ubae9\0\ubb24\0\ubb5f\0\ubb9a\0\ubbd5"+ "\0\ubc10\0\ubc4b\0\ubc86\0\ubcc1\0\ubcfc\0\ubd37\0\ubd72\0\ubdad"+ "\0\ubde8\0\ube23\0\ube5e\0\ube99\0\ubed4\0\ubf0f\0\ubf4a\0\ubf85"+ "\0\ubfc0\0\ubffb\0\u77d8\0\u0bfc\0\uc036\0\uc071\0\uc0ac\0\uc0e7"+ "\0\uc122\0\uc15d\0\uc198\0\uc1d3\0\uc20e\0\uc249\0\uc284\0\uc2bf"+ "\0\uc2fa\0\uc335\0\uc370\0\uc3ab\0\uc3e6\0\uc421\0\uc45c\0\uc497"+ "\0\uc4d2\0\uc50d\0\uc548\0\uc583\0\u0bfc\0\uc5be\0\uc5f9\0\uc634"+ "\0\uc66f\0\uc6aa\0\uc6e5\0\uc720\0\uc75b\0\u019d\0\uc796\0\uc7d1"+ "\0\uc80c\0\uc847\0\uc882\0\uc8bd\0\uc8f8\0\uc933\0\uc96e\0\uc9a9"+ "\0\u019d\0\u019d\0\uc9e4\0\uca1f\0\uca5a\0\uca95\0\ucad0\0\ucb0b"+ "\0\u019d\0\ucb46\0\ucb81\0\ucbbc\0\ucbf7\0\ucc32\0\ucc6d\0\ucca8"+ "\0\ucce3\0\ucd1e\0\ucd59\0\ucd94\0\ucdcf\0\uce0a\0\uce45\0\uce80"+ "\0\ucebb\0\ucef6\0\ucf31\0\ucf6c\0\ucfa7\0\ucfe2\0\ud01d\0\ud058"+ "\0\ud093\0\ud0ce\0\ud109\0\ud144\0\ud17f\0\ud1ba\0\ud1f5\0\ud230"+ "\0\u43c2\0\ud26b\0\ud2a6\0\ud2e1\0\ud31c\0\ud357\0\ud392\0\ud3cd"+ "\0\ud408\0\ud443\0\ud47e\0\u019d\0\ud4b9\0\ud4f4\0\ud52f\0\ud56a"+ "\0\ud5a5\0\ud5e0\0\ud61b\0\ud656\0\ud691\0\ud6cc\0\ud707\0\u0bfc"+ "\0\ud742\0\ud77d\0\ud7b8\0\ud7f3\0\ud82e\0\ud869\0\ud8a4\0\ud8df"+ "\0\ud91a\0\ud955\0\u0bfc\0\u0bfc\0\ud990\0\ud9cb\0\uda06\0\uda41"+ "\0\uda7c\0\udab7\0\u0bfc\0\udaf2\0\udb2d\0\udb68\0\udba3\0\udbde"+ "\0\udc19\0\udc54\0\udc8f\0\udcca\0\udd05\0\udd40\0\udd7b\0\uddb6"+ "\0\uddf1\0\ude2c\0\ude67\0\udea2\0\udedd\0\udf18\0\udf53\0\udf8e"+ "\0\udfc9\0\ue004\0\ue03f\0\ue07a\0\ue0b5\0\ue0f0\0\ue12b\0\ue166"+ "\0\ue1a1\0\ue1dc\0\u5759\0\ue217\0\ue252\0\ue28d\0\ue2c8\0\ue303"+ "\0\ue33e\0\ue379\0\ue3b4\0\ue3ef\0\ue42a\0\u0bfc\0\ue465\0\ue4a0"+ "\0\ue4db\0\ue516\0\ue551\0\ue58c\0\ue5c7\0\ue602\0\ue63d\0\ue678"+ "\0\ue6b3\0\ue6ee\0\u019d\0\ue729\0\u019d\0\ue764\0\ue79f\0\ue7da"+ "\0\ue815\0\ue850\0\ue88b\0\ue8c6\0\ue901\0\ue93c\0\ue977\0\u019d"+ "\0\ue9b2\0\ue9ed\0\uea28\0\uea63\0\uea9e\0\uead9\0\ueb14\0\ueb4f"+ "\0\ueb8a\0\uebc5\0\uec00\0\uec3b\0\uec76\0\uecb1\0\uecec\0\ued27"+ "\0\ued62\0\ued9d\0\uedd8\0\uee13\0\uee4e\0\uee89\0\ueec4\0\ueeff"+ "\0\uef3a\0\uef75\0\uefb0\0\uefeb\0\u019d\0\uf026\0\uf061\0\uf09c"+ "\0\uf0d7\0\uf112\0\uf14d\0\uf188\0\uf1c3\0\uf1fe\0\uf239\0\uf274"+ "\0\uf2af\0\uf2ea\0\uf325\0\uf360\0\uf39b\0\uf3d6\0\uf411\0\uf44c"+ "\0\uf487\0\uf4c2\0\uf4fd\0\uf538\0\uf573\0\u0bfc\0\uf5ae\0\u0bfc"+ "\0\uf5e9\0\uf624\0\uf65f\0\uf69a\0\uf6d5\0\uf710\0\uf74b\0\uf786"+ "\0\uf7c1\0\uf7fc\0\u0bfc\0\uf837\0\uf872\0\uf8ad\0\uf8e8\0\uf923"+ "\0\uf95e\0\uf999\0\uf9d4\0\ufa0f\0\ufa4a\0\ufa85\0\ufac0\0\ufafb"+ "\0\ufb36\0\ufb71\0\ufbac\0\ufbe7\0\ufc22\0\ufc5d\0\ufc98\0\ufcd3"+ "\0\ufd0e\0\ufd49\0\ufd84\0\ufdbf\0\ufdfa\0\ufe35\0\ufe70\0\u0bfc"+ "\0\ufeab\0\ufee6\0\uff21\0\uff5c\0\uff97\0\uffd2\1\15\1\110"+ "\1\203\1\276\1\371\1\u0134\1\u016f\1\u01aa\1\u01e5\1\u0220"+ "\1\u025b\1\u0296\1\u02d1\0\u019d\1\u030c\0\u019d\1\u0347\1\u0382"+ "\0\u019d\1\u03bd\0\u019d\1\u03f8\0\u019d\1\u0433\0\u019d\1\u046e"+ "\1\u04a9\1\u04e4\1\u051f\1\u055a\1\u0595\1\u05d0\1\u060b\1\u0646"+ "\1\u0681\1\u06bc\1\u06f7\1\u0732\1\u076d\1\u07a8\1\u07e3\1\u081e"+ "\1\u0859\1\u0894\1\u08cf\1\u090a\1\u0945\1\u0980\1\u09bb\1\u09f6"+ "\1\u0a31\1\u0a6c\1\u0aa7\1\u0ae2\1\u0b1d\1\u0b58\1\u0b93\1\u0bce"+ "\1\u0c09\1\u0c44\1\u0c7f\1\u0cba\1\u0cf5\1\u0d30\1\u0d6b\1\u0da6"+ "\1\u0de1\1\u0e1c\1\u0e57\0\u0bfc\1\u0e92\0\u0bfc\1\u0ecd\1\u0f08"+ "\0\u0bfc\1\u0f43\0\u0bfc\1\u0f7e\0\u0bfc\1\u0fb9\0\u0bfc\1\u0ff4"+ "\1\u102f\1\u106a\1\u10a5\1\u10e0\1\u111b\1\u1156\1\u1191\1\u11cc"+ "\1\u1207\1\u1242\1\u127d\1\u12b8\1\u12f3\1\u132e\1\u1369\1\u13a4"+ "\1\u13df\1\u141a\1\u1455\1\u1490\1\u14cb\1\u1506\1\u1541\1\u157c"+ "\1\u15b7\1\u15f2\1\u162d\1\u1668\1\u16a3\1\u16de\1\u1719\1\u1754"+ "\1\u178f\1\u17ca\1\u1805\1\u1840\1\u187b\1\u18b6\1\u18f1\1\u192c"+ "\1\u1967\1\u19a2\1\u19dd\0\u019d\0\u019d\1\u1a18\1\u1a53\0\u019d"+ "\0\u019d\1\u1a8e\1\u1ac9\1\u1b04\1\u1b3f\1\u1b7a\1\u1bb5\1\u1bf0"+ "\1\u1c2b\1\u1c66\1\u1ca1\1\u1cdc\1\u1d17\1\u1d52\1\u1d8d\1\u1dc8"+ "\1\u1e03\1\u1e3e\1\u1e79\1\u1eb4\1\u1eef\1\u1f2a\1\u1f65\1\u1fa0"+ "\1\u1fdb\1\u2016\1\u2051\1\u208c\0\u0bfc\0\u0bfc\1\u20c7\1\u2102"+ "\0\u0bfc\0\u0bfc\1\u213d\1\u2178\1\u21b3\1\u21ee\1\u2229\1\u2264"+ "\1\u229f\1\u22da\1\u2315\1\u2350\1\u238b\1\u23c6\1\u2401\1\u243c"+ "\1\u2477\1\u24b2\1\u24ed\1\u2528\1\u2563\1\u259e\1\u25d9\1\u2614"+ "\1\u264f\1\u268a\1\u26c5\1\u2700\1\u273b\1\u2776\1\u27b1\1\u27ec"+ "\1\u2827\1\u2862\1\u289d\1\u28d8\1\u2913\1\u294e\1\u2989\1\u29c4"+ "\1\u29ff\1\u2a3a\1\u2a75\1\u2ab0\1\u2aeb\1\u2b26\1\u2b61\1\u2b9c"+ "\1\u2bd7\1\u2c12\1\u2c4d\1\u2c88\1\u2cc3\1\u2cfe\1\u2d39\1\u2d74"+ "\1\u2daf\1\u2dea\1\u2e25\1\u2e60\1\u2e9b\1\u2ed6\1\u2f11\1\u2f4c"+ "\1\u2f87\1\u2fc2\1\u2ffd\1\u3038\1\u3073\1\u30ae\1\u30e9\1\u3124"+ "\1\u315f\0\u019d\1\u319a\1\u31d5\1\u3210\1\u324b\1\u3286\1\u32c1"+ "\1\u32fc\1\u3337\1\u3372\1\u33ad\1\u33e8\1\u3423\1\u345e\1\u3499"+ "\0\u0bfc\1\u34d4\1\u350f\1\u354a\1\u3585\1\u35c0\1\u35fb\1\u3636"+ "\1\u3671\1\u36ac\1\u36e7\1\u3722\1\u375d\1\u3798\0\u019d\0\u019d"+ "\1\u37d3\1\u380e\1\u3849\1\u3884\1\u38bf\1\u38fa\1\u3935\1\u3970"+ "\0\u0bfc\0\u0bfc\1\u39ab\1\u39e6\1\u3a21\1\u3a5c\1\u3a97\1\u3ad2"+ "\1\u3b0d\1\u3b48\1\u3b83\1\u3bbe\1\u3bf9\1\u3c34\1\u3c6f\1\u3caa"+ "\1\u3ce5\1\u3d20\1\u3d5b\1\u3d96\1\u3dd1\1\u3e0c\1\u3e47\1\u3e82"+ "\1\u3ebd\1\u3ef8\1\u3f33\1\u3f6e\1\u3fa9\1\u3fe4\1\u401f\1\u405a"+ "\1\u4095\1\u40d0\1\u410b\1\u4146\1\u4181\1\u41bc\1\u41f7\1\u4232"+ "\1\u426d\1\u42a8\1\u42e3\1\u431e"; private static int [] zzUnpackRowMap() { int [] result = new int[1612]; 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\16\1\12\1\17\1\20"+ "\1\21\1\22\1\23\2\12\1\24\1\25\1\14\1\26"+ "\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36"+ "\1\37\1\40\1\41\1\42\1\43\1\44\1\45\1\46"+ "\1\47\1\50\1\51\1\52\1\53\1\54\1\12\1\55"+ "\1\56\1\57\1\60\1\61\1\62\1\63\1\64\1\65"+ "\1\66\1\67\1\70\1\71\1\72\1\12\1\43\1\54"+ "\1\12\1\73\5\12\1\74\2\12\4\74\1\12\1\75"+ "\11\12\24\74\13\12\5\74\2\76\1\12\12\76\1\12"+ "\1\77\1\12\53\76\5\100\1\101\2\100\4\101\1\100"+ "\1\102\11\100\24\101\13\100\5\101\2\103\1\104\14\103"+ "\1\104\1\105\1\106\1\107\50\103\5\100\1\110\2\100"+ "\4\110\13\100\24\110\13\100\5\110\26\100\1\111\44\100"+ "\73\0\1\112\1\113\1\14\1\114\1\115\1\112\1\116"+ "\1\117\1\120\1\121\1\122\2\112\1\24\1\123\1\14"+ "\1\124\1\125\1\126\1\127\1\130\1\33\1\131\1\132"+ "\1\133\1\134\1\135\1\136\1\137\1\140\1\141\1\142"+ "\1\143\1\144\1\145\1\146\1\147\1\150\1\151\1\112"+ "\1\152\1\153\1\154\1\155\1\156\1\157\1\160\1\161"+ "\1\162\1\163\1\164\1\165\1\166\1\167\1\112\1\140"+ "\1\151\1\112\1\170\2\0\2\14\13\0\1\14\1\171"+ "\102\0\1\172\1\173\1\174\1\175\1\176\2\0\1\177"+ "\5\0\1\200\3\0\1\201\15\0\2\202\2\0\2\203"+ "\1\0\4\203\1\204\7\203\1\0\1\205\52\203\10\0"+ "\1\21\1\0\1\21\112\0\1\206\4\0\2\207\1\0"+ "\1\210\1\211\1\0\1\207\4\0\1\207\30\0\1\21"+ "\1\0\1\21\1\212\61\0\1\15\14\0\1\213\53\0"+ "\2\214\1\0\14\214\1\0\1\215\1\216\1\0\50\214"+ "\14\217\1\0\5\217\1\220\50\217\24\0\1\221\46\0"+ "\2\33\1\0\14\33\1\0\53\33\26\0\1\222\74\0"+ "\1\223\3\0\1\224\51\0\1\225\17\0\1\226\1\227"+ "\2\0\1\230\5\0\1\231\2\0\1\232\52\0\1\233"+ "\1\0\1\207\1\0\1\234\1\235\1\0\1\236\1\0"+ "\1\237\1\0\1\207\1\240\1\207\1\241\1\0\1\242"+ "\1\207\1\243\14\0\1\235\1\241\1\207\12\0\1\244"+ "\16\0\1\245\1\0\1\207\1\246\5\0\1\237\6\0"+ "\1\232\1\247\51\0\1\250\1\0\1\207\2\0\1\235"+ "\6\0\1\240\22\0\1\235\1\0\1\207\31\0\1\251"+ "\1\0\1\207\1\252\10\0\1\253\1\0\1\254\1\0"+ "\1\207\1\255\16\0\1\254\1\256\40\0\1\207\4\0"+ "\1\257\1\0\1\254\21\0\1\254\34\0\1\260\75\0"+ "\1\261\3\0\1\262\1\263\1\0\1\207\1\264\2\0"+ "\1\265\16\0\1\261\1\0\1\266\31\0\1\267\3\0"+ "\1\270\4\0\1\271\5\0\1\272\55\0\1\273\101\0"+ "\1\207\1\0\1\274\62\0\1\275\14\0\1\276\52\0"+ "\1\235\1\0\1\277\2\0\1\300\4\0\1\301\24\0"+ "\1\300\51\0\1\207\1\0\1\207\17\0\1\207\32\0"+ "\1\302\1\0\1\207\2\0\1\303\1\0\1\207\1\304"+ "\1\0\1\305\1\306\1\0\1\307\2\0\1\310\1\0"+ "\1\311\14\0\1\303\1\0\1\207\35\0\1\312\1\313"+ "\4\0\1\314\1\315\2\0\1\207\3\0\1\316\14\0"+ "\1\313\1\207\32\0\1\317\1\0\1\207\7\0\1\320"+ "\5\0\1\207\20\0\1\207\35\0\1\321\4\0\1\322"+ "\104\0\1\323\72\0\1\324\72\0\1\325\61\0\1\326"+ "\35\0\1\74\2\0\4\74\13\0\24\74\13\0\5\74"+ "\2\327\1\0\12\327\1\0\1\330\1\0\53\327\5\0"+ "\1\101\2\0\4\101\13\0\24\101\13\0\5\101\2\103"+ "\1\0\14\103\1\0\1\105\2\0\50\103\2\0\2\104"+ "\13\0\1\104\1\331\52\0\73\103\5\0\1\110\2\0"+ "\4\110\13\0\24\110\13\0\5\110\5\0\1\332\2\0"+ "\4\332\13\0\24\332\13\0\5\332\2\333\1\0\12\333"+ "\1\0\1\334\1\0\55\333\1\0\12\333\1\0\1\334"+ "\1\0\10\333\1\335\1\336\1\337\1\340\1\341\2\333"+ "\1\342\5\333\1\343\3\333\1\344\15\333\2\345\2\333"+ "\2\346\1\0\4\346\1\347\5\346\1\203\1\350\1\0"+ "\1\351\52\346\2\333\1\0\5\333\1\120\1\333\1\120"+ "\2\333\1\0\1\334\1\0\55\333\1\0\12\333\1\0"+ "\1\334\1\0\12\333\1\352\4\333\2\353\1\333\1\354"+ "\1\355\1\333\1\353\4\333\1\353\22\333\1\0\5\333"+ "\1\120\1\333\1\120\1\356\1\333\1\0\1\334\1\0"+ "\55\333\1\15\12\333\1\0\1\334\1\213\53\333\2\357"+ "\1\0\12\357\1\214\1\360\1\0\1\361\1\362\1\333"+ "\50\357\2\363\1\217\11\363\1\333\1\217\1\334\1\217"+ "\2\363\1\364\50\363\2\333\1\0\12\333\1\0\1\334"+ "\1\0\4\333\1\365\50\333\1\0\12\333\1\0\1\334"+ "\1\0\6\333\1\366\46\333\1\0\12\333\1\0\1\334"+ "\1\0\10\333\1\367\3\333\1\370\40\333\1\0\10\333"+ "\1\371\1\333\1\0\1\334\1\0\13\333\1\372\1\373"+ "\2\333\1\374\5\333\1\375\2\333\1\376\24\333\1\0"+ "\12\333\1\0\1\334\1\0\10\333\1\377\1\333\1\353"+ "\1\333\1\u0100\1\u0101\1\333\1\u0102\1\333\1\u0103\1\333"+ "\1\353\1\u0104\1\353\1\u0105\1\333\1\u0106\1\353\1\u0107"+ "\14\333\1\u0101\1\u0105\1\353\3\333\1\0\6\333\1\u0108"+ "\3\333\1\0\1\334\1\0\10\333\1\u0109\1\333\1\353"+ "\1\u010a\5\333\1\u0103\6\333\1\376\1\u010b\23\333\1\0"+ "\12\333\1\0\1\334\1\0\10\333\1\u010c\1\333\1\353"+ "\2\333\1\u0101\6\333\1\u0104\22\333\1\u0101\1\333\1\353"+ "\3\333\1\0\12\333\1\0\1\334\1\0\10\333\1\u010d"+ "\1\333\1\353\1\u010e\10\333\1\u010f\1\333\1\u0110\1\333"+ "\1\353\1\u0111\16\333\1\u0110\1\u0112\3\333\1\0\12\333"+ "\1\0\1\334\1\0\17\333\1\353\4\333\1\u0113\1\333"+ "\1\u0110\21\333\1\u0110\4\333\1\0\12\333\1\0\1\334"+ "\1\0\12\333\1\u0114\42\333\1\0\12\333\1\0\1\334"+ "\1\0\15\333\1\u0115\3\333\1\u0116\1\u0117\1\333\1\353"+ "\1\u0118\2\333\1\u0119\16\333\1\u0115\1\333\1\u011a\3\333"+ "\1\0\12\333\1\0\1\334\1\0\10\333\1\u011b\3\333"+ "\1\u011c\4\333\1\u011d\5\333\1\u011e\25\333\1\0\12\333"+ "\1\0\1\334\1\0\12\333\1\u011f\42\333\1\0\12\333"+ "\1\0\1\334\1\0\21\333\1\353\1\333\1\u0120\31\333"+ "\1\0\12\333\1\0\1\334\1\0\13\333\1\u0121\14\333"+ "\1\u0122\24\333\1\0\12\333\1\0\1\334\1\0\10\333"+ "\1\u0101\1\333\1\u0123\2\333\1\u0124\4\333\1\u0125\24\333"+ "\1\u0124\5\333\1\0\12\333\1\0\1\334\1\0\26\333"+ "\1\353\1\333\1\353\17\333\1\353\4\333\1\0\12\333"+ "\1\0\1\334\1\0\10\333\1\u0126\1\333\1\353\2\333"+ "\1\u0127\1\333\1\353\1\u0128\1\333\1\u0129\1\u012a\1\333"+ "\1\u012b\2\333\1\u012c\1\333\1\u012d\14\333\1\u0127\1\333"+ "\1\353\3\333\1\0\12\333\1\0\1\334\1\0\14\333"+ "\1\u012e\1\u012f\4\333\1\u0130\1\u0131\2\333\1\353\3\333"+ "\1\u0132\14\333\1\u012f\1\353\4\333\1\0\12\333\1\0"+ "\1\334\1\0\10\333\1\u0133\1\333\1\353\7\333\1\u0134"+ "\5\333\1\353\20\333\1\353\3\333\1\0\12\333\1\0"+ "\1\334\1\0\14\333\1\u0135\4\333\1\u0136\33\333\1\0"+ "\12\333\1\0\1\334\1\0\33\333\1\u0137\21\333\1\0"+ "\12\333\1\0\1\334\1\0\33\333\1\u0138\21\333\1\0"+ "\12\333\1\0\1\334\1\0\33\333\1\u0139\21\333\1\0"+ "\12\333\1\0\1\334\1\0\22\333\1\u013a\30\333\2\0"+ "\1\14\14\0\1\14\141\0\1\u013b\34\0\1\u013c\7\0"+ "\1\u013c\62\0\1\u013d\1\u013e\1\0\1\u013f\1\u0140\2\0"+ "\1\u0141\5\0\1\u0142\1\u0143\2\0\1\u0144\16\0\1\u0143"+ "\32\0\1\u0145\11\0\1\u0146\60\0\1\u0147\72\0\1\u0148"+ "\1\u0149\1\0\1\u014a\1\u014b\2\0\1\u014c\2\0\1\u014d"+ "\2\0\1\u014e\3\0\1\u014f\51\0\1\u0150\1\0\1\u0151"+ "\5\0\1\u0152\67\0\1\u0153\31\0\1\u0153\51\0\1\u0154"+ "\21\0\1\u0154\2\0\73\203\33\0\1\u0155\11\0\1\u0156"+ "\61\0\1\u0157\71\0\1\u0158\47\0\3\u0159\14\0\2\u0159"+ "\4\0\1\u0159\1\0\1\u0159\4\0\1\u0159\22\0\1\u0159"+ "\5\0\1\15\70\0\73\214\24\u015a\1\0\46\u015a\26\0"+ "\1\u015b\75\0\1\u015c\71\0\1\u015d\74\0\1\u015e\15\0"+ "\1\u015f\66\0\1\u0160\63\0\1\u0161\31\0\1\u0161\44\0"+ "\1\u0162\77\0\1\u0163\21\0\1\u0163\37\0\1\235\1\0"+ "\1\u0164\27\0\1\235\43\0\1\u0165\74\0\1\u0166\75\0"+ "\1\207\57\0\1\207\16\0\1\207\70\0\1\207\57\0"+ "\1\207\71\0\1\u0167\35\0\1\207\47\0\1\207\21\0"+ "\1\207\53\0\1\u0168\34\0\1\207\150\0\1\u0169\51\0"+ "\1\u016a\74\0\1\u016b\53\0\1\u016c\1\0\1\u016d\2\0"+ "\1\u016e\5\0\1\u016f\2\0\1\u0170\15\0\1\u016d\1\u016f"+ "\34\0\1\207\15\0\1\207\55\0\1\u0167\103\0\1\u0171"+ "\76\0\1\u0172\66\0\1\u0173\73\0\1\235\65\0\1\u0174"+ "\65\0\1\u0175\14\0\1\u0176\1\u0177\51\0\1\u0178\1\0"+ "\1\207\4\0\1\207\6\0\1\207\1\0\1\207\17\0"+ "\2\207\31\0\1\u0179\15\0\1\u017a\21\0\1\u017a\37\0"+ "\1\u017b\11\0\1\u017c\17\0\1\u017b\37\0\1\u017d\106\0"+ "\1\u017e\70\0\1\u017f\21\0\1\u017f\42\0\1\u0180\72\0"+ "\1\u0181\76\0\1\u0182\37\0\1\u0183\22\0\1\207\76\0"+ "\1\u0184\72\0\1\u0185\4\0\1\u0186\72\0\1\207\1\u0187"+ "\21\0\1\u0187\37\0\1\u0188\4\0\1\u0189\24\0\1\u0188"+ "\37\0\1\u018a\104\0\1\u018b\21\0\1\u018b\32\0\1\u018c"+ "\107\0\1\u018d\1\u0187\1\0\1\u018e\17\0\1\u0187\34\0"+ "\1\u018f\102\0\1\u0190\64\0\1\u0191\106\0\1\u0192\70\0"+ "\1\u0193\21\0\1\u0193\46\0\1\207\63\0\1\u0194\31\0"+ "\1\u0194\46\0\1\u0195\25\0\1\u0196\33\0\1\u0197\70\0"+ "\1\u0198\1\0\1\u0199\72\0\1\u019a\42\0\1\104\14\0"+ "\1\104\53\0\2\333\1\0\12\333\1\0\1\334\1\0"+ "\46\333\1\u019b\6\333\1\0\12\333\1\0\1\334\1\0"+ "\10\333\1\u019c\7\333\1\u019c\34\333\1\0\12\333\1\0"+ "\1\334\1\0\10\333\1\u019d\1\u019e\1\333\1\u019f\1\u01a0"+ "\2\333\1\u01a1\5\333\1\u01a2\1\u01a3\2\333\1\u01a4\16\333"+ "\1\u01a3\4\333\1\0\12\333\1\0\1\334\1\0\10\333"+ "\1\u01a5\11\333\1\u01a6\32\333\1\0\12\333\1\0\1\334"+ "\1\0\10\333\1\u01a7\44\333\1\0\12\333\1\0\1\334"+ "\1\0\10\333\1\u01a8\1\u01a9\1\333\1\u01aa\1\u01ab\2\333"+ "\1\u01ac\2\333\1\u01ad\2\333\1\u01ae\3\333\1\u01af\23\333"+ "\1\0\12\333\1\0\1\334\1\0\10\333\1\u01b0\1\333"+ "\1\u01b1\5\333\1\u01b2\34\333\1\0\12\333\1\0\1\334"+ "\1\0\15\333\1\u01b3\31\333\1\u01b3\5\333\1\0\12\333"+ "\1\0\1\334\1\0\26\333\1\u01b4\21\333\1\u01b4\2\333"+ "\2\346\1\203\12\346\1\203\1\350\1\203\53\346\2\333"+ "\1\0\12\333\1\0\1\334\1\0\13\333\1\u01b5\11\333"+ "\1\u01b6\27\333\1\0\12\333\1\0\1\334\1\0\14\333"+ "\1\u01b7\40\333\1\0\12\333\1\0\1\334\1\0\13\333"+ "\1\u01b8\41\333\1\0\5\333\3\u01b9\2\333\1\0\1\334"+ "\1\0\7\333\2\u01b9\4\333\1\u01b9\1\333\1\u01b9\4\333"+ "\1\u01b9\22\333\1\u01b9\3\333\2\357\1\214\12\357\1\214"+ "\1\360\1\214\53\357\2\u01ba\1\u015a\12\u01ba\3\u015a\4\u01ba"+ "\1\333\46\u01ba\2\333\1\0\12\333\1\0\1\334\1\0"+ "\6\333\1\u01bb\46\333\1\0\12\333\1\0\1\334\1\0"+ "\11\333\1\u01bc\43\333\1\0\12\333\1\0\1\334\1\0"+ "\10\333\1\u01bd\44\333\1\0\12\333\1\0\1\334\1\0"+ "\12\333\1\u01be\15\333\1\u01bf\24\333\1\0\12\333\1\0"+ "\1\334\1\0\24\333\1\u01c0\30\333\1\0\12\333\1\0"+ "\1\334\1\0\15\333\1\u01c1\31\333\1\u01c1\5\333\1\0"+ "\12\333\1\0\1\334\1\0\21\333\1\u01c2\33\333\1\0"+ "\12\333\1\0\1\334\1\0\26\333\1\u01c3\21\333\1\u01c3"+ "\4\333\1\0\12\333\1\0\1\334\1\0\15\333\1\u0101"+ "\1\333\1\u01c4\27\333\1\u0101\5\333\1\0\12\333\1\0"+ "\1\334\1\0\20\333\1\u01c5\34\333\1\0\12\333\1\0"+ "\1\334\1\0\22\333\1\u01c6\32\333\1\0\12\333\1\0"+ "\1\334\1\0\25\333\1\353\27\333\1\0\12\333\1\0"+ "\1\334\1\0\12\333\1\353\16\333\1\353\23\333\1\0"+ "\12\333\1\0\1\334\1\0\27\333\1\353\25\333\1\0"+ "\12\333\1\0\1\334\1\0\14\333\1\353\40\333\1\0"+ "\12\333\1\0\1\334\1\0\13\333\1\u01c7\35\333\1\353"+ "\3\333\1\0\12\333\1\0\1\334\1\0\26\333\1\353"+ "\21\333\1\353\4\333\1\0\12\333\1\0\1\334\1\0"+ "\31\333\1\u01c8\23\333\1\0\10\333\1\353\1\333\1\0"+ "\1\334\1\0\55\333\1\0\12\333\1\0\1\334\1\0"+ "\51\333\1\u01c9\3\333\1\0\12\333\1\0\1\334\1\0"+ "\30\333\1\u01ca\24\333\1\0\12\333\1\0\1\334\1\0"+ "\32\333\1\u01cb\22\333\1\0\12\333\1\0\1\334\1\0"+ "\13\333\1\u01cc\1\333\1\u01cd\2\333\1\u01ce\5\333\1\u01cf"+ "\2\333\1\u01d0\15\333\1\u01cd\1\u01cf\4\333\1\0\12\333"+ "\1\0\1\334\1\0\12\333\1\353\15\333\1\353\24\333"+ "\1\0\12\333\1\0\1\334\1\0\13\333\1\u01c7\41\333"+ "\1\0\12\333\1\0\1\334\1\0\24\333\1\u01d1\30\333"+ "\1\0\12\333\1\0\1\334\1\0\30\333\1\u01d2\24\333"+ "\1\0\12\333\1\0\1\334\1\0\24\333\1\u01d3\30\333"+ "\1\0\12\333\1\0\1\334\1\0\25\333\1\u0101\27\333"+ "\1\0\12\333\1\0\1\334\1\0\20\333\1\u01d4\34\333"+ "\1\0\12\333\1\0\1\334\1\0\13\333\1\u01d5\14\333"+ "\1\u01d6\1\u01d7\23\333\1\0\12\333\1\0\1\334\1\0"+ "\10\333\1\u01d8\1\333\1\353\4\333\1\353\6\333\1\353"+ "\1\333\1\353\17\333\2\353\3\333\1\0\12\333\1\0"+ "\1\334\1\0\10\333\1\u01d9\15\333\1\u01da\21\333\1\u01da"+ "\4\333\1\0\12\333\1\0\1\334\1\0\15\333\1\u01db"+ "\11\333\1\u01dc\17\333\1\u01db\5\333\1\0\12\333\1\0"+ "\1\334\1\0\14\333\1\u01dd\40\333\1\0\12\333\1\0"+ "\1\334\1\0\30\333\1\u01de\24\333\1\0\12\333\1\0"+ "\1\334\1\0\26\333\1\u01df\21\333\1\u01df\4\333\1\0"+ "\12\333\1\0\1\334\1\0\20\333\1\u01e0\34\333\1\0"+ "\12\333\1\0\1\334\1\0\20\333\1\u01e1\34\333\1\0"+ "\12\333\1\0\1\334\1\0\24\333\1\u01e2\30\333\1\0"+ "\6\333\1\u01e3\3\333\1\0\1\334\1\0\14\333\1\353"+ "\40\333\1\0\12\333\1\0\1\334\1\0\20\333\1\u01e4"+ "\34\333\1\0\12\333\1\0\1\334\1\0\20\333\1\u01e5"+ "\4\333\1\u01e6\27\333\1\0\12\333\1\0\1\334\1\0"+ "\25\333\1\353\1\u01e7\21\333\1\u01e7\4\333\1\0\12\333"+ "\1\0\1\334\1\0\15\333\1\u01e8\4\333\1\u01e9\24\333"+ "\1\u01e8\5\333\1\0\12\333\1\0\1\334\1\0\14\333"+ "\1\u01ea\40\333\1\0\12\333\1\0\1\334\1\0\26\333"+ "\1\u01eb\21\333\1\u01eb\4\333\1\0\12\333\1\0\1\334"+ "\1\0\10\333\1\u01ec\44\333\1\0\12\333\1\0\1\334"+ "\1\0\25\333\1\u01ed\1\u01e7\1\333\1\u01ee\17\333\1\u01e7"+ "\4\333\1\0\12\333\1\0\1\334\1\0\12\333\1\u01ef"+ "\42\333\1\0\12\333\1\0\1\334\1\0\22\333\1\u01f0"+ "\32\333\1\0\12\333\1\0\1\334\1\0\14\333\1\u01f1"+ "\40\333\1\0\12\333\1\0\1\334\1\0\30\333\1\u01f2"+ "\24\333\1\0\12\333\1\0\1\334\1\0\26\333\1\u01f3"+ "\21\333\1\u01f3\4\333\1\0\12\333\1\0\1\334\1\0"+ "\24\333\1\353\30\333\1\0\12\333\1\0\1\334\1\0"+ "\15\333\1\u01f4\31\333\1\u01f4\5\333\1\0\12\333\1\0"+ "\1\334\1\0\23\333\1\u01f5\25\333\1\u01f6\3\333\1\0"+ "\12\333\1\0\1\334\1\0\12\333\1\u01f7\42\333\1\0"+ "\12\333\1\0\1\334\1\0\10\333\1\u01f8\1\333\1\u01f9"+ "\42\333\1\0\12\333\1\0\1\334\1\0\12\333\1\u01fa"+ "\40\333\66\0\1\u01fb\35\0\1\u01fc\6\0\1\u01fd\62\0"+ "\1\u01fe\11\0\1\u01ff\60\0\1\u0200\104\0\1\u0201\60\0"+ "\1\u0202\1\0\1\u0203\5\0\1\u0204\65\0\1\u0205\74\0"+ "\1\u0206\31\0\1\u0206\43\0\1\u0207\102\0\1\u0208\110\0"+ "\1\u0209\34\0\1\u020a\7\0\1\u020b\62\0\1\u020c\11\0"+ "\1\u020d\60\0\1\u020e\104\0\1\u020f\63\0\1\u0210\67\0"+ "\1\u0211\1\0\1\u0212\5\0\1\u0213\67\0\1\u0214\31\0"+ "\1\u0214\41\0\1\u0215\74\0\1\u0216\67\0\1\u0217\31\0"+ "\1\u0217\43\0\1\u0218\62\0\1\u0219\20\0\1\u021a\60\0"+ "\1\u021b\33\0\24\u015a\1\u021c\46\u015a\32\0\1\u021d\75\0"+ "\1\u021e\31\0\1\u021e\43\0\1\u021f\74\0\1\u0220\76\0"+ "\1\u017e\21\0\1\u017e\44\0\1\207\60\0\1\u0221\110\0"+ "\1\u0187\21\0\1\u0187\6\0\1\u0222\131\0\1\u0223\77\0"+ "\1\207\54\0\1\207\102\0\1\u0224\72\0\1\u0225\34\0"+ "\1\u0226\123\0\1\u0227\31\0\1\u0227\47\0\1\u0228\71\0"+ "\1\u0229\67\0\1\u022a\1\0\1\u022b\1\u022c\71\0\1\u022d"+ "\62\0\1\240\75\0\1\207\31\0\1\207\7\0\1\u022e"+ "\125\0\1\u022f\73\0\1\u0230\30\0\1\u0231\50\0\1\u0232"+ "\73\0\1\u0233\57\0\1\u0234\31\0\1\u0234\7\0\1\u0235"+ "\126\0\1\u0236\71\0\1\u0237\10\0\1\u0238\64\0\1\u0239"+ "\60\0\1\207\102\0\1\u023a\36\0\1\u023b\120\0\1\u023c"+ "\75\0\1\u023d\31\0\1\u023d\14\0\1\207\116\0\1\u023e"+ "\31\0\1\u023e\7\0\1\u023f\116\0\1\u0240\133\0\1\207"+ "\35\0\1\u0241\106\0\1\u0242\62\0\1\u0179\102\0\1\u0243"+ "\52\0\1\u0167\74\0\1\u017a\100\0\1\u0244\71\0\1\u0245"+ "\70\0\1\u0246\31\0\1\u0246\7\0\1\u0247\37\0\1\207"+ "\67\0\1\u0192\77\0\1\u0248\21\0\1\u0248\35\0\1\u0249"+ "\67\0\1\u0232\102\0\1\u024a\66\0\1\u024b\103\0\1\u024c"+ "\60\0\1\u0236\37\0\2\333\1\0\12\333\1\0\1\334"+ "\1\0\46\333\1\u024d\6\333\1\0\12\333\1\0\1\334"+ "\1\0\11\333\1\u024e\6\333\1\u024f\34\333\1\0\12\333"+ "\1\0\1\334\1\0\10\333\1\u0250\11\333\1\u0251\32\333"+ "\1\0\12\333\1\0\1\334\1\0\10\333\1\u0252\44\333"+ "\1\0\12\333\1\0\1\334\1\0\22\333\1\u0253\32\333"+ "\1\0\12\333\1\0\1\334\1\0\10\333\1\u0254\1\333"+ "\1\u0255\5\333\1\u0256\34\333\1\0\12\333\1\0\1\334"+ "\1\0\13\333\1\u0257\41\333\1\0\12\333\1\0\1\334"+ "\1\0\15\333\1\u0258\31\333\1\u0258\5\333\1\0\12\333"+ "\1\0\1\334\1\0\20\333\1\u0259\34\333\1\0\12\333"+ "\1\0\1\334\1\0\30\333\1\u025a\24\333\1\0\12\333"+ "\1\0\1\334\1\0\46\333\1\u025b\6\333\1\0\12\333"+ "\1\0\1\334\1\0\10\333\1\u025c\7\333\1\u025d\34\333"+ "\1\0\12\333\1\0\1\334\1\0\10\333\1\u025e\11\333"+ "\1\u025f\32\333\1\0\12\333\1\0\1\334\1\0\10\333"+ "\1\u0260\44\333\1\0\12\333\1\0\1\334\1\0\22\333"+ "\1\u0261\32\333\1\0\12\333\1\0\1\334\1\0\13\333"+ "\1\u0262\41\333\1\0\12\333\1\0\1\334\1\0\10\333"+ "\1\u0263\1\333\1\u0264\5\333\1\u0265\34\333\1\0\12\333"+ "\1\0\1\334\1\0\15\333\1\u0266\31\333\1\u0266\5\333"+ "\1\0\12\333\1\0\1\334\1\0\16\333\1\u0267\36\333"+ "\1\0\12\333\1\0\1\334\1\0\20\333\1\u0268\34\333"+ "\1\0\12\333\1\0\1\334\1\0\15\333\1\u0269\31\333"+ "\1\u0269\5\333\1\0\12\333\1\0\1\334\1\0\20\333"+ "\1\u026a\34\333\1\0\12\333\1\0\1\334\1\0\10\333"+ "\1\u026b\20\333\1\u026c\23\333\1\0\12\333\1\0\1\334"+ "\1\0\17\333\1\u026d\33\333\2\u01ba\1\u015a\12\u01ba\3\u015a"+ "\4\u01ba\1\u026e\46\u01ba\2\333\1\0\12\333\1\0\1\334"+ "\1\0\12\333\1\u026f\42\333\1\0\12\333\1\0\1\334"+ "\1\0\15\333\1\u0270\31\333\1\u0270\5\333\1\0\12\333"+ "\1\0\1\334\1\0\20\333\1\u0271\34\333\1\0\12\333"+ "\1\0\1\334\1\0\22\333\1\u0272\32\333\1\0\12\333"+ "\1\0\1\334\1\0\26\333\1\u01de\21\333\1\u01de\4\333"+ "\1\0\12\333\1\0\1\334\1\0\22\333\1\353\32\333"+ "\1\0\12\333\1\0\1\334\1\0\10\333\1\u0273\44\333"+ "\1\0\12\333\1\0\1\334\1\0\26\333\1\u01e7\21\333"+ "\1\u01e7\4\333\1\0\1\333\1\u0274\10\333\1\0\1\334"+ "\1\0\55\333\1\0\12\333\1\0\1\334\1\0\23\333"+ "\1\u0275\31\333\1\0\12\333\1\0\1\334\1\0\30\333"+ "\1\353\24\333\1\0\12\333\1\0\1\334\1\0\12\333"+ "\1\353\42\333\1\0\12\333\1\0\1\334\1\0\22\333"+ "\1\u0276\32\333\1\0\12\333\1\0\1\334\1\0\22\333"+ "\1\u0277\32\333\1\0\1\333\1\u0278\10\333\1\0\1\334"+ "\1\0\55\333\1\0\12\333\1\0\1\334\1\0\15\333"+ "\1\u0279\31\333\1\u0279\5\333\1\0\12\333\1\0\1\334"+ "\1\0\24\333\1\u027a\30\333\1\0\12\333\1\0\1\334"+ "\1\0\23\333\1\u027b\31\333\1\0\12\333\1\0\1\334"+ "\1\0\20\333\1\u027c\1\333\1\u027d\1\u027e\31\333\1\0"+ "\12\333\1\0\1\334\1\0\22\333\1\u027f\32\333\1\0"+ "\12\333\1\0\1\334\1\0\12\333\1\u0104\42\333\1\0"+ "\12\333\1\0\1\334\1\0\15\333\1\353\31\333\1\353"+ "\5\333\1\0\1\333\1\u0280\10\333\1\0\1\334\1\0"+ "\55\333\1\0\12\333\1\0\1\334\1\0\17\333\1\u0281"+ "\35\333\1\0\12\333\1\0\1\334\1\0\20\333\1\u0282"+ "\30\333\1\u0283\3\333\1\0\12\333\1\0\1\334\1\0"+ "\27\333\1\u0284\25\333\1\0\12\333\1\0\1\334\1\0"+ "\30\333\1\u0285\24\333\1\0\12\333\1\0\1\334\1\0"+ "\15\333\1\u0286\31\333\1\u0286\5\333\1\0\1\333\1\u0287"+ "\10\333\1\0\1\334\1\0\55\333\1\0\12\333\1\0"+ "\1\334\1\0\20\333\1\u0288\34\333\1\0\12\333\1\0"+ "\1\334\1\0\17\333\1\u0289\10\333\1\u028a\24\333\1\0"+ "\12\333\1\0\1\334\1\0\22\333\1\u028b\32\333\1\0"+ "\12\333\1\0\1\334\1\0\10\333\1\353\44\333\1\0"+ "\12\333\1\0\1\334\1\0\20\333\1\u028c\34\333\1\0"+ "\1\333\1\u028d\10\333\1\0\1\334\1\0\55\333\1\0"+ "\12\333\1\0\1\334\1\0\12\333\1\u028e\42\333\1\0"+ "\12\333\1\0\1\334\1\0\15\333\1\u028f\31\333\1\u028f"+ "\5\333\1\0\6\333\1\353\3\333\1\0\1\334\1\0"+ "\55\333\1\0\12\333\1\0\1\334\1\0\15\333\1\u0290"+ "\31\333\1\u0290\5\333\1\0\1\333\1\u0291\10\333\1\0"+ "\1\334\1\0\55\333\1\0\12\333\1\0\1\334\1\0"+ "\10\333\1\u0292\44\333\1\0\12\333\1\0\1\334\1\0"+ "\51\333\1\353\3\333\1\0\12\333\1\0\1\334\1\0"+ "\14\333\1\u0293\40\333\1\0\12\333\1\0\1\334\1\0"+ "\30\333\1\u0294\24\333\1\0\12\333\1\0\1\334\1\0"+ "\20\333\1\u01d9\34\333\1\0\12\333\1\0\1\334\1\0"+ "\30\333\1\u0295\24\333\1\0\12\333\1\0\1\334\1\0"+ "\10\333\1\u01c7\44\333\1\0\12\333\1\0\1\334\1\0"+ "\12\333\1\u01da\42\333\1\0\12\333\1\0\1\334\1\0"+ "\20\333\1\u0296\34\333\1\0\12\333\1\0\1\334\1\0"+ "\17\333\1\u0297\35\333\1\0\12\333\1\0\1\334\1\0"+ "\15\333\1\u0298\31\333\1\u0298\5\333\1\0\1\333\1\u0299"+ "\10\333\1\0\1\334\1\0\24\333\1\353\30\333\1\0"+ "\12\333\1\0\1\334\1\0\21\333\1\u01f2\33\333\1\0"+ "\12\333\1\0\1\334\1\0\26\333\1\u029a\21\333\1\u029a"+ "\4\333\1\0\12\333\1\0\1\334\1\0\13\333\1\u029b"+ "\41\333\1\0\12\333\1\0\1\334\1\0\10\333\1\u0284"+ "\44\333\1\0\12\333\1\0\1\334\1\0\20\333\1\u029c"+ "\34\333\1\0\12\333\1\0\1\334\1\0\14\333\1\u029d"+ "\40\333\1\0\12\333\1\0\1\334\1\0\25\333\1\u029e"+ "\27\333\1\0\12\333\1\0\1\334\1\0\13\333\1\u0288"+ "\37\333\40\0\1\u029f\102\0\1\u02a0\55\0\1\u02a1\75\0"+ "\1\u02a2\76\0\1\u02a3\70\0\1\u02a4\71\0\1\u02a5\5\0"+ "\1\u02a6\3\0\1\u02a7\66\0\1\u02a8\65\0\1\u02a9\102\0"+ "\1\u02aa\55\0\1\u02ab\77\0\1\u02ac\70\0\1\u02ad\74\0"+ "\1\u02ae\62\0\1\u02af\101\0\1\u02b0\100\0\1\u02b1\55\0"+ "\1\u02b2\77\0\1\u02b3\31\0\1\u02b3\40\0\1\u02b4\31\0"+ "\1\u02b4\43\0\1\u02b5\32\0\23\u015a\1\u02b6\1\u02b7\46\u015a"+ "\33\0\1\u02b8\75\0\1\u02b9\70\0\1\u02ba\70\0\1\u02bb"+ "\70\0\1\u02bc\1\0\1\u02bd\2\0\1\u02be\1\0\1\u02bf"+ "\1\u02c0\1\u02c1\1\0\1\u02c2\1\u02c3\1\u02c4\1\u02c5\1\0"+ "\1\u02c6\1\u02c7\1\u02c8\14\0\1\u02be\1\u02c5\1\u02c9\51\0"+ "\1\u0179\60\0\1\u02ca\70\0\1\u02cb\70\0\1\u02bd\2\0"+ "\1\u02cc\2\0\1\u02cd\1\0\1\u02ce\3\0\1\u02c5\1\0"+ "\1\u02cf\16\0\1\u02cc\1\u02c5\1\u02c9\52\0\1\u02d0\25\0"+ "\1\u02d1\122\0\1\u02d2\73\0\1\u02d3\31\0\1\u02d3\50\0"+ "\1\u02d4\76\0\1\u02d5\112\0\1\u02d6\40\0\1\u02d7\1\0"+ "\1\u02d8\6\0\1\u02d9\1\u02c7\62\0\1\u02da\63\0\1\u02db"+ "\70\0\1\u02dc\46\0\1\u02dd\123\0\1\u02de\31\0\1\u02de"+ "\37\0\1\u02df\100\0\1\u02ce\34\0\1\u02e0\116\0\1\u02e1"+ "\114\0\1\u02e2\62\0\1\u02e3\41\0\1\u02e4\21\0\1\u02e5"+ "\5\0\1\u02e6\2\0\1\u02e7\1\0\1\u02e8\1\0\1\u02e9"+ "\17\0\1\u02e8\47\0\1\u02ea\65\0\1\u02eb\62\0\1\u02ec"+ "\1\0\1\u02bd\2\0\1\u02be\1\0\1\u02d7\1\u02c0\3\0"+ "\1\u02c3\1\u02c4\1\u02c5\1\0\1\u02ed\16\0\1\u02be\1\u02c5"+ "\1\u02c9\40\0\1\u02ee\73\0\1\u02ef\36\0\1\u02f0\116\0"+ "\1\u02f1\101\0\1\u02f2\63\0\1\u02f3\113\0\1\u02f4\66\0"+ "\1\u02c4\70\0\1\u02f5\67\0\1\207\62\0\1\u02f6\72\0"+ "\1\u0179\72\0\1\u02f7\42\0\2\333\1\0\12\333\1\0"+ "\1\334\1\0\20\333\1\u02f8\34\333\1\0\12\333\1\0"+ "\1\334\1\0\30\333\1\u02f9\24\333\1\0\12\333\1\0"+ "\1\334\1\0\13\333\1\u02fa\41\333\1\0\12\333\1\0"+ "\1\334\1\0\16\333\1\u02fb\36\333\1\0\12\333\1\0"+ "\1\334\1\0\22\333\1\u02fc\32\333\1\0\12\333\1\0"+ "\1\334\1\0\20\333\1\u02fd\34\333\1\0\12\333\1\0"+ "\1\334\1\0\17\333\1\u02fe\5\333\1\u02ff\3\333\1\u0300"+ "\23\333\1\0\12\333\1\0\1\334\1\0\25\333\1\u0301"+ "\27\333\1\0\12\333\1\0\1\334\1\0\20\333\1\u0302"+ "\34\333\1\0\12\333\1\0\1\334\1\0\30\333\1\u0303"+ "\24\333\1\0\12\333\1\0\1\334\1\0\13\333\1\u0304"+ "\41\333\1\0\12\333\1\0\1\334\1\0\20\333\1\u0305"+ "\34\333\1\0\12\333\1\0\1\334\1\0\16\333\1\u0306"+ "\36\333\1\0\12\333\1\0\1\334\1\0\20\333\1\u0307"+ "\34\333\1\0\12\333\1\0\1\334\1\0\10\333\1\u0308"+ "\44\333\1\0\12\333\1\0\1\334\1\0\17\333\1\u0309"+ "\35\333\1\0\12\333\1\0\1\334\1\0\25\333\1\u030a"+ "\27\333\1\0\12\333\1\0\1\334\1\0\10\333\1\u030b"+ "\44\333\1\0\12\333\1\0\1\334\1\0\15\333\1\u030c"+ "\31\333\1\u030c\5\333\1\0\12\333\1\0\1\334\1\0"+ "\15\333\1\u030d\31\333\1\u030d\5\333\1\0\12\333\1\0"+ "\1\334\1\0\20\333\1\u030e\32\333\2\u01ba\1\u015a\12\u01ba"+ "\3\u015a\3\u01ba\1\u030f\1\u0310\46\u01ba\2\333\1\0\12\333"+ "\1\0\1\334\1\0\13\333\1\u0311\41\333\1\0\12\333"+ "\1\0\1\334\1\0\16\333\1\u0312\36\333\1\0\12\333"+ "\1\0\1\334\1\0\14\333\1\u0313\40\333\1\0\12\333"+ "\1\0\1\334\1\0\12\333\1\u0314\42\333\1\0\12\333"+ "\1\0\1\334\1\0\10\333\1\u0315\1\333\1\u0316\2\333"+ "\1\u0317\1\333\1\u0318\1\u0319\1\u031a\1\333\1\u031b\1\u031c"+ "\1\u031d\1\u031e\1\333\1\u031f\1\u0320\1\u0321\14\333\1\u0317"+ "\1\u031e\1\u0322\3\333\1\0\12\333\1\0\1\334\1\0"+ "\30\333\1\u01d9\24\333\1\0\12\333\1\0\1\334\1\0"+ "\16\333\1\u0323\36\333\1\0\12\333\1\0\1\334\1\0"+ "\14\333\1\u0324\40\333\1\0\12\333\1\0\1\334\1\0"+ "\12\333\1\u0316\2\333\1\u0325\2\333\1\u0326\1\333\1\u0327"+ "\3\333\1\u031e\1\333\1\u0328\16\333\1\u0325\1\u031e\1\u0322"+ "\3\333\1\0\12\333\1\0\1\334\1\0\31\333\1\u0329"+ "\23\333\1\0\1\333\1\u032a\10\333\1\0\1\334\1\0"+ "\55\333\1\0\12\333\1\0\1\334\1\0\14\333\1\u032b"+ "\40\333\1\0\12\333\1\0\1\334\1\0\15\333\1\u032c"+ "\31\333\1\u032c\5\333\1\0\12\333\1\0\1\334\1\0"+ "\25\333\1\u032d\27\333\1\0\12\333\1\0\1\334\1\0"+ "\31\333\1\u032e\23\333\1\0\12\333\1\0\1\334\1\0"+ "\51\333\1\u032f\3\333\1\0\12\333\1\0\1\334\1\0"+ "\17\333\1\u0330\1\333\1\u0331\6\333\1\u0332\1\u0320\23\333"+ "\1\0\12\333\1\0\1\334\1\0\21\333\1\u0333\33\333"+ "\1\0\12\333\1\0\1\334\1\0\12\333\1\u0334\42\333"+ "\1\0\12\333\1\0\1\334\1\0\10\333\1\u0335\44\333"+ "\1\0\1\333\1\u0336\10\333\1\0\1\334\1\0\55\333"+ "\1\0\12\333\1\0\1\334\1\0\15\333\1\u0337\31\333"+ "\1\u0337\5\333\1\0\12\333\1\0\1\334\1\0\14\333"+ "\1\u0338\40\333\1\0\12\333\1\0\1\334\1\0\22\333"+ "\1\u0327\32\333\1\0\1\333\1\u0339\10\333\1\0\1\334"+ "\1\0\55\333\1\0\12\333\1\0\1\334\1\0\10\333"+ "\1\u033a\44\333\1\0\12\333\1\0\1\334\1\0\32\333"+ "\1\u033b\22\333\1\0\12\333\1\0\1\334\1\0\22\333"+ "\1\u033c\32\333\1\0\6\333\1\u033d\3\333\1\0\1\334"+ "\1\0\13\333\1\u033e\5\333\1\u033f\2\333\1\u0340\1\333"+ "\1\u0341\1\333\1\u0342\17\333\1\u0341\4\333\1\0\12\333"+ "\1\0\1\334\1\0\25\333\1\u0343\27\333\1\0\12\333"+ "\1\0\1\334\1\0\20\333\1\u0344\34\333\1\0\12\333"+ "\1\0\1\334\1\0\10\333\1\u0345\1\333\1\u0316\2\333"+ "\1\u0317\1\333\1\u0330\1\u0319\3\333\1\u031c\1\u031d\1\u031e"+ "\1\333\1\u0346\16\333\1\u0317\1\u031e\1\u0322\3\333\1\0"+ "\12\333\1\0\1\334\1\0\17\333\1\u0347\35\333\1\0"+ "\12\333\1\0\1\334\1\0\20\333\1\u0348\34\333\1\0"+ "\1\333\1\u0349\10\333\1\0\1\334\1\0\55\333\1\0"+ "\12\333\1\0\1\334\1\0\10\333\1\u034a\44\333\1\0"+ "\12\333\1\0\1\334\1\0\17\333\1\u034b\35\333\1\0"+ "\12\333\1\0\1\334\1\0\10\333\1\u034c\44\333\1\0"+ "\12\333\1\0\1\334\1\0\31\333\1\u034d\23\333\1\0"+ "\12\333\1\0\1\334\1\0\25\333\1\u031d\27\333\1\0"+ "\12\333\1\0\1\334\1\0\23\333\1\u034e\31\333\1\0"+ "\12\333\1\0\1\334\1\0\20\333\1\353\34\333\1\0"+ "\12\333\1\0\1\334\1\0\10\333\1\u034f\44\333\1\0"+ "\12\333\1\0\1\334\1\0\10\333\1\u01d9\44\333\1\0"+ "\12\333\1\0\1\334\1\0\10\333\1\u0350\42\333\37\0"+ "\1\u0351\5\0\1\u0352\3\0\1\u0353\66\0\1\u0354\65\0"+ "\1\u0355\62\0\1\u0356\102\0\1\u0357\71\0\1\u0358\75\0"+ "\1\u0359\62\0\1\u035a\75\0\1\u035b\31\0\1\u035b\40\0"+ "\1\u035c\31\0\1\u035c\42\0\1\u035d\5\0\1\u035e\3\0"+ "\1\u035f\66\0\1\u0360\65\0\1\u0361\67\0\1\u0362\31\0"+ "\1\u0362\33\0\1\u0363\101\0\1\u0364\74\0\1\u0365\76\0"+ "\1\u0366\61\0\1\u0367\75\0\1\u0368\73\0\1\u0369\64\0"+ "\1\u036a\100\0\1\u036b\43\0\1\u036c\74\0\1\u036d\55\0"+ "\1\u036e\41\0\1\u036f\71\0\1\u0370\3\0\1\u0371\1\0"+ "\1\u0372\61\0\1\u0373\4\0\1\u0374\1\u0375\1\u0376\63\0"+ "\1\u0377\66\0\1\u0378\1\0\1\u0379\7\0\1\u037a\62\0"+ "\1\u037b\1\u037c\74\0\1\u037d\31\0\1\u037d\45\0\1\u037e"+ "\60\0\1\u037f\53\0\1\u0380\22\0\1\u0381\11\0\1\u0382"+ "\21\0\1\u0382\32\0\1\u0383\113\0\1\u0384\56\0\1\u0385"+ "\31\0\1\u0385\33\0\1\u0386\102\0\1\u0387\77\0\1\u0372"+ "\57\0\1\u0388\67\0\1\u0389\111\0\1\u038a\21\0\1\u038a"+ "\32\0\1\u038b\103\0\1\u02e6\64\0\1\u038c\73\0\1\u038d"+ "\127\0\1\u038e\31\0\1\u038f\72\0\1\u0390\104\0\1\u0391"+ "\62\0\1\u0379\106\0\1\u0392\21\0\1\u0392\35\0\1\u0393"+ "\73\0\1\u0394\70\0\1\u02bd\74\0\1\u0395\42\0\1\u0396"+ "\136\0\1\u0397\26\0\1\u0398\122\0\1\237\70\0\1\u0399"+ "\103\0\1\u039a\71\0\1\u037a\60\0\1\u039b\102\0\1\u039c"+ "\66\0\1\u039d\66\0\1\u039e\55\0\1\u036d\125\0\1\u039f"+ "\21\0\1\u039f\42\0\1\u03a0\36\0\1\u03a1\126\0\1\u03a2"+ "\5\0\1\u02c5\1\0\1\u03a3\17\0\1\u02c5\35\0\1\u03a4"+ "\100\0\1\u03a5\77\0\1\u03a6\21\0\1\u03a6\36\0\1\u03a7"+ "\42\0\1\u03a8\66\0\2\333\1\0\12\333\1\0\1\334"+ "\1\0\17\333\1\u03a9\5\333\1\u03aa\3\333\1\u03ab\23\333"+ "\1\0\12\333\1\0\1\334\1\0\25\333\1\u03ac\27\333"+ "\1\0\12\333\1\0\1\334\1\0\20\333\1\u03ad\34\333"+ "\1\0\12\333\1\0\1\334\1\0\10\333\1\u03ae\44\333"+ "\1\0\12\333\1\0\1\334\1\0\20\333\1\u03af\34\333"+ "\1\0\12\333\1\0\1\334\1\0\17\333\1\u03b0\35\333"+ "\1\0\12\333\1\0\1\334\1\0\22\333\1\u03b1\32\333"+ "\1\0\12\333\1\0\1\334\1\0\12\333\1\u03b2\42\333"+ "\1\0\12\333\1\0\1\334\1\0\15\333\1\u03b3\31\333"+ "\1\u03b3\5\333\1\0\12\333\1\0\1\334\1\0\15\333"+ "\1\u03b4\31\333\1\u03b4\5\333\1\0\12\333\1\0\1\334"+ "\1\0\17\333\1\u03b5\5\333\1\u03b6\3\333\1\u03b7\23\333"+ "\1\0\12\333\1\0\1\334\1\0\25\333\1\u03b8\27\333"+ "\1\0\12\333\1\0\1\334\1\0\20\333\1\u03b9\34\333"+ "\1\0\12\333\1\0\1\334\1\0\15\333\1\u03ba\31\333"+ "\1\u03ba\5\333\1\0\12\333\1\0\1\334\1\0\10\333"+ "\1\u03bb\44\333\1\0\12\333\1\0\1\334\1\0\17\333"+ "\1\u03bc\35\333\1\0\12\333\1\0\1\334\1\0\21\333"+ "\1\u03bd\33\333\1\0\12\333\1\0\1\334\1\0\25\333"+ "\1\u03be\27\333\1\0\12\333\1\0\1\334\1\0\14\333"+ "\1\u03bf\40\333\1\0\12\333\1\0\1\334\1\0\17\333"+ "\1\u03c0\35\333\1\0\12\333\1\0\1\334\1\0\20\333"+ "\1\u03c1\34\333\1\0\12\333\1\0\1\334\1\0\12\333"+ "\1\u03c2\42\333\1\0\12\333\1\0\1\334\1\0\20\333"+ "\1\u03c3\34\333\1\0\6\333\1\u03c4\3\333\1\0\1\334"+ "\1\0\55\333\1\0\10\333\1\u03c5\1\333\1\0\1\334"+ "\1\0\51\333\1\u03c6\3\333\1\0\12\333\1\0\1\334"+ "\1\0\20\333\1\u03c7\34\333\1\0\12\333\1\0\1\334"+ "\1\0\17\333\1\u03c8\3\333\1\u03c9\1\333\1\u03ca\27\333"+ "\1\0\12\333\1\0\1\334\1\0\14\333\1\u03cb\4\333"+ "\1\u03cc\1\u03cd\1\u03ce\31\333\1\0\12\333\1\0\1\334"+ "\1\0\14\333\1\u03cf\40\333\1\0\12\333\1\0\1\334"+ "\1\0\10\333\1\u03d0\1\333\1\u03d1\7\333\1\u03d2\32\333"+ "\1\0\12\333\1\0\1\334\1\0\12\333\1\u03d3\1\u03d4"+ "\41\333\1\0\12\333\1\0\1\334\1\0\15\333\1\u03d5"+ "\31\333\1\u03d5\5\333\1\0\12\333\1\0\1\334\1\0"+ "\22\333\1\u03d6\32\333\1\0\12\333\1\0\1\334\1\0"+ "\10\333\1\u03d7\44\333\1\0\6\333\1\u03d8\3\333\1\0"+ "\1\334\1\0\14\333\1\u03d9\11\333\1\u03da\21\333\1\u03da"+ "\4\333\1\0\12\333\1\0\1\334\1\0\10\333\1\u03db"+ "\44\333\1\0\12\333\1\0\1\334\1\0\31\333\1\u03dc"+ "\23\333\1\0\12\333\1\0\1\334\1\0\15\333\1\u03dd"+ "\31\333\1\u03dd\5\333\1\0\12\333\1\0\1\334\1\0"+ "\10\333\1\u03de\44\333\1\0\12\333\1\0\1\334\1\0"+ "\20\333\1\u03df\34\333\1\0\12\333\1\0\1\334\1\0"+ "\25\333\1\u03ca\27\333\1\0\12\333\1\0\1\334\1\0"+ "\12\333\1\u03e0\42\333\1\0\12\333\1\0\1\334\1\0"+ "\7\333\1\u03e1\45\333\1\0\12\333\1\0\1\334\1\0"+ "\26\333\1\u03e2\21\333\1\u03e2\4\333\1\0\12\333\1\0"+ "\1\334\1\0\10\333\1\u03e3\44\333\1\0\12\333\1\0"+ "\1\334\1\0\21\333\1\u033f\33\333\1\0\12\333\1\0"+ "\1\334\1\0\13\333\1\u03e4\41\333\1\0\12\333\1\0"+ "\1\334\1\0\14\333\1\u03e5\40\333\1\0\12\333\1\0"+ "\1\334\1\0\51\333\1\u03e6\3\333\1\0\12\333\1\0"+ "\1\334\1\0\10\333\1\u03e7\44\333\1\0\12\333\1\0"+ "\1\334\1\0\10\333\1\u03e8\44\333\1\0\12\333\1\0"+ "\1\334\1\0\22\333\1\u03e9\32\333\1\0\12\333\1\0"+ "\1\334\1\0\12\333\1\u03d1\42\333\1\0\12\333\1\0"+ "\1\334\1\0\26\333\1\u03ea\21\333\1\u03ea\4\333\1\0"+ "\12\333\1\0\1\334\1\0\13\333\1\u03eb\41\333\1\0"+ "\12\333\1\0\1\334\1\0\14\333\1\u03ec\40\333\1\0"+ "\12\333\1\0\1\334\1\0\12\333\1\u0316\42\333\1\0"+ "\12\333\1\0\1\334\1\0\14\333\1\u03ed\40\333\1\0"+ "\1\333\1\u03ee\10\333\1\0\1\334\1\0\55\333\1\0"+ "\12\333\1\0\1\334\1\0\30\333\1\u03ef\24\333\1\0"+ "\1\333\1\u03f0\10\333\1\0\1\334\1\0\55\333\1\0"+ "\12\333\1\0\1\334\1\0\14\333\1\u0103\40\333\1\0"+ "\12\333\1\0\1\334\1\0\12\333\1\u03f1\42\333\1\0"+ "\12\333\1\0\1\334\1\0\23\333\1\u03f2\31\333\1\0"+ "\12\333\1\0\1\334\1\0\22\333\1\u03d2\32\333\1\0"+ "\12\333\1\0\1\334\1\0\10\333\1\u03f3\44\333\1\0"+ "\12\333\1\0\1\334\1\0\20\333\1\u03f4\34\333\1\0"+ "\12\333\1\0\1\334\1\0\14\333\1\u03f5\40\333\1\0"+ "\12\333\1\0\1\334\1\0\10\333\1\u03f6\44\333\1\0"+ "\10\333\1\u03c5\1\333\1\0\1\334\1\0\55\333\1\0"+ "\12\333\1\0\1\334\1\0\26\333\1\u03f7\21\333\1\u03f7"+ "\4\333\1\0\12\333\1\0\1\334\1\0\20\333\1\u03f8"+ "\34\333\1\0\1\333\1\u03f9\10\333\1\0\1\334\1\0"+ "\55\333\1\0\12\333\1\0\1\334\1\0\20\333\1\u03fa"+ "\5\333\1\u031e\1\333\1\u03fb\17\333\1\u031e\4\333\1\0"+ "\12\333\1\0\1\334\1\0\13\333\1\u03fc\41\333\1\0"+ "\12\333\1\0\1\334\1\0\21\333\1\u03fd\33\333\1\0"+ "\12\333\1\0\1\334\1\0\26\333\1\u03fe\21\333\1\u03fe"+ "\4\333\1\0\12\333\1\0\1\334\1\0\14\333\1\u03ff"+ "\40\333\1\0\1\333\1\u0400\10\333\1\0\1\334\1\0"+ "\53\333\42\0\1\u0401\62\0\1\u0402\75\0\1\u0403\31\0"+ "\1\u0403\40\0\1\u0404\31\0\1\u0404\40\0\1\u0405\31\0"+ "\1\u0405\44\0\1\u0406\64\0\1\u0407\75\0\1\u0408\74\0"+ "\1\u0409\71\0\1\u040a\75\0\1\u040b\62\0\1\u040c\75\0"+ "\1\u040d\31\0\1\u040d\40\0\1\u040e\31\0\1\u040e\40\0"+ "\1\u040f\31\0\1\u040f\35\0\1\u0410\101\0\1\u0411\100\0"+ "\1\u0412\64\0\1\u0179\35\0\1\u0413\130\0\1\u0414\34\0"+ "\1\u0415\116\0\1\u0416\72\0\1\u0417\72\0\1\u0418\107\0"+ "\1\u0419\65\0\1\u041a\64\0\1\u041b\70\0\1\u041c\74\0"+ "\1\u041d\73\0\1\u041e\15\0\1\u041f\66\0\1\u0420\62\0"+ "\1\u0421\31\0\1\u0421\50\0\1\u0422\73\0\1\u0423\21\0"+ "\1\u0423\50\0\1\u0424\21\0\1\u0424\41\0\1\u0425\65\0"+ "\1\u0426\100\0\1\u0427\71\0\1\u0428\67\0\1\u0429\51\0"+ "\1\u042a\121\0\1\u042b\74\0\1\u042c\1\0\1\u042d\1\0"+ "\1\u042e\17\0\1\u042d\53\0\1\u042f\53\0\1\u0235\74\0"+ "\1\u0430\42\0\1\u0431\72\0\1\u0432\137\0\1\u0433\113\0"+ "\1\u0434\44\0\1\u042c\66\0\1\u038f\62\0\1\u0236\46\0"+ "\1\u0435\72\0\1\u0436\121\0\1\u041e\105\0\1\u042d\21\0"+ "\1\u042d\45\0\1\u0437\67\0\1\u0438\62\0\1\u0439\74\0"+ "\1\u02bd\4\0\1\u02d7\31\0\1\u02c9\36\0\1\u043a\31\0"+ "\1\u043a\42\0\1\u043b\100\0\1\u0427\72\0\1\u0370\36\0"+ "\1\u043c\115\0\1\u043d\70\0\1\u043e\44\0\1\u043f\132\0"+ "\1\u0440\32\0\1\u0441\126\0\1\u03a2\5\0\1\u0442\21\0"+ "\1\u0442\36\0\1\u0443\72\0\1\u0381\102\0\1\u038f\74\0"+ "\1\u0444\21\0\1\u0444\32\0\1\u0445\72\0\1\u0446\10\0"+ "\1\u02e6\1\u0447\1\0\1\u0440\3\0\1\u0448\1\0\1\u0449"+ "\16\0\1\u044a\1\0\2\333\1\0\12\333\1\0\1\334"+ "\1\0\22\333\1\u044b\32\333\1\0\12\333\1\0\1\334"+ "\1\0\12\333\1\u044c\42\333\1\0\12\333\1\0\1\334"+ "\1\0\15\333\1\u044d\31\333\1\u044d\5\333\1\0\12\333"+ "\1\0\1\334\1\0\15\333\1\u044e\31\333\1\u044e\5\333"+ "\1\0\12\333\1\0\1\334\1\0\15\333\1\u044f\31\333"+ "\1\u044f\5\333\1\0\12\333\1\0\1\334\1\0\21\333"+ "\1\u0450\33\333\1\0\12\333\1\0\1\334\1\0\13\333"+ "\1\u0451\41\333\1\0\12\333\1\0\1\334\1\0\16\333"+ "\1\u0452\36\333\1\0\12\333\1\0\1\334\1\0\20\333"+ "\1\u0453\34\333\1\0\12\333\1\0\1\334\1\0\17\333"+ "\1\u0454\35\333\1\0\12\333\1\0\1\334\1\0\22\333"+ "\1\u0455\32\333\1\0\12\333\1\0\1\334\1\0\12\333"+ "\1\u0456\42\333\1\0\12\333\1\0\1\334\1\0\15\333"+ "\1\u0457\31\333\1\u0457\5\333\1\0\12\333\1\0\1\334"+ "\1\0\15\333\1\u0458\31\333\1\u0458\5\333\1\0\12\333"+ "\1\0\1\334\1\0\15\333\1\u0459\31\333\1\u0459\5\333"+ "\1\0\12\333\1\0\1\334\1\0\12\333\1\u045a\42\333"+ "\1\0\12\333\1\0\1\334\1\0\21\333\1\u045b\33\333"+ "\1\0\12\333\1\0\1\334\1\0\27\333\1\u045c\25\333"+ "\1\0\12\333\1\0\1\334\1\0\21\333\1\u01d9\33\333"+ "\1\0\1\333\1\u045d\10\333\1\0\1\334\1\0\55\333"+ "\1\0\12\333\1\0\1\334\1\0\22\333\1\u045e\32\333"+ "\1\0\1\333\1\u045f\10\333\1\0\1\334\1\0\55\333"+ "\1\0\12\333\1\0\1\334\1\0\10\333\1\u0460\44\333"+ "\1\0\12\333\1\0\1\334\1\0\10\333\1\u0461\44\333"+ "\1\0\12\333\1\0\1\334\1\0\10\333\1\u0462\44\333"+ "\1\0\12\333\1\0\1\334\1\0\25\333\1\u0463\27\333"+ "\1\0\12\333\1\0\1\334\1\0\20\333\1\u0464\34\333"+ "\1\0\12\333\1\0\1\334\1\0\12\333\1\u0465\42\333"+ "\1\0\12\333\1\0\1\334\1\0\10\333\1\u0466\44\333"+ "\1\0\12\333\1\0\1\334\1\0\12\333\1\u0467\42\333"+ "\1\0\12\333\1\0\1\334\1\0\13\333\1\u0468\15\333"+ "\1\u0469\23\333\1\0\12\333\1\0\1\334\1\0\25\333"+ "\1\u046a\27\333\1\0\12\333\1\0\1\334\1\0\15\333"+ "\1\u046b\31\333\1\u046b\5\333\1\0\12\333\1\0\1\334"+ "\1\0\25\333\1\u046c\27\333\1\0\12\333\1\0\1\334"+ "\1\0\26\333\1\u046d\21\333\1\u046d\4\333\1\0\12\333"+ "\1\0\1\334\1\0\26\333\1\u046e\21\333\1\u046e\4\333"+ "\1\0\12\333\1\0\1\334\1\0\17\333\1\u046f\35\333"+ "\1\0\12\333\1\0\1\334\1\0\12\333\1\u0470\42\333"+ "\1\0\12\333\1\0\1\334\1\0\20\333\1\u0471\34\333"+ "\1\0\12\333\1\0\1\334\1\0\17\333\1\u0472\35\333"+ "\1\0\12\333\1\0\1\334\1\0\14\333\1\u0473\40\333"+ "\1\0\10\333\1\u0474\1\333\1\0\1\334\1\0\55\333"+ "\1\0\12\333\1\0\1\334\1\0\22\333\1\u0475\32\333"+ "\1\0\12\333\1\0\1\334\1\0\24\333\1\u0476\1\333"+ "\1\u0477\1\333\1\u0478\17\333\1\u0477\4\333\1\0\12\333"+ "\1\0\1\334\1\0\31\333\1\u0479\23\333\1\0\12\333"+ "\1\0\1\334\1\0\12\333\1\u0287\42\333\1\0\12\333"+ "\1\0\1\334\1\0\14\333\1\u047a\40\333\1\0\1\333"+ "\1\u047b\10\333\1\0\1\334\1\0\55\333\1\0\1\333"+ "\1\u047c\10\333\1\0\1\334\1\0\55\333\1\0\12\333"+ "\1\0\1\334\1\0\31\333\1\u047d\23\333\1\0\12\333"+ "\1\0\1\334\1\0\52\333\1\u047e\2\333\1\0\12\333"+ "\1\0\1\334\1\0\24\333\1\u0476\30\333\1\0\12\333"+ "\1\0\1\334\1\0\20\333\1\u03e7\34\333\1\0\12\333"+ "\1\0\1\334\1\0\10\333\1\u0288\44\333\1\0\1\333"+ "\1\u047f\10\333\1\0\1\334\1\0\55\333\1\0\1\333"+ "\1\u0480\10\333\1\0\1\334\1\0\55\333\1\0\12\333"+ "\1\0\1\334\1\0\13\333\1\u0468\41\333\1\0\12\333"+ "\1\0\1\334\1\0\26\333\1\u0477\21\333\1\u0477\4\333"+ "\1\0\12\333\1\0\1\334\1\0\23\333\1\u0481\31\333"+ "\1\0\12\333\1\0\1\334\1\0\20\333\1\u0482\34\333"+ "\1\0\12\333\1\0\1\334\1\0\10\333\1\u0483\44\333"+ "\1\0\12\333\1\0\1\334\1\0\12\333\1\u0316\4\333"+ "\1\u0330\31\333\1\u0322\3\333\1\0\12\333\1\0\1\334"+ "\1\0\15\333\1\u0484\31\333\1\u0484\5\333\1\0\12\333"+ "\1\0\1\334\1\0\17\333\1\u0485\35\333\1\0\12\333"+ "\1\0\1\334\1\0\25\333\1\u0471\27\333\1\0\12\333"+ "\1\0\1\334\1\0\25\333\1\u03c8\27\333\1\0\6\333"+ "\1\u0486\3\333\1\0\1\334\1\0\55\333\1\0\12\333"+ "\1\0\1\334\1\0\14\333\1\u0487\40\333\1\0\12\333"+ "\1\0\1\334\1\0\12\333\1\u0488\42\333\1\0\1\333"+ "\1\u0489\10\333\1\0\1\334\1\0\55\333\1\0\12\333"+ "\1\0\1\334\1\0\24\333\1\u048a\30\333\1\0\1\333"+ "\1\u048b\10\333\1\0\1\334\1\0\55\333\1\0\12\333"+ "\1\0\1\334\1\0\20\333\1\u03fa\5\333\1\u048c\21\333"+ "\1\u048c\4\333\1\0\12\333\1\0\1\334\1\0\14\333"+ "\1\u048d\40\333\1\0\12\333\1\0\1\334\1\0\14\333"+ "\1\u03d9\40\333\1\0\12\333\1\0\1\334\1\0\24\333"+ "\1\u03e7\30\333\1\0\12\333\1\0\1\334\1\0\26\333"+ "\1\u048e\21\333\1\u048e\4\333\1\0\12\333\1\0\1\334"+ "\1\0\10\333\1\u048f\44\333\1\0\12\333\1\0\1\334"+ "\1\0\10\333\1\u0490\10\333\1\u033f\1\u0491\1\333\1\u048a"+ "\3\333\1\u0492\1\333\1\u0493\16\333\1\u0494\1\333\33\0"+ "\1\u0495\75\0\1\u0496\74\0\1\u0497\71\0\1\u0498\65\0"+ "\1\u0499\100\0\1\u049a\62\0\1\u049b\101\0\1\u049c\63\0"+ "\1\u049d\75\0\1\u049e\75\0\1\u049f\74\0\1\u04a0\71\0"+ "\1\u04a1\65\0\1\u04a2\73\0\1\u04a3\76\0\1\u04a4\1\u04a5"+ "\4\0\1\u04a6\4\0\1\u04a7\53\0\1\u04a8\74\0\1\u02cc"+ "\1\0\1\u04a9\27\0\1\u02cc\42\0\1\u04aa\66\0\1\u04ab"+ "\110\0\1\u04ac\62\0\1\u04ad\66\0\1\u04ae\31\0\1\u04ae"+ "\47\0\1\u04af\73\0\1\u04b0\65\0\1\u04b1\103\0\1\u04b2"+ "\61\0\1\u04b3\71\0\1\u04b4\103\0\1\u0419\62\0\1\u04b5"+ "\72\0\1\u0419\75\0\1\u0376\115\0\1\u04b6\34\0\1\u0419"+ "\77\0\1\u04b7\31\0\1\u04b7\74\0\1\u04b8\40\0\1\u04b9"+ "\72\0\1\u04ba\67\0\1\u04bb\71\0\1\u04bc\73\0\1\u04bd"+ "\65\0\1\u04be\75\0\1\u04a5\70\0\1\u04bf\1\0\1\u04c0"+ "\6\0\1\u02d8\66\0\1\u02cc\1\0\1\u04c1\27\0\1\u02cc"+ "\33\0\1\u04c2\72\0\1\u04c3\110\0\1\u02c5\21\0\1\u02c5"+ "\34\0\1\u02bd\15\0\1\u04c4\20\0\1\u02c9\31\0\1\u04c5"+ "\46\0\1\u02e0\4\0\1\u04c6\26\0\1\u04c7\72\0\1\u04c8"+ "\74\0\1\u04c9\65\0\1\u04ca\31\0\1\u04ca\35\0\1\u04cb"+ "\73\0\1\u04cc\50\0\1\u04cd\26\0\1\u04ce\62\0\1\u04cf"+ "\104\0\1\u02ce\3\0\1\u02e8\21\0\1\u02e8\32\0\1\u037f"+ "\14\0\1\u04d0\62\0\1\u04d1\31\0\1\u04d1\7\0\1\u04d2"+ "\122\0\1\u04d3\101\0\1\u04d4\63\0\1\u04d5\73\0\1\u04d6"+ "\31\0\1\u04d6\33\0\1\u04d7\42\0\2\333\1\0\12\333"+ "\1\0\1\334\1\0\13\333\1\u04d8\41\333\1\0\12\333"+ "\1\0\1\334\1\0\16\333\1\u04d9\36\333\1\0\12\333"+ "\1\0\1\334\1\0\20\333\1\u04da\34\333\1\0\12\333"+ "\1\0\1\334\1\0\17\333\1\u04db\35\333\1\0\12\333"+ "\1\0\1\334\1\0\12\333\1\u04dc\42\333\1\0\12\333"+ "\1\0\1\334\1\0\20\333\1\u04dd\34\333\1\0\12\333"+ "\1\0\1\334\1\0\10\333\1\u04de\44\333\1\0\12\333"+ "\1\0\1\334\1\0\17\333\1\u04df\35\333\1\0\12\333"+ "\1\0\1\334\1\0\10\333\1\u04e0\44\333\1\0\12\333"+ "\1\0\1\334\1\0\13\333\1\u04e1\41\333\1\0\12\333"+ "\1\0\1\334\1\0\16\333\1\u04e2\36\333\1\0\12\333"+ "\1\0\1\334\1\0\20\333\1\u04e3\34\333\1\0\12\333"+ "\1\0\1\334\1\0\17\333\1\u04e4\35\333\1\0\12\333"+ "\1\0\1\334\1\0\12\333\1\u04e5\42\333\1\0\12\333"+ "\1\0\1\334\1\0\13\333\1\u04e6\41\333\1\0\12\333"+ "\1\0\1\334\1\0\17\333\1\u04e7\1\u04e8\4\333\1\u04e9"+ "\4\333\1\u04ea\22\333\1\0\12\333\1\0\1\334\1\0"+ "\13\333\1\u04eb\41\333\1\0\12\333\1\0\1\334\1\0"+ "\15\333\1\u0325\1\333\1\u04ec\27\333\1\u0325\5\333\1\0"+ "\12\333\1\0\1\334\1\0\17\333\1\u04ed\35\333\1\0"+ "\12\333\1\0\1\334\1\0\13\333\1\u04ee\41\333\1\0"+ "\12\333\1\0\1\334\1\0\31\333\1\u04ef\23\333\1\0"+ "\12\333\1\0\1\334\1\0\21\333\1\u04f0\33\333\1\0"+ "\12\333\1\0\1\334\1\0\15\333\1\u04f1\31\333\1\u04f1"+ "\5\333\1\0\12\333\1\0\1\334\1\0\24\333\1\u04f2"+ "\30\333\1\0\12\333\1\0\1\334\1\0\25\333\1\u04f3"+ "\27\333\1\0\12\333\1\0\1\334\1\0\20\333\1\u04f4"+ "\34\333\1\0\12\333\1\0\1\334\1\0\31\333\1\u04f5"+ "\23\333\1\0\12\333\1\0\1\334\1\0\20\333\1\u04f6"+ "\34\333\1\0\12\333\1\0\1\334\1\0\17\333\1\u04f7"+ "\35\333\1\0\12\333\1\0\1\334\1\0\30\333\1\u0463"+ "\24\333\1\0\12\333\1\0\1\334\1\0\20\333\1\u04f8"+ "\34\333\1\0\12\333\1\0\1\334\1\0\20\333\1\u0463"+ "\34\333\1\0\12\333\1\0\1\334\1\0\23\333\1\u03ce"+ "\31\333\1\0\12\333\1\0\1\334\1\0\46\333\1\u04f9"+ "\6\333\1\0\12\333\1\0\1\334\1\0\10\333\1\u0463"+ "\44\333\1\0\12\333\1\0\1\334\1\0\15\333\1\u04fa"+ "\31\333\1\u04fa\5\333\1\0\12\333\1\0\1\334\1\0"+ "\51\333\1\u04fb\3\333\1\0\12\333\1\0\1\334\1\0"+ "\17\333\1\u04fc\35\333\1\0\12\333\1\0\1\334\1\0"+ "\17\333\1\u04fd\35\333\1\0\12\333\1\0\1\334\1\0"+ "\14\333\1\u04fe\40\333\1\0\12\333\1\0\1\334\1\0"+ "\13\333\1\u04ff\41\333\1\0\12\333\1\0\1\334\1\0"+ "\14\333\1\u0500\40\333\1\0\12\333\1\0\1\334\1\0"+ "\7\333\1\u0501\45\333\1\0\12\333\1\0\1\334\1\0"+ "\12\333\1\u04e8\42\333\1\0\12\333\1\0\1\334\1\0"+ "\10\333\1\u0502\1\333\1\u0503\6\333\1\u0331\33\333\1\0"+ "\12\333\1\0\1\334\1\0\15\333\1\u0325\1\333\1\u0504"+ "\27\333\1\u0325\5\333\1\0\12\333\1\0\1\334\1\0"+ "\10\333\1\u0505\44\333\1\0\12\333\1\0\1\334\1\0"+ "\10\333\1\u0506\44\333\1\0\12\333\1\0\1\334\1\0"+ "\26\333\1\u031e\21\333\1\u031e\4\333\1\0\12\333\1\0"+ "\1\334\1\0\12\333\1\u0316\15\333\1\u0507\20\333\1\u0322"+ "\3\333\1\0\12\333\1\0\1\334\1\0\10\333\1\u0508"+ "\44\333\1\0\1\333\1\u0339\4\333\1\u0509\3\333\1\0"+ "\1\334\1\0\20\333\1\u050a\34\333\1\0\12\333\1\0"+ "\1\334\1\0\20\333\1\u050b\34\333\1\0\12\333\1\0"+ "\1\334\1\0\22\333\1\u050c\32\333\1\0\12\333\1\0"+ "\1\334\1\0\15\333\1\u050d\31\333\1\u050d\5\333\1\0"+ "\12\333\1\0\1\334\1\0\12\333\1\u050e\42\333\1\0"+ "\12\333\1\0\1\334\1\0\13\333\1\u050f\41\333\1\0"+ "\6\333\1\u0510\3\333\1\0\1\334\1\0\20\333\1\u0511"+ "\34\333\1\0\12\333\1\0\1\334\1\0\10\333\1\u0512"+ "\44\333\1\0\12\333\1\0\1\334\1\0\22\333\1\u0327"+ "\3\333\1\u0341\21\333\1\u0341\4\333\1\0\12\333\1\0"+ "\1\334\1\0\10\333\1\u03d7\14\333\1\u0513\27\333\1\0"+ "\12\333\1\0\1\334\1\0\15\333\1\u0514\31\333\1\u0514"+ "\5\333\1\0\1\333\1\u0515\10\333\1\0\1\334\1\0"+ "\55\333\1\0\12\333\1\0\1\334\1\0\14\333\1\u0516"+ "\40\333\1\0\12\333\1\0\1\334\1\0\23\333\1\u0517"+ "\31\333\1\0\12\333\1\0\1\334\1\0\14\333\1\u0518"+ "\40\333\1\0\12\333\1\0\1\334\1\0\15\333\1\u0519"+ "\31\333\1\u0519\5\333\1\0\12\333\1\0\1\334\1\0"+ "\10\333\1\u051a\42\333\40\0\1\u051b\62\0\1\u051c\101\0"+ "\1\u051d\63\0\1\u051e\75\0\1\u051f\74\0\1\u0520\31\0"+ "\1\u0520\44\0\1\u0521\71\0\1\u0522\62\0\1\u0523\101\0"+ "\1\u0524\63\0\1\u0525\75\0\1\u0526\105\0\1\u0527\21\0"+ "\1\u0527\45\0\1\u0528\64\0\1\u0529\31\0\1\u0529\35\0"+ "\1\u037a\72\0\1\u052a\102\0\1\u052b\2\0\1\u052c\1\u052d"+ "\21\0\1\u052d\45\0\1\u052e\67\0\1\u052f\102\0\1\u0530"+ "\52\0\1\u0531\110\0\1\u0419\21\0\1\u0419\32\0\1\u0532"+ "\106\0\1\u0533\56\0\1\u0534\77\0\1\u0535\31\0\1\u0535"+ "\46\0\1\u0536\57\0\1\u0537\104\0\1\u0538\73\0\1\u0427"+ "\67\0\1\u0539\64\0\1\u053a\70\0\1\u053b\72\0\1\u053c"+ "\74\0\1\u053d\75\0\1\u053e\31\0\1\u053e\45\0\1\u053f"+ "\60\0\1\u0540\55\0\1\u0541\117\0\1\u0542\77\0\1\u052c"+ "\1\u052d\21\0\1\u052d\50\0\1\u0543\21\0\1\u0543\41\0"+ "\1\u0424\101\0\1\u0544\21\0\1\u0544\36\0\1\u0545\100\0"+ "\1\u0546\71\0\1\u0419\102\0\1\u041f\64\0\1\u0547\62\0"+ "\1\u0548\77\0\1\u04be\74\0\1\u0549\77\0\1\u054a\52\0"+ "\1\u054b\73\0\1\u054c\75\0\1\u054d\76\0\1\u043b\2\0"+ "\1\u02ce\64\0\1\u054e\76\0\1\u054f\74\0\1\u0550\64\0"+ "\1\u0551\72\0\1\u0552\36\0\2\333\1\0\12\333\1\0"+ "\1\334\1\0\20\333\1\u0553\34\333\1\0\12\333\1\0"+ "\1\334\1\0\10\333\1\u0554\44\333\1\0\12\333\1\0"+ "\1\334\1\0\17\333\1\u0555\35\333\1\0\12\333\1\0"+ "\1\334\1\0\10\333\1\u0556\44\333\1\0\12\333\1\0"+ "\1\334\1\0\13\333\1\u0557\41\333\1\0\12\333\1\0"+ "\1\334\1\0\15\333\1\u0558\31\333\1\u0558\5\333\1\0"+ "\12\333\1\0\1\334\1\0\21\333\1\u0559\33\333\1\0"+ "\12\333\1\0\1\334\1\0\20\333\1\u055a\34\333\1\0"+ "\12\333\1\0\1\334\1\0\10\333\1\u055b\44\333\1\0"+ "\12\333\1\0\1\334\1\0\17\333\1\u055c\35\333\1\0"+ "\12\333\1\0\1\334\1\0\10\333\1\u055d\44\333\1\0"+ "\12\333\1\0\1\334\1\0\13\333\1\u055e\41\333\1\0"+ "\12\333\1\0\1\334\1\0\26\333\1\u055f\21\333\1\u055f"+ "\4\333\1\0\12\333\1\0\1\334\1\0\23\333\1\u0560"+ "\31\333\1\0\12\333\1\0\1\334\1\0\15\333\1\u0561"+ "\31\333\1\u0561\5\333\1\0\12\333\1\0\1\334\1\0"+ "\12\333\1\u03d2\42\333\1\0\12\333\1\0\1\334\1\0"+ "\12\333\1\u0562\42\333\1\0\12\333\1\0\1\334\1\0"+ "\22\333\1\u0563\2\333\1\u0564\1\u0565\21\333\1\u0565\4\333"+ "\1\0\12\333\1\0\1\334\1\0\23\333\1\u0566\31\333"+ "\1\0\12\333\1\0\1\334\1\0\20\333\1\u0567\34\333"+ "\1\0\12\333\1\0\1\334\1\0\30\333\1\u0568\24\333"+ "\1\0\12\333\1\0\1\334\1\0\10\333\1\u0569\44\333"+ "\1\0\12\333\1\0\1\334\1\0\26\333\1\u0463\21\333"+ "\1\u0463\4\333\1\0\12\333\1\0\1\334\1\0\10\333"+ "\1\u056a\44\333\1\0\12\333\1\0\1\334\1\0\24\333"+ "\1\u056b\30\333\1\0\12\333\1\0\1\334\1\0\10\333"+ "\1\u056c\44\333\1\0\12\333\1\0\1\334\1\0\15\333"+ "\1\u056d\31\333\1\u056d\5\333\1\0\12\333\1\0\1\334"+ "\1\0\23\333\1\u056e\31\333\1\0\12\333\1\0\1\334"+ "\1\0\10\333\1\u056f\44\333\1\0\12\333\1\0\1\334"+ "\1\0\22\333\1\u0570\32\333\1\0\12\333\1\0\1\334"+ "\1\0\23\333\1\u0471\31\333\1\0\12\333\1\0\1\334"+ "\1\0\20\333\1\u0571\34\333\1\0\12\333\1\0\1\334"+ "\1\0\12\333\1\u0572\42\333\1\0\12\333\1\0\1\334"+ "\1\0\10\333\1\u0573\44\333\1\0\12\333\1\0\1\334"+ "\1\0\10\333\1\u0574\44\333\1\0\12\333\1\0\1\334"+ "\1\0\12\333\1\u0575\42\333\1\0\12\333\1\0\1\334"+ "\1\0\15\333\1\u0576\31\333\1\u0576\5\333\1\0\12\333"+ "\1\0\1\334\1\0\22\333\1\u0577\32\333\1\0\12\333"+ "\1\0\1\334\1\0\10\333\1\u0578\44\333\1\0\10\333"+ "\1\u0579\1\333\1\0\1\334\1\0\55\333\1\0\12\333"+ "\1\0\1\334\1\0\20\333\1\u057a\34\333\1\0\12\333"+ "\1\0\1\334\1\0\25\333\1\u0564\1\u0565\21\333\1\u0565"+ "\4\333\1\0\12\333\1\0\1\334\1\0\26\333\1\u057b"+ "\21\333\1\u057b\4\333\1\0\12\333\1\0\1\334\1\0"+ "\17\333\1\u046e\35\333\1\0\12\333\1\0\1\334\1\0"+ "\26\333\1\u057c\21\333\1\u057c\4\333\1\0\12\333\1\0"+ "\1\334\1\0\14\333\1\u057d\40\333\1\0\12\333\1\0"+ "\1\334\1\0\22\333\1\u057e\32\333\1\0\12\333\1\0"+ "\1\334\1\0\21\333\1\u0463\33\333\1\0\12\333\1\0"+ "\1\334\1\0\31\333\1\u0469\23\333\1\0\12\333\1\0"+ "\1\334\1\0\23\333\1\u057f\31\333\1\0\12\333\1\0"+ "\1\334\1\0\13\333\1\u0580\41\333\1\0\12\333\1\0"+ "\1\334\1\0\20\333\1\u0501\34\333\1\0\12\333\1\0"+ "\1\334\1\0\22\333\1\u0581\32\333\1\0\12\333\1\0"+ "\1\334\1\0\27\333\1\u0582\25\333\1\0\12\333\1\0"+ "\1\334\1\0\7\333\1\u0583\45\333\1\0\12\333\1\0"+ "\1\334\1\0\10\333\1\u0584\44\333\1\0\12\333\1\0"+ "\1\334\1\0\13\333\1\u0585\41\333\1\0\12\333\1\0"+ "\1\334\1\0\17\333\1\u0485\2\333\1\u0327\32\333\1\0"+ "\12\333\1\0\1\334\1\0\14\333\1\u0586\40\333\1\0"+ "\12\333\1\0\1\334\1\0\20\333\1\u0587\34\333\1\0"+ "\12\333\1\0\1\334\1\0\22\333\1\u0588\32\333\1\0"+ "\12\333\1\0\1\334\1\0\14\333\1\u0589\40\333\1\0"+ "\12\333\1\0\1\334\1\0\14\333\1\u058a\36\333\35\0"+ "\1\u058b\31\0\1\u058b\44\0\1\u058c\77\0\1\u058d\21\0"+ "\1\u058d\34\0\1\u058e\75\0\1\u058f\31\0\1\u058f\44\0"+ "\1\u0590\77\0\1\u0591\21\0\1\u0591\50\0\1\u0592\21\0"+ "\1\u0592\31\0\1\u0399\107\0\1\u0427\61\0\1\u0593\71\0"+ "\1\u0594\131\0\1\u0419\41\0\1\u0595\77\0\1\u0596\61\0"+ "\1\u0597\71\0\1\u0598\72\0\1\u0599\71\0\1\u04c0\73\0"+ "\1\u0424\72\0\1\u059a\73\0\1\u0427\104\0\1\u059b\21\0"+ "\1\u059b\36\0\1\u059c\70\0\1\u059d\77\0\1\u0427\67\0"+ "\1\u059e\104\0\1\u04ae\21\0\1\u04ae\73\0\1\u0427\51\0"+ "\1\u059f\113\0\1\u05a0\35\0\1\u0419\106\0\1\u05a1\52\0"+ "\1\u05a2\112\0\1\u05a3\66\0\1\u042c\1\0\1\u042d\21\0"+ "\1\u042d\44\0\1\u05a4\34\0\1\u05a5\133\0\1\u0424\56\0"+ "\1\u0419\75\0\1\u05a6\106\0\1\u05a7\65\0\1\u0548\57\0"+ "\1\u0422\110\0\1\u05a8\21\0\1\u05a8\44\0\1\u0540\100\0"+ "\1\u05a9\53\0\1\u05aa\74\0\1\u043d\66\0\1\u05ab\43\0"+ "\2\333\1\0\12\333\1\0\1\334\1\0\15\333\1\u05ac"+ "\31\333\1\u05ac\5\333\1\0\12\333\1\0\1\334\1\0"+ "\21\333\1\u05ad\33\333\1\0\12\333\1\0\1\334\1\0"+ "\26\333\1\u05ae\21\333\1\u05ae\4\333\1\0\12\333\1\0"+ "\1\334\1\0\12\333\1\u05af\42\333\1\0\12\333\1\0"+ "\1\334\1\0\15\333\1\u05b0\31\333\1\u05b0\5\333\1\0"+ "\12\333\1\0\1\334\1\0\21\333\1\u05b1\33\333\1\0"+ "\12\333\1\0\1\334\1\0\26\333\1\u05b2\21\333\1\u05b2"+ "\4\333\1\0\12\333\1\0\1\334\1\0\26\333\1\u05b3"+ "\21\333\1\u05b3\4\333\1\0\12\333\1\0\1\334\1\0"+ "\7\333\1\u03f1\45\333\1\0\12\333\1\0\1\334\1\0"+ "\24\333\1\u0471\30\333\1\0\12\333\1\0\1\334\1\0"+ "\13\333\1\u05b4\41\333\1\0\12\333\1\0\1\334\1\0"+ "\12\333\1\u05b5\42\333\1\0\12\333\1\0\1\334\1\0"+ "\51\333\1\u0463\3\333\1\0\12\333\1\0\1\334\1\0"+ "\20\333\1\u05b6\34\333\1\0\12\333\1\0\1\334\1\0"+ "\25\333\1\u05b7\27\333\1\0\12\333\1\0\1\334\1\0"+ "\14\333\1\u05b8\40\333\1\0\12\333\1\0\1\334\1\0"+ "\13\333\1\u05b9\41\333\1\0\12\333\1\0\1\334\1\0"+ "\13\333\1\u05ba\41\333\1\0\12\333\1\0\1\334\1\0"+ "\12\333\1\u0503\42\333\1\0\12\333\1\0\1\334\1\0"+ "\13\333\1\u046e\41\333\1\0\12\333\1\0\1\334\1\0"+ "\13\333\1\u05bb\41\333\1\0\12\333\1\0\1\334\1\0"+ "\14\333\1\u0471\40\333\1\0\12\333\1\0\1\334\1\0"+ "\26\333\1\u05bc\21\333\1\u05bc\4\333\1\0\12\333\1\0"+ "\1\334\1\0\14\333\1\u05bd\40\333\1\0\12\333\1\0"+ "\1\334\1\0\12\333\1\u05be\42\333\1\0\12\333\1\0"+ "\1\334\1\0\17\333\1\u0471\35\333\1\0\12\333\1\0"+ "\1\334\1\0\14\333\1\u05bf\40\333\1\0\12\333\1\0"+ "\1\334\1\0\26\333\1\u04f1\21\333\1\u04f1\4\333\1\0"+ "\12\333\1\0\1\334\1\0\51\333\1\u0471\3\333\1\0"+ "\12\333\1\0\1\334\1\0\30\333\1\u05c0\24\333\1\0"+ "\12\333\1\0\1\334\1\0\51\333\1\u05c1\3\333\1\0"+ "\12\333\1\0\1\334\1\0\14\333\1\u0463\40\333\1\0"+ "\12\333\1\0\1\334\1\0\30\333\1\u05c2\24\333\1\0"+ "\12\333\1\0\1\334\1\0\10\333\1\u05c3\44\333\1\0"+ "\12\333\1\0\1\334\1\0\30\333\1\u05c4\24\333\1\0"+ "\12\333\1\0\1\334\1\0\24\333\1\u0476\1\333\1\u0477"+ "\21\333\1\u0477\4\333\1\0\12\333\1\0\1\334\1\0"+ "\22\333\1\u05c5\32\333\1\0\1\333\1\u05c6\10\333\1\0"+ "\1\334\1\0\55\333\1\0\12\333\1\0\1\334\1\0"+ "\25\333\1\u046e\27\333\1\0\12\333\1\0\1\334\1\0"+ "\11\333\1\u0463\43\333\1\0\12\333\1\0\1\334\1\0"+ "\14\333\1\u05c7\40\333\1\0\12\333\1\0\1\334\1\0"+ "\30\333\1\u05c8\24\333\1\0\12\333\1\0\1\334\1\0"+ "\23\333\1\u0580\31\333\1\0\12\333\1\0\1\334\1\0"+ "\10\333\1\u046c\44\333\1\0\12\333\1\0\1\334\1\0"+ "\26\333\1\u05c9\21\333\1\u05c9\4\333\1\0\12\333\1\0"+ "\1\334\1\0\22\333\1\u0578\32\333\1\0\12\333\1\0"+ "\1\334\1\0\30\333\1\u05ca\24\333\1\0\12\333\1\0"+ "\1\334\1\0\11\333\1\u05cb\43\333\1\0\12\333\1\0"+ "\1\334\1\0\13\333\1\u0487\41\333\1\0\12\333\1\0"+ "\1\334\1\0\7\333\1\u05cc\43\333\32\0\1\u05cd\73\0"+ "\1\u05ce\71\0\1\u05cf\100\0\1\u05d0\100\0\1\u05d1\21\0"+ "\1\u05d1\15\0\1\u05d2\111\0\1\u05d3\102\0\1\u0548\72\0"+ "\1\u05d4\70\0\1\u05d5\72\0\1\u05d6\76\0\1\u0419\70\0"+ "\1\u05d7\77\0\1\u0419\65\0\1\u05d8\70\0\1\u05d9\64\0"+ "\1\u05d8\72\0\1\u05da\74\0\1\u05db\107\0\1\u0419\56\0"+ "\1\u05d8\31\0\1\u05d8\54\0\1\u05dc\62\0\1\u05dd\4\0"+ "\1\u05de\21\0\1\u05de\53\0\1\u05df\51\0\1\u05e0\101\0"+ "\1\u05e1\76\0\1\u0424\63\0\1\u04ba\100\0\1\u05e2\30\0"+ "\2\333\1\0\12\333\1\0\1\334\1\0\12\333\1\u05e3"+ "\42\333\1\0\12\333\1\0\1\334\1\0\13\333\1\u05e4"+ "\41\333\1\0\12\333\1\0\1\334\1\0\12\333\1\u05e5"+ "\42\333\1\0\12\333\1\0\1\334\1\0\20\333\1\u05e6"+ "\34\333\1\0\12\333\1\0\1\334\1\0\26\333\1\u05e7"+ "\21\333\1\u05e7\4\333\1\0\10\333\1\u05e8\1\333\1\0"+ "\1\334\1\0\55\333\1\0\12\333\1\0\1\334\1\0"+ "\12\333\1\u05e9\42\333\1\0\12\333\1\0\1\334\1\0"+ "\22\333\1\u0580\32\333\1\0\12\333\1\0\1\334\1\0"+ "\22\333\1\u05ea\32\333\1\0\12\333\1\0\1\334\1\0"+ "\20\333\1\u05eb\34\333\1\0\12\333\1\0\1\334\1\0"+ "\20\333\1\u05ec\34\333\1\0\12\333\1\0\1\334\1\0"+ "\24\333\1\u0463\30\333\1\0\12\333\1\0\1\334\1\0"+ "\22\333\1\u05ed\32\333\1\0\12\333\1\0\1\334\1\0"+ "\27\333\1\u0463\25\333\1\0\12\333\1\0\1\334\1\0"+ "\22\333\1\u05ee\32\333\1\0\12\333\1\0\1\334\1\0"+ "\20\333\1\u05ef\34\333\1\0\12\333\1\0\1\334\1\0"+ "\12\333\1\u05ee\42\333\1\0\12\333\1\0\1\334\1\0"+ "\12\333\1\u05f0\42\333\1\0\12\333\1\0\1\334\1\0"+ "\14\333\1\u05f1\40\333\1\0\12\333\1\0\1\334\1\0"+ "\31\333\1\u0463\23\333\1\0\12\333\1\0\1\334\1\0"+ "\15\333\1\u05ee\31\333\1\u05ee\5\333\1\0\12\333\1\0"+ "\1\334\1\0\31\333\1\u05f2\23\333\1\0\12\333\1\0"+ "\1\334\1\0\21\333\1\u05f3\4\333\1\u05f4\21\333\1\u05f4"+ "\4\333\1\0\12\333\1\0\1\334\1\0\31\333\1\u05f5"+ "\23\333\1\0\12\333\1\0\1\334\1\0\10\333\1\u05f6"+ "\44\333\1\0\12\333\1\0\1\334\1\0\17\333\1\u05f7"+ "\35\333\1\0\12\333\1\0\1\334\1\0\23\333\1\u046e"+ "\31\333\1\0\12\333\1\0\1\334\1\0\14\333\1\u04fd"+ "\40\333\1\0\12\333\1\0\1\334\1\0\22\333\1\u05f8"+ "\30\333\33\0\1\u05f9\105\0\1\u05fa\21\0\1\u05fa\35\0"+ "\1\u05fb\101\0\1\u05a2\72\0\1\u0399\101\0\1\u0370\63\0"+ "\1\u05fc\100\0\1\u05fd\54\0\1\u05fe\72\0\1\u05ff\103\0"+ "\1\u0600\62\0\1\u0419\71\0\1\u0601\104\0\1\u04be\56\0"+ "\1\u0602\46\0\1\u0603\126\0\1\u05d2\62\0\1\u0604\77\0"+ "\1\u0605\31\0\1\u0605\47\0\1\u0606\62\0\1\u0607\104\0"+ "\1\u0427\21\0\1\u0427\2\0\2\333\1\0\12\333\1\0"+ "\1\334\1\0\13\333\1\u0608\41\333\1\0\12\333\1\0"+ "\1\334\1\0\26\333\1\u0609\21\333\1\u0609\4\333\1\0"+ "\12\333\1\0\1\334\1\0\13\333\1\u060a\41\333\1\0"+ "\12\333\1\0\1\334\1\0\22\333\1\u05c3\32\333\1\0"+ "\12\333\1\0\1\334\1\0\22\333\1\u03f1\32\333\1\0"+ "\12\333\1\0\1\334\1\0\31\333\1\u03c8\23\333\1\0"+ "\12\333\1\0\1\334\1\0\22\333\1\u060b\32\333\1\0"+ "\12\333\1\0\1\334\1\0\30\333\1\u060c\24\333\1\0"+ "\12\333\1\0\1\334\1\0\12\333\1\u060d\42\333\1\0"+ "\12\333\1\0\1\334\1\0\12\333\1\u060e\42\333\1\0"+ "\12\333\1\0\1\334\1\0\23\333\1\u060f\31\333\1\0"+ "\12\333\1\0\1\334\1\0\13\333\1\u0463\41\333\1\0"+ "\12\333\1\0\1\334\1\0\12\333\1\u0610\42\333\1\0"+ "\12\333\1\0\1\334\1\0\24\333\1\u0501\30\333\1\0"+ "\12\333\1\0\1\334\1\0\10\333\1\u0611\44\333\1\0"+ "\1\333\1\u0612\10\333\1\0\1\334\1\0\55\333\1\0"+ "\12\333\1\0\1\334\1\0\20\333\1\u05e8\34\333\1\0"+ "\12\333\1\0\1\334\1\0\10\333\1\u0613\44\333\1\0"+ "\12\333\1\0\1\334\1\0\15\333\1\u0614\31\333\1\u0614"+ "\5\333\1\0\12\333\1\0\1\334\1\0\24\333\1\u0615"+ "\30\333\1\0\12\333\1\0\1\334\1\0\14\333\1\u0616"+ "\40\333\1\0\12\333\1\0\1\334\1\0\26\333\1\u0471"+ "\21\333\1\u0471\2\333\46\0\1\u0617\21\0\1\u0617\50\0"+ "\1\u0618\21\0\1\u0618\35\0\1\u0619\67\0\1\u061a\101\0"+ "\1\u061b\70\0\1\u0370\31\0\1\u0370\37\0\1\u053a\47\0"+ "\1\u061c\127\0\1\u061d\21\0\1\u061d\50\0\1\u05de\21\0"+ "\1\u05de\41\0\1\u061e\73\0\1\u05e0\67\0\1\u061f\31\0"+ "\1\u061f\35\0\1\u0620\40\0\2\333\1\0\12\333\1\0"+ "\1\334\1\0\26\333\1\u0621\21\333\1\u0621\4\333\1\0"+ "\12\333\1\0\1\334\1\0\26\333\1\u0622\21\333\1\u0622"+ "\4\333\1\0\12\333\1\0\1\334\1\0\13\333\1\u0623"+ "\41\333\1\0\12\333\1\0\1\334\1\0\10\333\1\u0624"+ "\44\333\1\0\12\333\1\0\1\334\1\0\17\333\1\u0625"+ "\35\333\1\0\12\333\1\0\1\334\1\0\15\333\1\u03c8"+ "\31\333\1\u03c8\5\333\1\0\12\333\1\0\1\334\1\0"+ "\14\333\1\u0572\40\333\1\0\6\333\1\u0626\3\333\1\0"+ "\1\334\1\0\55\333\1\0\12\333\1\0\1\334\1\0"+ "\26\333\1\u0627\21\333\1\u0627\4\333\1\0\12\333\1\0"+ "\1\334\1\0\26\333\1\u05f4\21\333\1\u05f4\4\333\1\0"+ "\12\333\1\0\1\334\1\0\17\333\1\u0628\35\333\1\0"+ "\12\333\1\0\1\334\1\0\20\333\1\u05f6\34\333\1\0"+ "\12\333\1\0\1\334\1\0\15\333\1\u0629\31\333\1\u0629"+ "\5\333\1\0\12\333\1\0\1\334\1\0\12\333\1\u062a"+ "\40\333\50\0\1\u062b\56\0\1\u062c\100\0\1\u062d\62\0"+ "\1\u062e\106\0\1\u0539\21\0\1\u0539\45\0\1\u062f\67\0"+ "\1\u0630\102\0\1\u0424\22\0\2\333\1\0\12\333\1\0"+ "\1\334\1\0\30\333\1\u0631\24\333\1\0\12\333\1\0"+ "\1\334\1\0\14\333\1\u0632\40\333\1\0\12\333\1\0"+ "\1\334\1\0\22\333\1\u0633\32\333\1\0\12\333\1\0"+ "\1\334\1\0\12\333\1\u0634\42\333\1\0\12\333\1\0"+ "\1\334\1\0\26\333\1\u0571\21\333\1\u0571\4\333\1\0"+ "\12\333\1\0\1\334\1\0\23\333\1\u0635\31\333\1\0"+ "\12\333\1\0\1\334\1\0\20\333\1\u0636\34\333\1\0"+ "\12\333\1\0\1\334\1\0\30\333\1\u046e\22\333\42\0"+ "\1\u0637\70\0\1\u059c\76\0\1\u0638\65\0\1\u02c3\67\0"+ "\1\u0639\73\0\1\u0419\31\0\1\u0419\3\0\2\333\1\0"+ "\12\333\1\0\1\334\1\0\22\333\1\u063a\32\333\1\0"+ "\12\333\1\0\1\334\1\0\20\333\1\u05bd\34\333\1\0"+ "\12\333\1\0\1\334\1\0\24\333\1\u063b\30\333\1\0"+ "\12\333\1\0\1\334\1\0\17\333\1\u031c\35\333\1\0"+ "\12\333\1\0\1\334\1\0\14\333\1\u063c\40\333\1\0"+ "\12\333\1\0\1\334\1\0\15\333\1\u0463\31\333\1\u0463"+ "\3\333\45\0\1\u063d\55\0\1\u063e\72\0\1\u063f\42\0"+ "\2\333\1\0\12\333\1\0\1\334\1\0\25\333\1\u0640"+ "\27\333\1\0\12\333\1\0\1\334\1\0\10\333\1\u0641"+ "\44\333\1\0\12\333\1\0\1\334\1\0\10\333\1\u0642"+ "\42\333\32\0\1\u0643\106\0\1\u0644\21\0\1\u0644\50\0"+ "\1\u02e8\21\0\1\u02e8\2\0\2\333\1\0\12\333\1\0"+ "\1\334\1\0\12\333\1\u0645\42\333\1\0\12\333\1\0"+ "\1\334\1\0\26\333\1\u0646\21\333\1\u0646\4\333\1\0"+ "\12\333\1\0\1\334\1\0\26\333\1\u0341\21\333\1\u0341"+ "\2\333\37\0\1\u059c\65\0\1\u0647\40\0\2\333\1\0"+ "\12\333\1\0\1\334\1\0\17\333\1\u05bd\35\333\1\0"+ "\12\333\1\0\1\334\1\0\12\333\1\u0648\40\333\31\0"+ "\1\u0649\41\0\2\333\1\0\12\333\1\0\1\334\1\0"+ "\11\333\1\u064a\41\333\33\0\1\u064b\37\0\2\333\1\0"+ "\12\333\1\0\1\334\1\0\13\333\1\u064c\37\333\35\0"+ "\1\u0420\31\0\1\u0420\3\0\2\333\1\0\12\333\1\0"+ "\1\334\1\0\15\333\1\u046a\31\333\1\u046a\3\333"; private static int [] zzUnpackTrans() { int [] result = new int[82777]; 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; private static final char[] EMPTY_BUFFER = new char[0]; private static final int YYEOF = -1; private static java.io.Reader zzReader = null; // Fake /* 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 <code>aState</code> */ private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute(); private static final String ZZ_ATTRIBUTE_PACKED_0 = "\7\0\1\10\1\0\2\11\1\1\1\11\1\1\1\11"+ "\4\1\2\11\4\1\1\11\30\1\10\11\2\1\1\11"+ "\1\1\2\11\1\1\1\11\3\1\2\11\13\1\1\11"+ "\45\1\13\0\1\11\2\0\1\11\3\0\1\1\2\0"+ "\3\11\2\1\13\0\1\1\3\0\1\1\1\0\1\11"+ "\1\0\1\1\4\0\1\1\1\0\2\1\6\0\1\1"+ "\13\0\1\11\5\0\2\1\12\0\3\11\2\0\1\11"+ "\1\0\1\1\1\0\1\11\12\0\2\1\2\0\1\1"+ "\4\0\1\1\1\0\5\1\13\0\1\1\3\0\1\1"+ "\1\0\1\1\1\0\1\1\4\0\1\1\1\0\2\1"+ "\6\0\1\1\13\0\1\1\5\0\2\1\12\0\3\1"+ "\1\0\2\11\6\0\1\1\1\0\1\11\12\0\1\11"+ "\1\0\1\11\1\0\1\11\2\0\1\1\1\0\2\1"+ "\1\11\4\0\1\11\13\0\1\1\7\0\1\1\4\0"+ "\1\1\2\0\1\11\10\0\1\1\25\0\2\1\6\0"+ "\1\1\1\0\1\1\12\0\1\1\1\0\1\1\1\0"+ "\1\1\2\0\1\1\1\0\3\1\4\0\1\1\13\0"+ "\1\1\7\0\1\1\4\0\1\1\2\0\1\1\10\0"+ "\1\1\25\0\4\11\3\0\1\11\1\0\1\11\4\0"+ "\4\11\4\0\1\11\1\0\1\11\10\0\1\1\2\0"+ "\1\11\1\0\1\1\20\0\1\1\5\0\1\11\5\0"+ "\1\11\16\0\4\1\3\0\1\1\1\0\1\1\4\0"+ "\4\1\4\0\1\1\1\0\1\1\10\0\1\1\2\0"+ "\1\1\1\0\1\1\20\0\1\1\5\0\1\1\5\0"+ "\1\1\36\0\1\11\6\0\1\11\1\0\2\11\40\0"+ "\1\11\4\0\1\1\2\0\1\11\7\0\1\11\11\0"+ "\1\11\1\0\1\1\1\11\20\0\1\1\6\0\1\1"+ "\1\0\2\1\40\0\1\1\4\0\1\1\2\0\1\1"+ "\7\0\1\1\11\0\1\1\1\0\2\1\5\0\2\11"+ "\13\0\1\11\1\0\1\11\1\0\1\11\4\0\1\11"+ "\37\0\1\11\23\0\1\1\4\0\1\11\10\0\2\1"+ "\13\0\1\1\1\0\1\1\1\0\1\1\4\0\1\1"+ "\37\0\1\1\23\0\1\1\4\0\1\1\10\0\1\11"+ "\12\0\2\11\6\0\1\11\52\0\1\11\13\0\1\1"+ "\12\0\2\1\6\0\1\1\52\0\1\1\14\0\1\11"+ "\1\0\1\11\12\0\1\11\3\0\1\1\30\0\1\11"+ "\30\0\1\1\1\0\1\1\12\0\1\1\3\0\1\1"+ "\30\0\1\1\23\0\1\11\1\0\1\11\2\0\1\11"+ "\1\0\1\11\1\0\1\11\1\0\1\11\54\0\1\1"+ "\1\0\1\1\2\0\1\1\1\0\1\1\1\0\1\1"+ "\1\0\1\1\54\0\2\11\2\0\2\11\33\0\2\1"+ "\2\0\2\1\107\0\1\11\16\0\1\1\15\0\2\11"+ "\10\0\2\1\52\0"; private static int [] zzUnpackAttribute() { int [] result = new int[1612]; 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 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 CharSequence zzBuffer = ""; /** this buffer may contains the current text array to be matched when it is cheap to acquire it */ private char[] zzBufferArray; /** the textposition at the last accepting state */ private int zzMarkedPos; /** the textposition at the last state to be included in yytext */ private int zzPushbackPos; /** 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; /** denotes if the user-EOF-code has already been executed */ private boolean zzEOFDone; /* user code: */ private Stack <IElementType> blockStack = new Stack<IElementType>(); private int afterComment = YYINITIAL; private void clearStacks(){ blockStack.clear(); } private Stack<IElementType> braceCount = new Stack <IElementType>(); _PowerShellLexer(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. */ _PowerShellLexer(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 < 1282) { int count = packed.charAt(i++); char value = packed.charAt(i++); do map[j++] = value; while (--count > 0); } return map; } public final int getTokenStart(){ return zzStartRead; } public final int getTokenEnd(){ return getTokenStart() + yylength(); } public void reset(CharSequence buffer, int start, int end,int initialState){ zzBuffer = buffer; zzBufferArray = com.intellij.util.text.CharArrayUtil.fromSequenceWithoutCopying(buffer); zzCurrentPos = zzMarkedPos = zzStartRead = start; zzPushbackPos = 0; zzAtEOF = false; zzAtBOL = true; zzEndRead = end; yybegin(initialState); } /** * Refills the input buffer. * * @return <code>false</code>, iff there was new input. * * @exception java.io.IOException if any I/O-Error occurs */ private boolean zzRefill() throws java.io.IOException { return true; } /** * Returns the current lexical state. */ public final int yystate() { return zzLexicalState; } /** * Enters a new lexical state * * @param newState the new lexical state */ public final void yybegin(int newState) { zzLexicalState = newState; } /** * Returns the text matched by the current regular expression. */ public final CharSequence yytext() { return zzBuffer.subSequence(zzStartRead, zzMarkedPos); } /** * Returns the character at position <tt>pos</tt> 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 zzBufferArray != null ? zzBufferArray[zzStartRead+pos]:zzBuffer.charAt(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; } /** * Contains user EOF-code, which will be executed exactly once, * when the end of file is reached */ private void zzDoEOF() { if (!zzEOFDone) { zzEOFDone = true; } } /** * 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 IElementType advance() throws java.io.IOException { int zzInput; int zzAction; // cached fields: int zzCurrentPosL; int zzMarkedPosL; int zzEndReadL = zzEndRead; CharSequence zzBufferL = zzBuffer; char[] zzBufferArrayL = zzBufferArray; 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 = ZZ_LEXSTATE[zzLexicalState]; zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) zzInput = zzBufferL.charAt(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.charAt(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 76: { return EXIT; } case 118: break; case 75: { return COCLT; } case 119: break; case 31: { return IDENT; } case 120: break; case 63: { return TRY; } case 121: break; case 52: { yypushback(1);/*yybegin(IN_SINGLE_DOT);*/ return IDENT; } case 122: break; case 2: { return LPAREN; } case 123: break; case 48: { return GE; } case 124: break; case 58: { return COLT; } case 125: break; case 87: { return WHILE; } case 126: break; case 40: { yybegin(IN_IDENT_DOLLAR); yypushback(1); return DOLLAR; } case 127: break; case 9: { return RCURLY; } case 128: break; case 93: { return ELSEIF; } case 129: break; case 112: { return COICONTAINS; } case 130: break; case 7: { return NUMBER; } case 131: break; case 6: { return COLON; } case 132: break; case 82: { return BREAK; } case 133: break; case 47: { return EQ; } case 134: break; case 110: { return COCONTAINS; } case 135: break; case 62: { return END; } case 136: break; case 72: { return COCGT; } case 137: break; case 69: { return COILT; } case 138: break; case 96: { return COIMATCH; } case 139: break; case 34: { yybegin(YYINITIAL); return EXPSTRING_END; } case 140: break; case 8: { return LCURLY; } case 141: break; case 42: { return ML_COMMENT; } case 142: break; case 94: { return RETURN; } case 143: break; case 4: { return WS; } case 144: break; case 28: { blockStack.push(LPAREN); yybegin(IN_INNER_IDENT_BLOCK); return LCURLY; } case 145: break; case 92: { return FILTER; } case 146: break; case 55: { return COIS; } case 147: break; case 116: { return COINOTCONTAINS; } case 148: break; case 113: { return COCNOTMATCH; } case 149: break; case 97: { return COCMATCH; } case 150: break; case 83: { return CATCH; } case 151: break; case 24: { return COMMA; } case 152: break; case 66: { return COIGT; } case 153: break; case 12: { return MULT; } case 154: break; case 79: { return DATA; } case 155: break; case 20: { return MOD; } case 156: break; case 100: { return PROCESS; } case 157: break; case 80: { return COLIKE; } case 158: break; case 11: { return DIV; } case 159: break; case 73: { return COCNE; } case 160: break; case 99: { return CMDLET; } case 161: break; case 19: { return PLUS; } case 162: break; case 10: { yybegin(IN_SINGLE_EXPSTRING); return EXPSTRING_BEGIN; } case 163: break; case 56: { return CONE; } case 164: break; case 74: { return COCLE; } case 165: break; case 38: { return STRING_LITERAL; } case 166: break; case 18: { return LT; } case 167: break; case 95: { return SWITCH; } case 168: break; case 41: { return LASTTOKEN; } case 169: break; case 29: { if (!blockStack.isEmpty()) { IElementType br = blockStack.pop(); } yybegin(YYINITIAL); return RCURLY; } case 170: break; case 91: { return COMATCH; } case 171: break; case 57: { return COLE; } case 172: break; case 27: { yybegin(YYINITIAL); return IDENT; } case 173: break; case 30: { yypushback(1); yybegin(IN_SINGLE_EXPSTRING); } case 174: break; case 14: { return DOT; } case 175: break; case 46: { return DO; } case 176: break; case 45: { return IN; } case 177: break; case 25: { return SEMI; } case 178: break; case 67: { return COINE; } case 179: break; case 111: { return COINOTMATCH; } case 180: break; case 59: { return COAS; } case 181: break; case 86: { return PARAM; } case 182: break; case 107: { return CONOTMATCH; } case 183: break; case 101: { return CONOTLIKE; } case 184: break; case 71: { return COCGE; } case 185: break; case 68: { return COILE; } case 186: break; case 35: { yybegin(IN_SINGLE_EXPSTRING_DOLLAR); return DOLLAR; } case 187: break; case 13: { return SL_COMMENT; } case 188: break; case 17: { return GT; } case 189: break; case 23: { return RBRACK; } case 190: break; case 36: { yybegin(IN_SINGLE_DOT); return IDENT; } case 191: break; case 33: { return EXPSTRING_CONTENT; } case 192: break; case 54: { return COGE; } case 193: break; case 115: { return CONOTCONTAINS; } case 194: break; case 104: { return CONTINUE; } case 195: break; case 102: { return COREPLACE; } case 196: break; case 50: { yypushback(1); return IDENT; } case 197: break; case 39: { return EXPSTRING_LITERAL; } case 198: break; case 105: { return COINOTLIKE; } case 199: break; case 32: { blockStack.push(LPAREN); yybegin(IN_INNER_BLOCK); return LCURLY; } case 200: break; case 70: { return COCEQ; } case 201: break; case 16: { return ASSIGN; } case 202: break; case 88: { return COILIKE; } case 203: break; case 3: { return NEWLINE; } case 204: break; case 22: { return LBRACK; } case 205: break; case 61: { return ELLIPSIS; } case 206: break; case 53: { return COEQ; } case 207: break; case 65: { return COIGE; } case 208: break; case 106: { return COIREPLACE; } case 209: break; case 103: { return FUNCTION; } case 210: break; case 51: // lookahead expression with fixed base length zzMarkedPos = zzStartRead + 1; { yybegin(IN_SINGLE_IDENT); return DOT; } case 211: break; case 84: { return THROW; } case 212: break; case 77: { return ELSE; } case 213: break; case 117: { return COCNOTCONTAINS; } case 214: break; case 44: { return IF; } case 215: break; case 98: { return FINALLY; } case 216: break; case 85: { return UNTIL; } case 217: break; case 37: { if (!blockStack.isEmpty()) { IElementType br = blockStack.pop(); } yybegin(IN_SINGLE_EXPSTRING); return RCURLY; } case 218: break; case 64: { return COIEQ; } case 219: break; case 108: { return COCNOTLIKE; } case 220: break; case 5: { return MINUS; } case 221: break; case 49: { return LE; } case 222: break; case 60: { return FOR; } case 223: break; case 43: { return RANGE; } case 224: break; case 114: { return COCCONTAINS; } case 225: break; case 26: { return EXP; } case 226: break; case 90: { return COCLIKE; } case 227: break; case 21: { return RPAREN; } case 228: break; case 81: { return BEGIN; } case 229: break; case 78: { return TRAP; } case 230: break; case 15: { return ALIAS; } case 231: break; case 1: { return WRONG; } case 232: break; case 109: { return COCREPLACE; } case 233: break; case 89: { return COISNOT; } case 234: break; default: if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { zzAtEOF = true; zzDoEOF(); return null; } else { zzScanError(ZZ_NO_MATCH); } } } } }