/* The following code was generated by JFlex 1.7.0-SNAPSHOT tweaked for IntelliJ platform */ /* * Copyright 2011-present Greg Shrago * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.intellij.jflex.parser; import com.intellij.lexer.FlexLexer; import com.intellij.psi.tree.IElementType; import static com.intellij.psi.TokenType.BAD_CHARACTER; import static com.intellij.psi.TokenType.WHITE_SPACE; import static org.intellij.jflex.parser.JFlexParserDefinition.FLEX_NEWLINE; import static org.intellij.jflex.psi.JFlexTypes.*; /** * This class is a scanner generated by * <a href="http://www.jflex.de/">JFlex</a> 1.7.0-SNAPSHOT * from the specification file <tt>_JFlexLexer.flex</tt> */ public class _JFlexLexer implements FlexLexer { /** This character denotes the end of file */ public static final int YYEOF = -1; /** initial size of the lookahead buffer */ private static final int ZZ_BUFFERSIZE = 16384; /** lexical states */ public static final int YYINITIAL = 0; public static final int COMMENT = 2; public static final int MACROS = 4; public static final int CODE = 6; public static final int REGEXPSTART = 8; public static final int EXPRBAR = 10; public static final int REGEXP = 12; public static final int STATES = 14; public static final int ACTION_CODE = 16; public static final int STRING_CONTENT = 18; public static final int CHARCLASS = 20; public static final int MACROUSE = 22; public static final int REPEATEXP = 24; public static final int CLASSCHARS = 26; public static final int CHARRANGE = 28; public static final int REGEXP_CODEPOINT = 30; public static final int STRING_CODEPOINT = 32; public static final int SKIP_TOEOL = 34; public static final int SKIP_WSNL = 36; public static final int REPORT_UNCLOSED = 38; public static final int REGEXPSTART0 = 40; /** * 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, 3, 4, 4, 5, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 13, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21 }; /** * Translates characters to character classes * Chosen bits are [13, 6, 2] * Total runtime size is 23072 bytes */ public static int ZZ_CMAP(int ch) { return ZZ_CMAP_A[(ZZ_CMAP_Y[(ZZ_CMAP_Z[ch>>8]<<6)|((ch>>2)&0x3f)]<<2)|(ch&0x3)]; } /* The ZZ_CMAP_Z table has 4352 entries */ static final char ZZ_CMAP_Z[] = zzUnpackCMap( "\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1"+ "\20\1\1\1\21\1\22\1\23\1\1\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\1\1\34"+ "\1\35\1\36\2\37\1\40\7\37\1\41\1\42\1\43\1\37\1\44\1\45\2\37\31\1\1\46\121"+ "\1\1\47\4\1\1\50\1\1\1\51\1\52\1\53\1\54\1\55\1\56\53\1\1\57\41\37\1\1\1\60"+ "\1\61\1\1\1\62\1\63\1\64\1\65\1\66\1\67\1\70\1\71\1\72\1\73\1\74\1\75\1\76"+ "\1\77\1\100\1\101\3\37\1\102\1\103\1\104\1\105\1\106\1\107\1\110\1\111\1\112"+ "\1\37\1\113\5\37\3\1\1\114\1\115\1\116\12\37\4\1\1\117\17\37\2\73\1\120\41"+ "\37\2\1\1\121\1\122\3\37\1\123\100\37\1\124\13\37\1\125\24\37\1\126\1\127"+ "\1\37\1\130\1\131\1\132\1\133\20\37\1\134\5\37\1\135\2\37\1\136\16\37\246"+ "\1\1\137\20\1\1\140\1\141\25\73\1\142\51\37\2\1\1\143\u0b05\37\1\144\1\145"+ "\u02fe\37"); /* The ZZ_CMAP_Y table has 6528 entries */ static final char ZZ_CMAP_Y[] = zzUnpackCMap( "\2\0\1\1\1\2\3\0\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1"+ "\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\0\1\34\6"+ "\0\1\35\1\36\1\37\1\40\1\3\1\41\1\37\1\3\5\16\1\42\7\16\1\42\162\16\1\43\1"+ "\44\2\16\1\43\3\3\1\16\1\45\1\3\1\46\4\3\21\0\1\47\12\0\1\16\1\50\1\44\1\51"+ "\1\3\1\37\1\42\1\50\4\16\1\52\24\16\1\52\42\16\1\53\1\0\1\44\47\16\2\54\1"+ "\55\10\16\1\42\1\41\1\3\1\55\11\16\1\3\1\56\1\57\7\0\3\60\1\61\1\62\1\61\2"+ "\3\6\16\1\42\1\3\1\42\3\3\1\0\1\63\1\56\1\3\2\60\1\64\1\3\12\16\1\65\3\60"+ "\1\66\3\60\1\67\1\44\1\70\30\16\1\71\1\60\1\72\1\66\1\73\1\74\1\75\2\60\1"+ "\76\1\77\3\3\1\100\1\101\7\16\4\60\2\0\1\102\1\55\25\16\1\103\2\60\1\104\3"+ "\3\2\60\1\76\7\16\1\105\2\0\1\43\1\37\1\3\5\16\1\103\1\106\2\60\2\107\1\110"+ "\4\3\6\16\1\111\21\3\1\112\2\16\1\113\1\54\1\114\12\3\1\115\1\60\1\116\1\0"+ "\3\60\1\117\1\60\15\16\1\103\1\120\3\60\1\121\1\111\1\66\2\16\1\103\1\122"+ "\2\60\1\55\1\16\1\123\1\16\1\124\1\55\1\16\2\77\5\16\1\50\1\16\1\46\1\44\1"+ "\43\1\120\1\60\2\125\1\126\1\3\1\127\1\3\1\52\1\103\1\122\2\60\1\130\1\3\1"+ "\56\1\3\1\131\1\55\1\42\1\132\1\77\5\16\1\50\1\16\1\50\1\133\1\43\1\134\1"+ "\64\1\127\1\125\1\110\1\135\1\3\1\55\1\46\1\3\1\122\2\60\1\76\1\136\2\3\1"+ "\131\1\55\1\16\2\52\5\16\1\50\1\16\1\50\1\55\1\43\1\120\1\60\2\61\1\110\1"+ "\45\3\3\1\103\1\122\2\60\1\137\1\3\1\140\1\3\1\131\1\55\1\16\2\77\5\16\1\50"+ "\1\16\1\50\1\55\1\43\1\120\1\60\2\125\1\110\1\3\1\122\1\3\1\52\1\103\1\122"+ "\2\60\1\41\3\3\1\141\1\55\1\42\1\44\1\50\1\43\1\133\1\50\1\132\1\45\1\42\1"+ "\44\2\16\1\43\1\122\1\64\1\122\1\142\1\110\1\45\1\127\3\3\1\122\2\60\2\3\1"+ "\137\1\3\1\124\1\55\1\16\2\50\5\16\1\50\2\16\1\123\1\43\1\71\1\60\2\142\1"+ "\110\1\3\1\62\1\143\1\3\1\103\1\122\2\60\4\3\1\144\1\55\1\16\2\50\5\16\1\50"+ "\2\16\1\55\1\43\1\120\1\60\2\142\1\110\1\3\1\62\1\3\1\37\1\103\1\122\2\60"+ "\1\133\3\3\1\144\1\55\1\16\2\50\11\16\1\42\1\71\1\60\2\142\1\126\1\3\1\127"+ "\1\3\1\115\1\103\1\122\2\60\2\3\1\44\1\16\1\122\1\55\3\16\1\42\1\44\5\16\1"+ "\52\2\16\1\41\1\16\1\42\1\145\1\127\1\60\1\146\2\60\1\3\1\147\2\54\1\122\3"+ "\3\1\55\13\16\1\101\1\60\1\64\1\56\1\16\1\105\1\0\1\150\2\60\1\67\11\3\1\133"+ "\1\77\1\46\1\41\1\3\1\16\1\55\1\16\1\55\1\151\1\44\1\55\1\101\1\60\1\61\1"+ "\104\1\16\1\46\1\0\1\152\2\60\1\67\1\16\10\3\1\45\5\3\1\153\1\3\2\60\1\67"+ "\2\3\1\154\1\40\1\155\2\16\1\55\10\16\1\45\1\131\3\60\1\116\1\156\1\16\1\107"+ "\2\60\1\131\10\60\1\157\1\3\1\145\16\3\12\16\1\65\2\60\1\160\1\161\1\162\2"+ "\60\1\67\1\3\1\16\1\103\1\76\1\103\1\163\1\164\1\165\1\166\1\107\1\70\2\16"+ "\1\103\1\160\1\0\1\167\2\60\1\116\1\67\11\16\1\52\1\3\1\41\12\16\1\42\23\16"+ "\1\50\1\43\1\16\1\42\1\50\1\43\12\16\1\50\1\43\10\16\1\50\1\43\1\16\1\42\1"+ "\50\1\43\3\16\1\42\16\16\1\50\1\43\20\16\1\42\1\170\10\3\4\16\4\3\25\16\1"+ "\171\1\54\1\172\1\55\132\16\1\77\4\16\1\55\5\16\1\42\1\3\22\16\1\42\1\44\1"+ "\113\1\54\1\114\1\3\3\16\1\50\1\103\1\63\2\3\4\16\1\103\1\63\2\3\4\16\1\103"+ "\3\3\3\16\1\50\1\173\3\3\15\16\1\174\4\60\1\165\2\0\1\132\1\56\1\175\2\60"+ "\1\67\7\3\1\100\1\153\2\60\1\67\1\3\26\16\2\3\12\16\1\176\1\3\21\16\1\43\2"+ "\3\7\16\1\177\3\60\1\3\2\60\1\165\2\3\1\122\2\60\7\16\1\43\1\16\1\45\2\3\13"+ "\16\1\3\4\60\1\70\1\16\1\67\1\3\2\60\1\67\11\3\5\16\1\65\1\60\1\3\15\16\1"+ "\107\1\60\1\64\1\66\4\60\1\165\1\0\1\200\2\60\1\67\1\3\2\60\1\67\2\3\1\132"+ "\26\3\1\60\1\70\13\16\1\66\3\60\1\201\1\16\1\3\2\60\1\67\3\3\1\100\2\0\3\3"+ "\1\162\7\16\1\107\1\60\1\116\1\76\2\60\1\76\12\16\1\202\2\60\1\116\3\3\11"+ "\16\4\60\1\116\2\3\2\60\1\67\1\55\2\60\1\76\10\16\1\43\24\3\1\102\5\0\1\201"+ "\1\203\1\103\1\204\2\3\60\16\11\0\1\205\3\54\1\114\1\3\1\0\5\16\1\43\1\16"+ "\1\43\11\16\1\43\1\16\1\43\2\16\2\151\7\16\1\43\15\16\1\50\1\16\1\46\1\44"+ "\1\50\1\16\1\45\1\16\1\44\1\16\1\3\3\16\1\45\1\44\1\50\1\16\1\45\2\3\1\100"+ "\1\0\6\3\1\206\1\102\3\3\1\56\1\207\4\3\1\207\2\3\1\0\1\63\1\155\1\0\1\41"+ "\2\3\1\132\4\3\3\16\1\45\6\210\1\211\5\3\3\0\1\63\1\40\1\57\2\0\1\63\3\3\1"+ "\37\1\132\1\44\2\16\1\41\1\55\1\43\1\3\1\46\1\50\1\52\2\16\1\43\1\16\1\3\1"+ "\55\1\43\1\37\4\3\12\16\1\45\212\3\1\147\14\54\1\172\5\3\13\16\1\42\13\16"+ "\1\42\41\16\1\45\1\132\1\105\1\166\3\3\11\16\1\52\1\3\1\41\16\16\1\3\1\132"+ "\3\3\1\100\5\16\1\42\2\3\1\16\1\42\1\16\1\42\1\16\1\42\1\16\1\42\1\16\1\42"+ "\1\16\1\42\1\16\1\42\1\16\1\42\10\60\13\3\1\132\65\3\1\55\6\3\1\55\1\16\1"+ "\212\1\0\1\55\1\43\1\16\1\45\1\55\24\16\1\42\1\213\2\55\25\16\1\42\1\16\1"+ "\3\1\55\11\16\1\43\1\55\26\16\1\42\4\3\6\16\1\42\15\3\61\16\1\43\22\3\63\16"+ "\1\113\1\54\1\172\12\3\43\16\1\45\20\3\13\16\1\43\3\16\1\45\4\16\2\60\1\76"+ "\5\3\13\16\1\105\1\3\2\60\1\214\6\16\1\54\1\215\24\16\1\153\10\3\1\132\2\16"+ "\1\44\31\16\1\77\1\216\1\16\3\54\2\16\1\216\1\172\2\54\17\3\1\115\2\16\2\217"+ "\1\105\5\16\1\65\1\60\4\3\1\207\1\3\15\16\3\3\1\76\14\16\4\60\1\63\2\3\2\60"+ "\1\67\1\3\4\0\1\166\1\16\1\132\1\140\2\60\1\76\6\16\1\103\1\160\1\153\5\16"+ "\1\65\2\60\1\160\3\3\7\16\1\45\1\60\13\16\1\105\3\60\1\63\2\3\1\132\2\60\1"+ "\67\1\3\1\54\1\220\5\54\1\221\12\16\1\107\2\60\1\64\2\3\1\65\2\16\1\67\2\60"+ "\1\67\1\3\5\16\1\42\1\222\1\147\14\16\1\223\1\73\1\70\1\224\1\225\5\3\1\132"+ "\1\43\2\16\1\65\1\60\1\44\1\226\2\3\1\55\1\42\1\55\1\42\1\55\1\42\2\3\1\16"+ "\1\42\1\16\1\42\12\54\1\221\2\54\1\172\2\3\24\54\10\16\1\65\1\60\1\64\1\153"+ "\2\60\1\67\1\3\51\16\3\3\5\16\1\42\1\132\14\16\1\3\33\16\1\43\32\16\1\43\11"+ "\3\1\16\1\42\2\3\1\132\1\16\1\3\1\227\2\16\1\50\2\16\1\42\1\16\1\46\1\52\1"+ "\50\32\16\1\43\7\3\1\132\32\16\1\43\4\3\20\16\1\44\15\16\12\3\3\16\1\207\4"+ "\0\4\3\1\0\1\102\2\3\1\56\1\207\5\3\1\230\6\3\1\137\1\3\1\16\1\50\41\16\1"+ "\231\1\3\1\207\2\3\2\60\1\67\1\3\1\55\5\16\1\42\1\56\1\55\5\16\1\42\2\3\1"+ "\44\25\16\1\42\1\44\1\16\1\44\1\16\1\44\1\16\1\44\1\45\1\36\1\232\4\3\1\57"+ "\1\3\3\16\1\55\5\16\1\42\4\16\1\42\1\52\3\16\1\43\3\16\1\43\10\3\36\16\1\42"+ "\21\3\15\16\1\45\41\3\1\40\40\3\7\16\1\45\14\16\1\45\13\3\7\16\1\216\4\3\6"+ "\16\1\42\1\3\12\54\1\221\1\3\7\16\1\43\11\16\1\3\2\16\1\55\1\43\12\3\47\16"+ "\1\43\2\60\1\67\25\3\12\54\2\3\15\54\47\3\115\54\1\221\2\3\5\54\1\172\2\3"+ "\2\54\46\3\1\16\1\43\1\50\12\16\1\52\1\45\1\77\5\16\1\43\2\3\5\54\1\221\2"+ "\3\7\54\1\221\20\3\4\54\1\221\1\172\2\3\5\16\1\43\2\3\6\16\1\43\21\3\16\16"+ "\1\3\1\44\20\3\1\107\1\62\1\3\1\60\1\16\2\55\6\16\1\3\1\102\1\100\10\3\7\16"+ "\1\45\7\54\1\114\10\3\2\54\1\233\6\54\1\114\6\3\15\16\1\43\2\3\5\16\1\43\2"+ "\3\4\16\1\42\3\3\4\54\1\172\33\3\22\16\1\45\15\3\14\54\1\221\3\3\14\54\1\221"+ "\3\3\1\162\15\16\3\60\1\234\7\3\1\122\2\60\4\3\1\235\13\16\2\60\1\236\1\40"+ "\4\3\6\16\1\45\1\3\2\60\1\67\1\3\1\162\10\16\1\65\2\60\1\160\1\134\2\60\4"+ "\3\10\54\1\221\1\237\2\3\1\162\13\16\1\65\3\60\1\201\1\45\2\3\2\60\1\240\1"+ "\114\10\3\4\54\1\241\10\54\1\242\22\3\1\54\1\221\1\220\1\241\3\54\1\241\2"+ "\54\1\114\1\3\16\54\1\114\1\3\2\54\1\172\1\3\1\54\1\233\1\54\2\242\5\54\1"+ "\220\1\54\1\220\1\233\1\172\1\233\1\54\2\242\2\114\1\115\1\3\1\233\1\54\107"+ "\3\20\54\1\172\1\241\2\3\2\54\1\172\51\3\15\54\1\172\1\54\1\221\6\3\1\54\1"+ "\172\10\3\17\54\1\221\2\114\2\3\2\54\1\172\11\3\12\16\1\65\2\60\1\116\2\3"+ "\2\60\1\67\15\3\6\54\1\172\1\233\2\54\1\221\1\3\2\54\1\172\131\3\22\54\1\172"+ "\4\3\1\115\60\3\16\54\1\114\1\3\33\16\1\216\12\54\1\172\31\3\30\16\1\216\2"+ "\54\1\221\4\3\61\54\57\3\13\16\1\42\64\3\21\54\1\221\56\3\16\16\1\45\1\3\7"+ "\54\1\221\2\54\1\172\31\3\7\54\1\172\4\3\15\54\1\221\2\3\1\54\3\3\2\54\1\172"+ "\1\3\1\115\5\54\1\3\1\233\4\54\34\3\21\16\1\45\2\3\1\107\12\60\1\64\3\3\1"+ "\100\1\243\3\16\30\3\1\43\77\3\32\54\1\221\1\3\3\54\1\114\2\54\1\114\1\3\2"+ "\54\1\172\1\237\61\3\1\57\1\153\1\57\4\0\1\102\1\57\1\0\7\3\1\155\1\153\44"+ "\3\1\155\1\63\56\3\25\16\1\50\21\16\1\50\1\37\1\133\1\55\1\50\2\16\1\52\1"+ "\55\1\16\1\55\17\16\1\52\1\42\1\55\1\16\1\50\1\16\1\50\6\16\1\52\1\42\1\16"+ "\1\46\1\44\1\16\1\50\124\16\1\43\6\16\1\50\5\16\1\42\7\16\1\42\6\16\1\50\7"+ "\16\1\50\5\16\1\42\7\16\1\42\6\16\1\50\7\16\1\50\5\16\1\42\2\16\1\122\14\60"+ "\61\54\1\114\16\3\1\16\1\55\6\16\1\133\1\77\1\55\1\16\1\42\1\16\1\151\1\3"+ "\1\37\1\132\1\151\1\55\1\133\1\77\2\151\1\133\1\77\1\42\1\16\1\42\1\16\1\55"+ "\1\46\2\16\1\52\4\16\1\3\2\55\1\52\4\16\35\3\6\54\1\172\1\3\6\54\1\172\1\3"+ "\6\54\1\172\35\3\65\16\1\42\12\3\15\16\1\45\2\3\67\16\1\43\140\54\1\172\27"+ "\3\7\16\1\43\70\3\1\40\7\3\30\0\40\3\74\0\4\3"); /* The ZZ_CMAP_A table has 656 entries */ static final char ZZ_CMAP_A[] = zzUnpackCMap( "\4\20\1\21\1\13\1\16\2\14\1\15\2\20\4\0\1\13\1\106\1\30\1\0\1\105\1\33\1\115"+ "\1\31\1\110\1\111\1\27\1\112\1\65\1\114\1\10\1\26\1\6\1\63\2\7\2\3\1\64\1"+ "\61\1\62\1\1\1\75\1\0\1\67\1\66\1\73\1\113\1\0\3\2\1\100\1\70\1\72\10\24\1"+ "\71\1\102\2\24\1\101\1\24\1\12\1\24\1\101\3\24\1\74\1\4\1\77\1\104\1\24\1"+ "\0\1\44\1\57\1\52\1\56\1\40\1\42\1\60\1\46\1\35\1\76\1\24\1\45\1\54\1\36\1"+ "\41\1\55\1\24\1\47\1\53\1\37\1\11\1\43\1\50\1\5\1\51\1\24\1\34\1\103\1\32"+ "\1\107\2\20\1\22\2\20\2\0\4\17\4\0\1\24\2\0\1\20\3\0\1\24\2\0\3\24\1\0\2\24"+ "\4\0\3\24\3\0\1\24\1\0\1\24\1\0\1\20\1\25\2\20\1\24\1\0\4\24\1\0\1\23\2\24"+ "\1\0\3\24\1\0\1\20\4\23\1\0\3\24\3\0\1\17\1\0\3\20\6\25\1\0\1\25\1\0\2\25"+ "\1\0\1\20\3\0\3\25\1\0\3\24\1\25\1\20\5\25\2\0\1\25\3\24\1\0\1\24\3\25\1\20"+ "\1\0\1\20\1\25\2\24\2\25\1\0\3\20\1\25\2\24\2\25\3\24\2\0\1\24\3\0\1\20\1"+ "\24\1\25\2\24\3\20\1\0\2\24\3\25\1\24\2\0\3\24\3\20\1\24\1\25\1\24\4\25\1"+ "\20\2\0\1\24\3\20\1\24\1\23\3\24\4\23\6\0\1\23\2\25\2\20\3\25\1\23\1\20\1"+ "\24\3\25\1\20\2\25\2\0\2\25\1\23\3\24\1\23\4\25\2\0\2\25\1\20\1\24\4\0\1\25"+ "\2\24\2\17\1\0\3\25\3\0\1\24\1\0\2\24\1\0\1\20\1\0\2\25\1\0\1\25\2\0\1\24"+ "\1\25\3\0\1\17\3\0\1\23\4\0\1\25\1\24\1\25\1\0\2\25\2\24\1\23\2\0\1\23\2\25"+ "\2\0\1\20\1\0\1\25\1\0\1\25\3\0\2\23\1\20\1\25\1\20\2\0\1\24\1\0\1\24\1\20"+ "\1\25\2\0\2\20\3\0\1\20\1\0\1\20\2\0\3\20\1\0\2\20\1\25\3\0\3\25\1\20\1\25"+ "\2\20\4\25\1\24\1\25\1\24\1\25\2\20\2\24\2\25\5\20\2\24\2\20\1\24\1\20\1\0"+ "\2\20\1\25\1\24\1\23\2\0\2\23\2\0\1\24\1\0\2\25\2\20\2\25\1\24\1\20\2\0\1"+ "\24\1\25\1\24\1\0\1\24\2\23\1\0\1\20\2\0\2\20\5\24\1\20\1\25\1\24\1\20\2\24"+ "\1\20\2\24\1\0\3\20\1\23\2\14\2\20\1\17\3\0\7\17\1\0\2\24\2\20\1\0\2\20\1"+ "\0\2\20\1\0\1\24\3\23\1\25\3\24\1\23\2\24\1\20\1\24\1\23\1\0\5\23\3\0\1\24"+ "\1\20\1\25\1\24\2\25\2\24\1\25\1\20\1\24\1\20\1\24\1\0\1\24\1\25\1\20\2\0"+ "\1\24\1\25\1\24\1\0\3\17\1\24\2\0\1\20\1\0\2\17\2\0\3\23\2\25\1\20\1\0\2\20"+ "\1\25\1\24\1\25\2\20\3\0\1\23\1\0\2\25\1\23\1\0\2\23\1\0\2\23\2\0\1\23\3\20"+ "\1\24"); /** * Translates DFA states to action switch labels. */ private static final int [] ZZ_ACTION = zzUnpackAction(); private static final String ZZ_ACTION_PACKED_0 = "\1\1\3\0\1\1\15\0\1\2\5\0\1\1\1\3"+ "\3\4\1\3\1\5\1\6\1\5\1\7\1\10\1\11"+ "\3\3\1\12\1\13\1\3\1\1\1\3\2\14\1\15"+ "\1\16\1\10\1\14\3\17\2\20\1\21\1\22\1\23"+ "\1\24\1\17\1\25\1\26\1\27\1\30\1\31\1\32"+ "\1\33\1\34\1\35\1\36\1\37\1\4\3\3\1\40"+ "\1\41\1\4\1\3\2\42\1\43\1\17\1\44\1\17"+ "\2\45\1\46\1\17\1\47\1\50\4\17\1\51\1\52"+ "\1\53\1\4\1\54\1\55\1\54\1\56\1\5\1\57"+ "\2\4\2\60\1\61\1\2\1\62\1\63\1\64\4\0"+ "\1\65\1\0\1\66\1\67\2\0\1\70\2\0\1\71"+ "\1\0\1\72\20\0\1\73\1\74\1\75\1\0\1\76"+ "\3\0\1\77\3\0\6\100\1\101\1\100\1\102\1\0"+ "\1\103\1\104\5\0\1\105\3\0\1\4\4\0\5\4"+ "\1\106\6\100\1\101\1\100\1\45\1\0\1\107\1\110"+ "\1\111\1\112\1\113\1\114\1\115\1\5\1\4\2\0"+ "\1\116\45\0\1\117\3\0\1\120\5\0\1\4\7\0"+ "\1\121\1\0\1\122\1\123\1\0\1\124\1\125\1\5"+ "\1\4\3\0\1\126\17\0\1\127\33\0\1\4\5\0"+ "\1\130\1\0\1\5\1\4\1\116\10\0\1\131\1\0"+ "\1\132\4\0\1\133\3\0\1\134\10\0\1\135\5\0"+ "\1\136\1\137\4\0\1\140\11\0\3\4\2\0\1\5"+ "\1\4\1\0\1\141\14\0\1\142\2\0\1\143\6\0"+ "\1\144\3\0\1\145\1\0\1\146\1\0\1\75\1\147"+ "\13\0\1\4\4\0\1\5\20\0\1\150\2\0\1\151"+ "\3\0\1\152\1\153\1\73\1\75\4\0\1\154\5\0"+ "\1\4\6\0\1\155\1\0\1\156\1\157\1\160\2\0"+ "\1\161\1\162\1\0\1\163\6\0\1\164\3\0\1\73"+ "\2\0\1\165\4\0\2\4\10\0\1\166\1\167\1\170"+ "\1\0\1\171\1\0\1\172\1\173\7\0\1\4\2\0"+ "\2\4\5\0\1\174\2\0\1\175\3\0\1\176\1\0"+ "\1\177\3\0\4\4\2\0\1\200\1\201\1\202\1\203"+ "\1\204\1\205\1\206\5\0\3\4\1\0\1\207\1\210"+ "\3\0\1\4\2\0\1\4\1\0"; private static int [] zzUnpackAction() { int [] result = new int[595]; int offset = 0; offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); return result; } private static int zzUnpackAction(String packed, int offset, int [] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } return j; } /** * Translates a state to a row index in the transition table */ private static final int [] ZZ_ROWMAP = zzUnpackRowMap(); private static final String ZZ_ROWMAP_PACKED_0 = "\0\0\0\116\0\234\0\352\0\u0138\0\u0186\0\u01d4\0\u0222"+ "\0\u0270\0\u02be\0\u030c\0\u035a\0\u03a8\0\u03f6\0\u0444\0\u0492"+ "\0\u04e0\0\u052e\0\u057c\0\u05ca\0\u0618\0\u0666\0\u06b4\0\u0702"+ "\0\u0750\0\u079e\0\u07ec\0\u083a\0\u0888\0\u07ec\0\u08d6\0\u0924"+ "\0\u0972\0\u07ec\0\u09c0\0\u0a0e\0\u0a5c\0\u0aaa\0\u0af8\0\u07ec"+ "\0\u07ec\0\u0b46\0\u0b94\0\u0be2\0\u07ec\0\u0c30\0\u07ec\0\u0c7e"+ "\0\u0ccc\0\u0d1a\0\u07ec\0\u0d68\0\u0db6\0\u0e04\0\u0e52\0\u0ea0"+ "\0\u07ec\0\u07ec\0\u0eee\0\u0f3c\0\u0f8a\0\u07ec\0\u07ec\0\u07ec"+ "\0\u07ec\0\u07ec\0\u07ec\0\u07ec\0\u07ec\0\u07ec\0\u0fd8\0\u1026"+ "\0\u1074\0\u10c2\0\u1110\0\u07ec\0\u07ec\0\u115e\0\u11ac\0\u07ec"+ "\0\u11fa\0\u07ec\0\u1248\0\u1248\0\u1296\0\u1248\0\u12e4\0\u07ec"+ "\0\u1332\0\u0f8a\0\u07ec\0\u1380\0\u13ce\0\u141c\0\u146a\0\u07ec"+ "\0\u07ec\0\u07ec\0\u14b8\0\u07ec\0\u07ec\0\u1506\0\u1554\0\u15a2"+ "\0\u07ec\0\u15f0\0\u163e\0\u07ec\0\u168c\0\u07ec\0\u16da\0\u1728"+ "\0\u07ec\0\u1776\0\u07ec\0\u17c4\0\u1812\0\u1860\0\u07ec\0\u083a"+ "\0\u07ec\0\u07ec\0\u0888\0\u18ae\0\u07ec\0\u0aaa\0\u18fc\0\u07ec"+ "\0\u194a\0\u07ec\0\u1998\0\u19e6\0\u1a34\0\u1a82\0\u1ad0\0\u1b1e"+ "\0\u1b6c\0\u1bba\0\u1c08\0\u1c56\0\u1ca4\0\u1cf2\0\u1d40\0\u1d8e"+ "\0\u1ddc\0\u1e2a\0\u1e78\0\u07ec\0\u1ec6\0\u1f14\0\u07ec\0\u1f62"+ "\0\u1fb0\0\u1ffe\0\u07ec\0\u204c\0\u0d1a\0\u209a\0\u07ec\0\u20e8"+ "\0\u2136\0\u2184\0\u21d2\0\u2220\0\u07ec\0\u226e\0\u07ec\0\u0e04"+ "\0\u07ec\0\u22bc\0\u230a\0\u0eee\0\u2358\0\u23a6\0\u0fd8\0\u07ec"+ "\0\u1074\0\u10c2\0\u1110\0\u23f4\0\u2442\0\u2490\0\u24de\0\u252c"+ "\0\u257a\0\u25c8\0\u2616\0\u2664\0\u26b2\0\u2700\0\u274e\0\u279c"+ "\0\u27ea\0\u2838\0\u2886\0\u28d4\0\u274e\0\u2922\0\u07ec\0\u2970"+ "\0\u07ec\0\u07ec\0\u2700\0\u07ec\0\u29be\0\u07ec\0\u07ec\0\u2a0c"+ "\0\u2a5a\0\u2aa8\0\u2af6\0\u2b44\0\u2b92\0\u2be0\0\u2c2e\0\u2c7c"+ "\0\u2cca\0\u2d18\0\u2d66\0\u2db4\0\u2e02\0\u2e50\0\u2e9e\0\u2eec"+ "\0\u2f3a\0\u2f88\0\u2fd6\0\u3024\0\u3072\0\u30c0\0\u310e\0\u315c"+ "\0\u31aa\0\u31f8\0\u3246\0\u3294\0\u32e2\0\u3330\0\u337e\0\u33cc"+ "\0\u341a\0\u3468\0\u34b6\0\u3504\0\u3552\0\u35a0\0\u35ee\0\u363c"+ "\0\u368a\0\u07ec\0\u36d8\0\u3726\0\u3774\0\u07ec\0\u37c2\0\u3810"+ "\0\u385e\0\u38ac\0\u38fa\0\u3948\0\u3996\0\u39e4\0\u3a32\0\u3a80"+ "\0\u3ace\0\u3b1c\0\u3b6a\0\u07ec\0\u3bb8\0\u07ec\0\u3c06\0\u3c54"+ "\0\u07ec\0\u07ec\0\u3ca2\0\u3cf0\0\u3d3e\0\u3d8c\0\u3dda\0\u3e28"+ "\0\u3e76\0\u3ec4\0\u3f12\0\u3f60\0\u3fae\0\u3ffc\0\u404a\0\u4098"+ "\0\u40e6\0\u4134\0\u4182\0\u41d0\0\u421e\0\u426c\0\u42ba\0\u4308"+ "\0\u4356\0\u43a4\0\u43f2\0\u4440\0\u448e\0\u44dc\0\u452a\0\u4578"+ "\0\u45c6\0\u4614\0\u4662\0\u46b0\0\u46fe\0\u474c\0\u479a\0\u47e8"+ "\0\u4836\0\u4884\0\u48d2\0\u2136\0\u4920\0\u496e\0\u49bc\0\u4a0a"+ "\0\u4a58\0\u4aa6\0\u4af4\0\u4b42\0\u4b90\0\u4bde\0\u4c2c\0\u25c8"+ "\0\u4c7a\0\u07ec\0\u4cc8\0\u4d16\0\u4d64\0\u3d3e\0\u4db2\0\u4e00"+ "\0\u4e4e\0\u4e9c\0\u4eea\0\u4f38\0\u4f86\0\u4fd4\0\u07ec\0\u5022"+ "\0\u07ec\0\u5070\0\u50be\0\u510c\0\u515a\0\u07ec\0\u51a8\0\u51f6"+ "\0\u5244\0\u07ec\0\u5292\0\u52e0\0\u532e\0\u537c\0\u53ca\0\u5418"+ "\0\u5466\0\u54b4\0\u07ec\0\u5502\0\u5550\0\u559e\0\u55ec\0\u563a"+ "\0\u07ec\0\u07ec\0\u5688\0\u56d6\0\u5724\0\u5772\0\u07ec\0\u57c0"+ "\0\u580e\0\u585c\0\u58aa\0\u58f8\0\u5946\0\u5994\0\u59e2\0\u5a30"+ "\0\u5a7e\0\u5acc\0\u5b1a\0\u5b68\0\u5bb6\0\u5c04\0\u3b1c\0\u5c52"+ "\0\u07ec\0\u5ca0\0\u5cee\0\u5d3c\0\u5d8a\0\u5dd8\0\u5e26\0\u5e74"+ "\0\u5ec2\0\u5f10\0\u5f5e\0\u5fac\0\u5ffa\0\u07ec\0\u6048\0\u6096"+ "\0\u07ec\0\u60e4\0\u6132\0\u6180\0\u61ce\0\u621c\0\u626a\0\u07ec"+ "\0\u62b8\0\u6306\0\u6354\0\u07ec\0\u63a2\0\u07ec\0\u63f0\0\u643e"+ "\0\u07ec\0\u648c\0\u64da\0\u6528\0\u6576\0\u65c4\0\u6612\0\u6660"+ "\0\u66ae\0\u66fc\0\u674a\0\u6798\0\u67e6\0\u6834\0\u6882\0\u68d0"+ "\0\u691e\0\u07ec\0\u696c\0\u69ba\0\u6a08\0\u6a56\0\u6aa4\0\u6af2"+ "\0\u6b40\0\u6b8e\0\u6bdc\0\u6c2a\0\u6c78\0\u6cc6\0\u6d14\0\u6d62"+ "\0\u6db0\0\u6dfe\0\u07ec\0\u6e4c\0\u6e9a\0\u07ec\0\u6ee8\0\u6f36"+ "\0\u6f84\0\u07ec\0\u07ec\0\u6fd2\0\u07ec\0\u7020\0\u706e\0\u70bc"+ "\0\u710a\0\u07ec\0\u7158\0\u71a6\0\u71f4\0\u7242\0\u7290\0\u72de"+ "\0\u732c\0\u737a\0\u73c8\0\u7416\0\u7464\0\u74b2\0\u07ec\0\u7500"+ "\0\u07ec\0\u07ec\0\u07ec\0\u754e\0\u759c\0\u07ec\0\u07ec\0\u75ea"+ "\0\u07ec\0\u7638\0\u7686\0\u76d4\0\u7722\0\u7770\0\u77be\0\u07ec"+ "\0\u780c\0\u785a\0\u78a8\0\u07ec\0\u78f6\0\u7944\0\u07ec\0\u7992"+ "\0\u79e0\0\u7a2e\0\u7a7c\0\u7aca\0\u7b18\0\u7b66\0\u7bb4\0\u7c02"+ "\0\u7c50\0\u7c9e\0\u7cec\0\u7d3a\0\u7d88\0\u7dd6\0\u07ec\0\u07ec"+ "\0\u7e24\0\u07ec\0\u7e72\0\u07ec\0\u07ec\0\u7ec0\0\u7f0e\0\u7f5c"+ "\0\u7faa\0\u7ff8\0\u8046\0\u8094\0\u80e2\0\u8130\0\u817e\0\u81cc"+ "\0\u821a\0\u8268\0\u82b6\0\u8304\0\u8352\0\u83a0\0\u83ee\0\u843c"+ "\0\u848a\0\u07ec\0\u84d8\0\u8526\0\u8574\0\u07ec\0\u85c2\0\u07ec"+ "\0\u8610\0\u865e\0\u86ac\0\u86fa\0\u8748\0\u8796\0\u87e4\0\u8832"+ "\0\u8880\0\u07ec\0\u07ec\0\u07ec\0\u07ec\0\u88ce\0\u07ec\0\u07ec"+ "\0\u891c\0\u896a\0\u89b8\0\u8a06\0\u8a54\0\u8aa2\0\u8af0\0\u8b3e"+ "\0\u8b8c\0\u07ec\0\u07ec\0\u8bda\0\u8c28\0\u8c76\0\u8cc4\0\u8d12"+ "\0\u8d60\0\u8dae\0\u8dfc"; private static int [] zzUnpackRowMap() { int [] result = new int[595]; 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 = "\33\31\1\32\62\31\26\33\1\34\1\35\66\33\1\36"+ "\1\37\1\40\1\37\1\36\1\40\1\41\1\37\1\42"+ "\2\40\1\43\3\44\1\40\1\36\1\43\1\44\1\36"+ "\1\40\1\36\1\45\1\36\1\46\2\36\1\47\1\36"+ "\24\40\4\37\1\50\1\51\1\36\3\40\3\36\1\40"+ "\1\36\3\40\2\36\1\40\11\36\1\37\1\40\1\37"+ "\1\36\1\40\1\41\1\37\1\42\2\40\1\43\3\44"+ "\1\40\1\36\1\43\1\44\1\36\1\40\1\36\1\45"+ "\1\36\1\46\2\36\1\52\1\36\24\40\4\37\1\50"+ "\1\51\1\36\3\40\3\36\1\40\1\36\3\40\2\36"+ "\1\40\10\36\33\53\1\54\62\53\13\55\1\43\3\44"+ "\2\55\1\43\1\44\3\55\1\56\3\55\1\57\34\55"+ "\1\60\41\55\1\61\3\44\2\55\1\61\1\44\3\55"+ "\1\56\3\55\1\57\1\62\33\55\1\60\41\55\1\43"+ "\3\44\2\55\1\43\1\44\73\55\1\63\3\64\1\65"+ "\3\64\1\42\2\64\1\43\1\66\1\67\1\66\2\63"+ "\1\43\1\66\3\64\1\70\1\71\1\72\3\63\1\73"+ "\30\64\2\63\1\74\3\64\1\63\1\75\1\63\1\64"+ "\1\63\3\64\1\76\1\77\1\100\1\101\1\102\1\103"+ "\1\104\1\105\1\106\2\63\2\36\1\40\2\36\1\40"+ "\3\36\2\40\1\43\3\44\1\40\1\36\1\43\1\44"+ "\1\36\1\40\10\36\24\40\4\36\1\50\2\36\3\40"+ "\1\107\2\36\1\40\1\36\3\40\2\36\1\40\10\36"+ "\26\110\1\111\1\110\1\112\1\113\1\114\1\110\1\115"+ "\61\110\4\116\1\117\7\116\1\120\1\121\1\120\3\116"+ "\1\120\5\116\1\122\65\116\1\123\3\124\1\125\3\124"+ "\1\123\2\124\1\123\1\126\1\127\1\126\3\123\1\126"+ "\3\124\2\123\1\130\3\123\1\131\30\124\3\123\3\124"+ "\1\123\1\132\1\123\1\124\1\133\3\124\1\134\1\77"+ "\2\123\1\135\4\123\1\136\1\137\1\140\1\41\1\40"+ "\1\41\1\140\1\40\2\41\1\140\2\40\1\43\3\36"+ "\1\40\1\140\1\43\1\36\1\140\1\40\5\140\1\141"+ "\2\140\24\40\4\41\1\50\2\140\3\40\3\140\1\40"+ "\1\140\3\40\2\140\1\40\10\140\1\142\3\143\1\142"+ "\3\143\1\142\2\143\10\142\3\143\7\142\30\143\3\142"+ "\3\143\3\142\1\143\1\142\3\143\13\142\1\144\3\145"+ "\1\146\3\145\1\144\2\145\1\144\3\36\3\144\1\36"+ "\3\145\7\144\30\145\3\144\3\145\3\144\1\145\1\144"+ "\3\145\11\144\1\147\1\144\1\36\3\150\2\36\2\150"+ "\3\36\1\43\3\44\2\36\1\43\1\44\7\36\1\151"+ "\5\36\1\150\1\36\1\150\1\36\1\150\5\36\1\150"+ "\3\36\2\150\1\36\4\150\3\36\1\150\1\36\1\150"+ "\5\36\1\150\16\36\3\152\2\36\2\152\3\36\1\153"+ "\1\154\1\155\1\154\2\36\1\153\1\154\7\36\1\156"+ "\5\36\1\152\1\36\1\152\1\36\1\152\5\36\1\152"+ "\3\36\2\152\1\36\4\152\3\36\1\152\1\36\1\152"+ "\5\36\1\152\15\36\14\157\3\160\3\157\1\160\73\157"+ "\13\140\1\43\3\44\2\140\1\43\1\44\73\140\116\161"+ "\34\36\1\162\61\36\14\0\1\163\1\164\1\163\3\0"+ "\1\163\77\0\1\165\3\0\1\165\15\0\3\165\3\0"+ "\1\165\37\0\1\165\6\0\11\165\2\0\33\31\1\166"+ "\115\31\1\167\62\31\144\0\1\170\1\171\114\0\1\172"+ "\1\173\67\0\1\37\1\0\1\37\2\0\2\37\1\174"+ "\50\0\4\37\32\0\3\40\1\0\3\40\1\0\2\40"+ "\4\0\4\40\1\0\2\40\7\0\30\40\3\0\3\40"+ "\3\0\1\40\1\0\3\40\2\0\1\40\11\0\1\41"+ "\1\0\1\41\2\0\2\41\51\0\4\41\44\0\1\43"+ "\5\0\1\43\110\0\3\44\3\0\1\44\121\0\1\157"+ "\1\175\66\0\4\176\1\177\7\176\3\0\3\176\1\0"+ "\5\176\1\200\65\176\11\0\1\201\22\0\1\202\1\203"+ "\1\204\1\205\1\206\1\0\1\207\1\0\1\210\1\211"+ "\3\0\1\212\1\213\1\214\1\0\1\215\1\216\1\217"+ "\1\0\1\220\1\221\1\222\37\0\1\223\3\0\1\201"+ "\21\0\1\224\1\202\1\203\1\204\1\205\1\206\1\0"+ "\1\207\1\0\1\210\1\211\3\0\1\212\1\213\1\225"+ "\1\0\1\215\1\216\1\217\1\0\1\220\1\221\1\222"+ "\32\0\33\53\1\226\114\53\1\227\2\53\1\230\2\53"+ "\1\231\10\53\1\232\44\53\26\0\1\157\1\233\155\0"+ "\1\234\41\0\1\61\5\0\1\61\11\0\1\235\117\0"+ "\1\236\61\0\3\64\1\0\3\64\1\0\2\64\10\0"+ "\3\64\7\0\30\64\3\0\3\64\3\0\1\64\1\0"+ "\3\64\13\0\3\237\1\240\1\237\1\241\2\242\1\237"+ "\1\243\1\244\1\237\3\0\3\237\1\0\25\237\1\245"+ "\2\237\1\245\1\237\1\246\1\245\2\237\1\240\1\237"+ "\1\242\1\240\13\237\2\245\1\246\13\237\4\0\1\247"+ "\3\0\1\247\2\0\4\250\2\0\2\250\3\0\3\247"+ "\3\0\1\247\37\0\1\247\6\0\11\247\6\0\1\247"+ "\3\0\1\247\2\0\3\250\1\66\2\0\2\250\3\0"+ "\3\247\3\0\1\247\37\0\1\247\6\0\11\247\30\0"+ "\1\157\1\251\67\0\1\252\1\253\1\252\1\0\1\253"+ "\2\252\1\0\2\253\1\254\3\0\1\253\1\0\1\254"+ "\2\0\1\253\10\0\24\253\4\252\3\0\3\253\3\0"+ "\1\253\1\0\3\253\2\0\1\253\77\0\1\255\123\0"+ "\1\256\33\0\4\257\2\0\2\257\11\0\1\260\61\0"+ "\26\110\1\261\1\110\1\262\1\263\1\0\1\110\1\0"+ "\107\110\1\264\1\265\66\110\4\262\1\266\7\262\3\0"+ "\3\262\1\0\5\262\1\110\65\262\4\267\1\270\7\267"+ "\3\0\3\267\1\0\6\267\1\0\64\267\4\116\1\0"+ "\7\116\3\0\3\116\1\0\5\116\1\0\65\116\3\33"+ "\1\271\1\33\1\272\2\273\1\33\1\274\1\275\1\33"+ "\3\0\3\33\1\0\36\33\1\271\1\33\1\273\1\271"+ "\31\33\16\0\1\120\213\0\1\276\1\0\3\277\1\300"+ "\1\277\1\301\2\302\1\277\1\303\1\304\1\277\3\0"+ "\3\277\1\0\25\277\1\305\2\277\1\305\1\277\1\306"+ "\1\305\2\277\1\300\1\277\1\302\1\300\13\277\2\305"+ "\1\306\13\277\16\0\1\307\75\0\1\276\3\0\1\310"+ "\2\0\1\310\3\0\2\310\4\0\1\310\4\0\1\310"+ "\10\0\24\310\7\0\3\310\3\0\1\310\1\0\3\310"+ "\2\0\1\310\6\0\1\276\104\0\1\311\10\0\1\276"+ "\110\0\1\312\4\0\1\276\115\0\1\313\115\0\1\276"+ "\1\314\114\0\1\315\1\0\14\316\3\0\3\316\1\0"+ "\73\316\77\0\1\317\17\0\3\320\2\0\2\320\30\0"+ "\1\320\1\0\1\320\1\0\1\320\5\0\1\320\3\0"+ "\2\320\1\0\4\320\3\0\1\320\1\0\1\320\5\0"+ "\1\320\16\0\3\321\2\0\2\321\30\0\1\321\1\0"+ "\1\321\1\0\1\321\5\0\1\321\3\0\2\321\1\0"+ "\4\321\3\0\1\321\1\0\1\321\5\0\1\321\30\0"+ "\1\153\5\0\1\153\112\0\1\154\77\0\14\157\3\0"+ "\3\157\1\0\73\157\14\0\3\160\3\0\1\160\75\0"+ "\1\253\2\0\1\253\3\0\2\253\1\322\3\0\1\253"+ "\1\0\1\322\2\0\1\253\7\0\1\323\24\253\7\0"+ "\3\253\3\0\1\253\1\0\3\253\2\0\1\253\26\0"+ "\1\163\112\0\4\165\2\0\2\165\73\0\33\31\1\0"+ "\62\31\1\0\1\324\1\0\1\324\2\0\2\324\51\0"+ "\4\324\31\0\14\176\3\0\3\176\1\0\73\176\36\0"+ "\1\325\115\0\1\326\15\0\1\327\3\0\1\330\76\0"+ "\1\331\125\0\1\332\51\0\1\333\33\0\1\334\65\0"+ "\1\335\23\0\1\336\135\0\1\337\1\0\1\340\73\0"+ "\1\341\131\0\1\342\55\0\1\343\25\0\1\344\1\0"+ "\1\345\2\0\1\346\1\347\1\350\106\0\1\351\12\0"+ "\1\352\54\0\1\353\144\0\1\354\66\0\1\355\163\0"+ "\1\356\115\0\1\357\122\0\1\360\104\0\1\361\101\0"+ "\1\362\12\0\1\352\43\0\32\53\1\0\2\53\1\0"+ "\2\53\1\0\10\53\1\0\44\53\36\0\1\363\120\0"+ "\1\364\125\0\1\365\134\0\1\366\63\0\1\367\62\0"+ "\1\237\2\0\2\237\51\0\1\237\1\0\2\237\32\0"+ "\3\370\2\0\2\370\30\0\1\370\1\0\1\370\1\0"+ "\1\370\5\0\1\370\3\0\2\370\1\0\4\370\3\0"+ "\1\370\1\0\1\370\5\0\1\370\20\0\1\240\2\0"+ "\2\240\51\0\1\240\1\0\2\240\32\0\3\371\2\0"+ "\2\371\24\0\1\372\3\0\1\371\1\0\1\371\1\0"+ "\1\371\5\0\1\371\3\0\2\371\1\0\4\371\3\0"+ "\1\371\1\0\1\371\5\0\1\371\16\0\3\373\2\0"+ "\2\373\30\0\1\373\1\0\1\373\1\0\1\373\5\0"+ "\1\373\3\0\2\373\1\0\4\373\3\0\1\373\1\0"+ "\1\373\5\0\1\373\51\0\1\374\62\0\1\252\1\0"+ "\1\252\2\0\2\252\51\0\4\252\32\0\3\253\1\0"+ "\3\253\1\0\2\253\1\375\3\0\4\253\1\0\2\253"+ "\4\0\1\376\2\0\30\253\3\0\3\253\3\0\1\253"+ "\1\0\3\253\2\0\1\253\100\0\1\377\36\0\1\u0100"+ "\33\0\1\u0101\10\0\1\u0102\17\0\1\u0103\17\0\14\264"+ "\3\110\3\264\1\110\3\264\1\u0104\67\264\27\265\1\u0105"+ "\66\265\14\262\3\0\3\262\1\0\73\262\31\0\1\110"+ "\64\0\3\267\1\u0106\1\u0107\1\267\2\u0108\1\267\1\u0109"+ "\2\267\3\0\3\267\1\0\36\267\1\u0106\1\267\1\u0108"+ "\1\u0106\31\267\3\0\1\33\2\0\2\33\51\0\1\33"+ "\1\0\2\33\32\0\3\u010a\2\0\2\u010a\30\0\1\u010a"+ "\1\0\1\u010a\1\0\1\u010a\5\0\1\u010a\3\0\2\u010a"+ "\1\0\4\u010a\3\0\1\u010a\1\0\1\u010a\5\0\1\u010a"+ "\20\0\1\271\2\0\2\271\51\0\1\271\1\0\2\271"+ "\32\0\3\u010b\2\0\2\u010b\24\0\1\u010c\3\0\1\u010b"+ "\1\0\1\u010b\1\0\1\u010b\5\0\1\u010b\3\0\2\u010b"+ "\1\0\4\u010b\3\0\1\u010b\1\0\1\u010b\5\0\1\u010b"+ "\16\0\3\u010d\2\0\2\u010d\30\0\1\u010d\1\0\1\u010d"+ "\1\0\1\u010d\5\0\1\u010d\3\0\2\u010d\1\0\4\u010d"+ "\3\0\1\u010d\1\0\1\u010d\5\0\1\u010d\131\0\1\u010e"+ "\115\0\1\u010f\4\0\1\237\2\0\2\237\51\0\1\237"+ "\1\0\2\237\27\0\1\u010f\2\0\3\370\2\0\2\370"+ "\30\0\1\370\1\0\1\370\1\0\1\370\5\0\1\370"+ "\3\0\2\370\1\0\4\370\3\0\1\370\1\0\1\370"+ "\5\0\1\370\13\0\1\u010f\4\0\1\240\2\0\2\240"+ "\51\0\1\240\1\0\2\240\27\0\1\u010f\2\0\3\371"+ "\2\0\2\371\24\0\1\u0110\3\0\1\371\1\0\1\371"+ "\1\0\1\371\5\0\1\371\3\0\2\371\1\0\4\371"+ "\3\0\1\371\1\0\1\371\5\0\1\371\13\0\1\u010f"+ "\2\0\3\373\2\0\2\373\30\0\1\373\1\0\1\373"+ "\1\0\1\373\5\0\1\373\3\0\2\373\1\0\4\373"+ "\3\0\1\373\1\0\1\373\5\0\1\373\13\0\1\u010f"+ "\35\0\1\374\57\0\1\u010f\2\0\3\310\1\0\3\310"+ "\1\0\2\310\4\0\4\310\1\0\2\310\4\0\1\u0111"+ "\2\0\30\310\3\0\3\310\3\0\1\310\1\0\3\310"+ "\2\0\1\310\124\0\1\u0112\2\0\3\u0113\2\0\2\u0113"+ "\30\0\1\u0113\1\0\1\u0113\1\0\1\u0113\5\0\1\u0113"+ "\3\0\2\u0113\1\0\4\u0113\3\0\1\u0113\1\0\1\u0113"+ "\5\0\1\u0113\16\0\3\u0114\2\0\2\u0114\30\0\1\u0114"+ "\1\0\1\u0114\1\0\1\u0114\5\0\1\u0114\3\0\2\u0114"+ "\1\0\4\u0114\3\0\1\u0114\1\0\1\u0114\5\0\1\u0114"+ "\17\0\1\253\2\0\1\253\3\0\2\253\1\322\3\0"+ "\1\253\1\0\1\322\2\0\1\253\10\0\24\253\7\0"+ "\3\253\3\0\1\253\1\0\3\253\2\0\1\253\11\0"+ "\1\252\1\0\1\252\2\0\2\252\3\0\1\323\5\0"+ "\1\323\37\0\4\252\32\0\1\324\1\0\1\324\2\0"+ "\2\324\1\u0115\50\0\4\324\66\0\1\u0116\115\0\1\u0117"+ "\1\0\1\u0118\12\0\1\u0119\120\0\1\u011a\76\0\1\u011b"+ "\116\0\1\u011c\133\0\1\u011d\77\0\1\u011e\120\0\1\u011f"+ "\111\0\1\u0120\6\0\1\u0121\106\0\1\u0122\114\0\1\u0123"+ "\133\0\1\u0124\100\0\1\u0125\117\0\1\u0126\4\0\1\u0127"+ "\125\0\1\u0128\101\0\1\u0129\121\0\1\u012a\123\0\1\u012b"+ "\106\0\1\u012c\115\0\1\u012d\115\0\1\u012e\115\0\1\u012f"+ "\130\0\1\u0130\115\0\1\u0131\100\0\1\u0132\110\0\1\u0133"+ "\115\0\1\u0134\137\0\1\u0135\75\0\1\u0136\122\0\1\u0137"+ "\106\0\1\u0138\122\0\1\u0139\120\0\1\u013a\141\0\1\u013b"+ "\76\0\1\u0119\44\0\3\237\2\0\2\237\30\0\1\237"+ "\1\0\1\237\1\0\1\237\5\0\1\237\3\0\2\237"+ "\1\0\4\237\3\0\1\237\1\0\1\237\5\0\1\237"+ "\16\0\3\u013c\2\0\2\u013c\30\0\1\u013c\1\0\1\u013c"+ "\1\0\1\u013c\5\0\1\u013c\3\0\2\u013c\1\0\4\u013c"+ "\3\0\1\u013c\1\0\1\u013c\5\0\1\u013c\16\0\3\u013d"+ "\2\0\2\u013d\30\0\1\u013d\1\0\1\u013d\1\0\1\u013d"+ "\5\0\1\u013d\3\0\2\u013d\1\0\4\u013d\3\0\1\u013d"+ "\1\0\1\u013d\5\0\1\u013d\15\0\32\374\1\245\63\374"+ "\13\0\1\375\5\0\1\375\10\0\1\376\154\0\1\u013e"+ "\101\0\1\u013f\100\0\1\u0140\1\u0141\111\0\1\u0142\125\0"+ "\1\u0143\50\0\14\264\3\110\3\264\1\110\3\264\1\u0104"+ "\1\u0144\66\264\26\265\1\110\1\u0105\66\265\3\0\1\267"+ "\2\0\2\267\21\0\1\110\27\0\1\267\1\0\2\267"+ "\35\0\1\u0145\4\0\1\u0146\17\0\1\110\67\0\1\u0106"+ "\2\0\2\u0106\21\0\1\110\27\0\1\u0106\1\0\2\u0106"+ "\32\0\3\u0147\2\0\2\u0147\21\0\1\110\6\0\1\u0147"+ "\1\0\1\u0147\1\0\1\u0147\5\0\1\u0147\3\0\2\u0147"+ "\1\0\4\u0147\3\0\1\u0147\1\0\1\u0147\5\0\1\u0147"+ "\16\0\3\33\2\0\2\33\30\0\1\33\1\0\1\33"+ "\1\0\1\33\5\0\1\33\3\0\2\33\1\0\4\33"+ "\3\0\1\33\1\0\1\33\5\0\1\33\16\0\3\u0148"+ "\2\0\2\u0148\30\0\1\u0148\1\0\1\u0148\1\0\1\u0148"+ "\5\0\1\u0148\3\0\2\u0148\1\0\4\u0148\3\0\1\u0148"+ "\1\0\1\u0148\5\0\1\u0148\16\0\3\u0149\2\0\2\u0149"+ "\30\0\1\u0149\1\0\1\u0149\1\0\1\u0149\5\0\1\u0149"+ "\3\0\2\u0149\1\0\4\u0149\3\0\1\u0149\1\0\1\u0149"+ "\5\0\1\u0149\131\0\1\u014a\2\0\3\u014b\2\0\2\u014b"+ "\30\0\1\u014b\1\0\1\u014b\1\0\1\u014b\5\0\1\u014b"+ "\3\0\2\u014b\1\0\4\u014b\3\0\1\u014b\1\0\1\u014b"+ "\5\0\1\u014b\16\0\3\u014c\2\0\2\u014c\30\0\1\u014c"+ "\1\0\1\u014c\1\0\1\u014c\5\0\1\u014c\3\0\2\u014c"+ "\1\0\4\u014c\3\0\1\u014c\1\0\1\u014c\5\0\1\u014c"+ "\16\0\3\u014d\2\0\2\u014d\30\0\1\u014d\1\0\1\u014d"+ "\1\0\1\u014d\5\0\1\u014d\3\0\2\u014d\1\0\4\u014d"+ "\3\0\1\u014d\1\0\1\u014d\5\0\1\u014d\16\0\1\u014e"+ "\1\0\1\u014e\2\0\2\u014e\51\0\4\u014e\103\0\1\u014f"+ "\102\0\1\u0150\116\0\1\u0151\7\0\1\u0152\112\0\1\u0153"+ "\115\0\1\u0154\111\0\1\u0155\65\0\1\u0156\144\0\1\u0157"+ "\115\0\1\u0158\111\0\1\u0159\2\0\1\u015a\3\0\1\u015b"+ "\6\0\1\u015c\115\0\1\u015d\110\0\1\u015e\114\0\1\u015f"+ "\126\0\1\u0160\77\0\1\u0161\116\0\1\u0162\116\0\1\u0163"+ "\114\0\1\u0164\130\0\1\u0165\2\0\1\u0166\106\0\1\u0167"+ "\57\0\1\u0168\144\0\1\u0169\130\0\1\u016a\111\0\1\u016b"+ "\104\0\1\u016c\115\0\1\u016d\124\0\1\u016e\61\0\1\u016f"+ "\146\0\1\u0170\112\0\1\u0171\115\0\1\u0172\113\0\1\u0173"+ "\124\0\1\u0174\107\0\1\u016c\1\u0175\115\0\1\u0176\110\0"+ "\1\u0177\4\0\1\u0178\3\0\1\u0179\112\0\1\u017a\147\0"+ "\1\u017b\24\0\3\371\2\0\2\371\30\0\1\371\1\0"+ "\1\371\1\0\1\371\5\0\1\371\3\0\2\371\1\0"+ "\4\371\3\0\1\371\1\0\1\371\5\0\1\371\107\0"+ "\1\u017c\100\0\1\u017d\77\0\1\u017e\126\0\1\u017d\125\0"+ "\1\u017f\75\0\1\u0180\55\0\14\u0144\3\u0181\3\u0144\1\u0181"+ "\3\u0144\1\u0182\1\u0183\66\u0144\4\0\1\u0145\4\0\1\u0146"+ "\105\0\3\u0147\2\0\2\u0147\30\0\1\u0147\1\0\1\u0147"+ "\1\0\1\u0147\5\0\1\u0147\3\0\2\u0147\1\0\4\u0147"+ "\3\0\1\u0147\1\0\1\u0147\5\0\1\u0147\16\0\3\u0184"+ "\2\0\2\u0184\30\0\1\u0184\1\0\1\u0184\1\0\1\u0184"+ "\5\0\1\u0184\3\0\2\u0184\1\0\4\u0184\3\0\1\u0184"+ "\1\0\1\u0184\5\0\1\u0184\16\0\3\u010b\2\0\2\u010b"+ "\30\0\1\u010b\1\0\1\u010b\1\0\1\u010b\5\0\1\u010b"+ "\3\0\2\u010b\1\0\4\u010b\3\0\1\u010b\1\0\1\u010b"+ "\5\0\1\u010b\16\0\3\u0185\2\0\2\u0185\22\0\1\63"+ "\5\0\1\u0185\1\0\1\u0185\1\0\1\u0185\5\0\1\u0185"+ "\3\0\2\u0185\1\0\4\u0185\3\0\1\u0185\1\0\1\u0185"+ "\5\0\1\u0185\16\0\3\u0186\2\0\2\u0186\30\0\1\u0186"+ "\1\0\1\u0186\1\0\1\u0186\5\0\1\u0186\3\0\2\u0186"+ "\1\0\4\u0186\3\0\1\u0186\1\0\1\u0186\5\0\1\u0186"+ "\16\0\3\u0187\2\0\2\u0187\30\0\1\u0187\1\0\1\u0187"+ "\1\0\1\u0187\5\0\1\u0187\3\0\2\u0187\1\0\4\u0187"+ "\3\0\1\u0187\1\0\1\u0187\5\0\1\u0187\56\0\1\u0188"+ "\110\0\1\u0189\2\0\1\u018a\136\0\1\u018b\104\0\1\u018c"+ "\57\0\1\u018d\144\0\1\u018e\124\0\1\u018f\104\0\1\u0190"+ "\115\0\1\u0191\125\0\1\u0192\113\0\1\u0193\116\0\1\u0194"+ "\107\0\1\u0195\123\0\1\u0196\117\0\1\u0197\115\0\1\u0198"+ "\110\0\1\u0199\60\0\1\u019a\161\0\1\u019b\104\0\1\u019c"+ "\121\0\1\u019d\125\0\1\u019e\106\0\1\u019f\123\0\1\u01a0"+ "\120\0\1\u01a1\77\0\1\u01a2\112\0\1\u01a3\140\0\1\u01a4"+ "\75\0\1\u01a5\114\0\1\u01a6\115\0\1\u01a7\116\0\1\u01a8"+ "\107\0\1\u01a9\4\0\1\u01aa\124\0\1\u01ab\113\0\1\u01ac"+ "\56\0\1\u01ad\203\0\1\u01ae\115\0\1\u01af\62\0\1\u01b0"+ "\114\0\1\u01b1\113\0\1\u01b2\117\0\1\u01b3\56\0\26\u0181"+ "\1\u01b4\1\u01b5\1\u01b6\1\u01b7\1\265\1\u0181\1\265\61\u0181"+ "\14\u0144\3\u0181\3\u0144\1\u0181\3\u0144\1\u0182\103\u0144\3\u0181"+ "\3\u0144\1\u0181\3\u0144\1\u0104\1\u0183\66\u0144\1\0\3\u01b8"+ "\2\0\2\u01b8\30\0\1\u01b8\1\0\1\u01b8\1\0\1\u01b8"+ "\5\0\1\u01b8\3\0\2\u01b8\1\0\4\u01b8\3\0\1\u01b8"+ "\1\0\1\u01b8\5\0\1\u01b8\16\0\3\u01b9\2\0\2\u01b9"+ "\22\0\1\63\5\0\1\u01b9\1\0\1\u01b9\1\0\1\u01b9"+ "\5\0\1\u01b9\3\0\2\u01b9\1\0\4\u01b9\3\0\1\u01b9"+ "\1\0\1\u01b9\5\0\1\u01b9\16\0\3\u01ba\2\0\2\u01ba"+ "\30\0\1\u01ba\1\0\1\u01ba\1\0\1\u01ba\5\0\1\u01ba"+ "\3\0\2\u01ba\1\0\4\u01ba\3\0\1\u01ba\1\0\1\u01ba"+ "\5\0\1\u01ba\73\0\1\u01bb\105\0\1\u01bc\107\0\1\u01bd"+ "\121\0\1\u01be\127\0\1\u01bf\113\0\1\u01c0\101\0\1\u01c1"+ "\112\0\1\u01c2\136\0\1\u01c3\106\0\1\u01c4\113\0\1\u01c5"+ "\111\0\1\u01c6\111\0\1\u01c7\115\0\1\u01c8\124\0\1\u01c9"+ "\110\0\1\u01ca\132\0\1\u01cb\120\0\1\u01cc\105\0\1\u01cd"+ "\104\0\1\u01ce\117\0\1\u01cf\121\0\1\u01d0\120\0\1\u01d1"+ "\120\0\1\u01d2\112\0\1\u01d3\106\0\1\u01d4\130\0\1\u01d5"+ "\110\0\1\u01d6\116\0\1\u01d7\113\0\1\u01d8\107\0\1\u01d9"+ "\151\0\1\55\115\0\1\u01da\71\0\1\u01db\106\0\1\u01dc"+ "\114\0\1\u01dd\115\0\1\u01de\56\0\26\u0181\1\u0144\1\u01df"+ "\114\u0181\1\u01e0\1\u01b5\1\u01b6\1\u01b7\1\265\1\u0181\1\265"+ "\61\u0181\4\u01b6\1\u01e1\7\u01b6\3\265\3\u01b6\1\265\4\u01b6"+ "\1\u01e2\1\u0181\65\u01b6\4\u01e3\1\u01e4\7\u01e3\3\265\3\u01e3"+ "\1\265\4\u01e3\1\u01e5\1\u01e3\1\265\64\u01e3\1\0\3\267"+ "\2\0\2\267\30\0\1\267\1\0\1\267\1\0\1\267"+ "\5\0\1\267\3\0\2\267\1\0\4\267\3\0\1\267"+ "\1\0\1\267\5\0\1\267\16\0\3\u01e6\2\0\2\u01e6"+ "\22\0\1\63\5\0\1\u01e6\1\0\1\u01e6\1\0\1\u01e6"+ "\5\0\1\u01e6\3\0\2\u01e6\1\0\4\u01e6\3\0\1\u01e6"+ "\1\0\1\u01e6\5\0\1\u01e6\55\0\1\u01e7\124\0\1\u01e8"+ "\115\0\1\u01e9\123\0\1\u01ea\100\0\1\u01eb\115\0\1\u01ec"+ "\127\0\1\u01ed\50\0\1\u01ee\163\0\1\u01ef\103\0\1\u01f0"+ "\110\0\1\u01f1\134\0\1\u01f2\103\0\1\u01f3\117\0\1\u01f4"+ "\124\0\1\u01f5\111\0\1\u01f6\60\0\1\u01f7\164\0\1\u01f8"+ "\110\0\1\u01f9\107\0\1\u01fa\117\0\1\u01fb\121\0\1\u01fc"+ "\111\0\1\u01fd\107\0\1\u01fe\106\0\1\u01ff\131\0\1\u0200"+ "\121\0\1\u0201\112\0\1\u01dd\143\0\1\u0202\60\0\1\u0203"+ "\55\0\26\265\1\u0181\1\u0105\66\265\26\110\1\u0104\1\u0181"+ "\1\u0204\1\u0205\64\110\14\u01b6\3\265\3\u01b6\1\265\4\u01b6"+ "\1\u01e2\72\u01b6\1\u01e1\7\u01b6\3\265\3\u01b6\1\265\3\u01b6"+ "\1\u0204\1\u01e2\1\u0181\65\u01b6\27\265\1\u0105\1\265\1\u0181"+ "\64\265\3\u01e3\1\u0206\1\u0207\1\u01e3\2\u0208\1\u01e3\1\u0209"+ "\2\u01e3\3\265\3\u01e3\1\265\4\u01e3\1\u01e5\31\u01e3\1\u0206"+ "\1\u01e3\1\u0208\1\u0206\31\u01e3\26\265\1\110\1\u0105\1\265"+ "\1\u0181\64\265\1\0\3\u020a\2\0\2\u020a\22\0\1\63"+ "\5\0\1\u020a\1\0\1\u020a\1\0\1\u020a\5\0\1\u020a"+ "\3\0\2\u020a\1\0\4\u020a\3\0\1\u020a\1\0\1\u020a"+ "\5\0\1\u020a\56\0\1\u020b\112\0\1\u020c\123\0\1\u020d"+ "\121\0\1\u020e\105\0\1\u020f\113\0\1\u0210\123\0\1\u0211"+ "\110\0\1\u0212\125\0\1\u0213\126\0\1\u0214\110\0\1\u0215"+ "\103\0\1\u0216\115\0\1\u0217\115\0\1\u0218\124\0\1\u0219"+ "\114\0\1\u021a\112\0\1\u021b\150\0\1\245\65\0\1\u021c"+ "\46\0\4\u0204\1\u021d\7\u0204\3\110\3\u0204\1\110\3\u0204"+ "\1\u021e\2\u0204\1\u021f\1\262\1\u0204\1\262\61\u0204\4\u0220"+ "\1\u0221\7\u0220\3\110\3\u0220\1\110\3\u0220\1\261\1\u0220"+ "\1\u0222\1\263\1\267\1\u0220\1\267\61\u0220\3\265\1\u01e3"+ "\2\265\2\u01e3\17\265\1\u0105\1\265\1\u0181\27\265\1\u01e3"+ "\1\265\2\u01e3\35\265\1\u0223\4\265\1\u0224\15\265\1\u0105"+ "\1\265\1\u0181\67\265\1\u0206\2\265\2\u0206\17\265\1\u0105"+ "\1\265\1\u0181\27\265\1\u0206\1\265\2\u0206\32\265\3\u0225"+ "\2\265\2\u0225\17\265\1\u0105\1\265\1\u0181\6\265\1\u0225"+ "\1\265\1\u0225\1\265\1\u0225\5\265\1\u0225\3\265\2\u0225"+ "\1\265\4\u0225\3\265\1\u0225\1\265\1\u0225\5\265\1\u0225"+ "\15\265\1\0\3\u0226\2\0\2\u0226\22\0\1\63\5\0"+ "\1\u0226\1\0\1\u0226\1\0\1\u0226\5\0\1\u0226\3\0"+ "\2\u0226\1\0\4\u0226\3\0\1\u0226\1\0\1\u0226\5\0"+ "\1\u0226\65\0\1\u0227\104\0\1\u0228\131\0\1\u0229\76\0"+ "\1\u022a\120\0\1\u022b\117\0\1\u022c\112\0\1\u022d\126\0"+ "\1\u022e\116\0\1\u022f\77\0\1\u0230\124\0\1\u0231\127\0"+ "\1\u0232\120\0\1\u0102\16\0\1\u0202\20\0\14\u0204\3\110"+ "\3\u0204\1\110\3\u0204\1\u021e\1\u0204\1\262\1\u021f\1\262"+ "\1\u0204\1\262\65\u0204\1\u021d\7\u0204\3\110\3\u0204\1\110"+ "\3\u0204\1\264\1\u01b6\1\110\65\u0204\4\u0222\1\u0233\7\u0222"+ "\3\0\3\u0222\1\0\5\u0222\1\u0220\1\262\64\u0222\26\110"+ "\1\261\1\110\1\262\1\u0205\1\0\1\110\1\0\61\110"+ "\3\u0220\1\u0234\1\u0235\1\u0220\2\u0236\1\u0220\1\u0237\2\u0220"+ "\3\110\3\u0220\1\110\3\u0220\1\261\1\u0220\1\u0222\1\u0238"+ "\1\267\1\u0220\1\267\24\u0220\1\u0234\1\u0220\1\u0236\1\u0234"+ "\31\u0220\4\262\1\266\7\262\3\0\3\262\1\0\5\262"+ "\1\110\1\u0204\64\262\4\265\1\u0223\4\265\1\u0224\15\265"+ "\1\u0105\67\265\3\u0225\2\265\2\u0225\17\265\1\u0105\10\265"+ "\1\u0225\1\265\1\u0225\1\265\1\u0225\5\265\1\u0225\3\265"+ "\2\u0225\1\265\4\u0225\3\265\1\u0225\1\265\1\u0225\5\265"+ "\1\u0225\16\265\3\u0239\2\265\2\u0239\17\265\1\u0105\10\265"+ "\1\u0239\1\265\1\u0239\1\265\1\u0239\5\265\1\u0239\3\265"+ "\2\u0239\1\265\4\u0239\3\265\1\u0239\1\265\1\u0239\5\265"+ "\1\u0239\15\265\32\0\1\63\117\0\1\u023a\134\0\1\u023b"+ "\102\0\1\u023c\115\0\1\u023d\125\0\1\u023e\105\0\1\u023f"+ "\107\0\1\u0240\133\0\1\u0241\105\0\1\u01dd\55\0\3\u0222"+ "\1\u0242\1\u0243\1\u0222\2\u0244\1\u0222\1\u0245\2\u0222\3\0"+ "\3\u0222\1\0\36\u0222\1\u0242\1\u0222\1\u0244\1\u0242\31\u0222"+ "\3\110\1\u0220\2\110\2\u0220\16\110\1\261\1\110\1\262"+ "\1\u0205\1\0\1\110\1\0\24\110\1\u0220\1\110\2\u0220"+ "\35\110\1\u0246\4\110\1\u0247\14\110\1\261\1\110\1\262"+ "\1\u0205\1\0\1\110\1\0\64\110\1\u0234\2\110\2\u0234"+ "\16\110\1\261\1\110\1\262\1\u0205\1\0\1\110\1\0"+ "\24\110\1\u0234\1\110\2\u0234\32\110\3\u0248\2\110\2\u0248"+ "\16\110\1\261\1\110\1\262\1\u0205\1\0\1\110\1\0"+ "\3\110\1\u0248\1\110\1\u0248\1\110\1\u0248\5\110\1\u0248"+ "\3\110\2\u0248\1\110\4\u0248\3\110\1\u0248\1\110\1\u0248"+ "\5\110\1\u0248\15\110\4\267\1\270\7\267\3\0\3\267"+ "\1\0\6\267\1\110\64\267\1\265\3\u0249\2\265\2\u0249"+ "\17\265\1\u0105\10\265\1\u0249\1\265\1\u0249\1\265\1\u0249"+ "\5\265\1\u0249\3\265\2\u0249\1\265\4\u0249\3\265\1\u0249"+ "\1\265\1\u0249\5\265\1\u0249\15\265\34\0\1\u024a\113\0"+ "\1\u024b\63\0\3\262\1\u0222\1\266\1\262\2\u0222\4\262"+ "\3\0\3\262\1\0\5\262\1\110\1\u0204\27\262\1\u0222"+ "\1\262\2\u0222\35\262\1\u024c\4\262\1\u024d\2\262\3\0"+ "\3\262\1\0\5\262\1\110\1\u0204\67\262\1\u0242\1\266"+ "\1\262\2\u0242\4\262\3\0\3\262\1\0\5\262\1\110"+ "\1\u0204\27\262\1\u0242\1\262\2\u0242\32\262\3\u024e\1\266"+ "\1\262\2\u024e\4\262\3\0\3\262\1\0\5\262\1\110"+ "\1\u0204\6\262\1\u024e\1\262\1\u024e\1\262\1\u024e\5\262"+ "\1\u024e\3\262\2\u024e\1\262\4\u024e\3\262\1\u024e\1\262"+ "\1\u024e\5\262\1\u024e\15\262\4\110\1\u0246\4\110\1\u0247"+ "\14\110\1\261\1\110\1\262\1\263\1\0\1\110\1\0"+ "\62\110\3\u0248\2\110\2\u0248\16\110\1\261\1\110\1\262"+ "\1\263\1\0\1\110\1\0\3\110\1\u0248\1\110\1\u0248"+ "\1\110\1\u0248\5\110\1\u0248\3\110\2\u0248\1\110\4\u0248"+ "\3\110\1\u0248\1\110\1\u0248\5\110\1\u0248\16\110\3\u024f"+ "\2\110\2\u024f\16\110\1\261\1\110\1\262\1\263\1\0"+ "\1\110\1\0\3\110\1\u024f\1\110\1\u024f\1\110\1\u024f"+ "\5\110\1\u024f\3\110\2\u024f\1\110\4\u024f\3\110\1\u024f"+ "\1\110\1\u024f\5\110\1\u024f\15\110\1\265\3\u01e3\2\265"+ "\2\u01e3\17\265\1\u0105\10\265\1\u01e3\1\265\1\u01e3\1\265"+ "\1\u01e3\5\265\1\u01e3\3\265\2\u01e3\1\265\4\u01e3\3\265"+ "\1\u01e3\1\265\1\u01e3\5\265\1\u01e3\15\265\4\262\1\u0250"+ "\4\262\1\u024d\2\262\3\0\3\262\1\0\74\262\3\u024e"+ "\1\266\1\262\2\u024e\4\262\3\0\3\262\1\0\5\262"+ "\1\110\7\262\1\u024e\1\262\1\u024e\1\262\1\u024e\5\262"+ "\1\u024e\3\262\2\u024e\1\262\4\u024e\3\262\1\u024e\1\262"+ "\1\u024e\5\262\1\u024e\16\262\3\u0251\1\266\1\262\2\u0251"+ "\4\262\3\0\3\262\1\0\5\262\1\110\7\262\1\u0251"+ "\1\262\1\u0251\1\262\1\u0251\5\262\1\u0251\3\262\2\u0251"+ "\1\262\4\u0251\3\262\1\u0251\1\262\1\u0251\5\262\1\u0251"+ "\15\262\1\110\3\u0252\2\110\2\u0252\16\110\1\261\1\110"+ "\1\262\1\263\1\0\1\110\1\0\3\110\1\u0252\1\110"+ "\1\u0252\1\110\1\u0252\5\110\1\u0252\3\110\2\u0252\1\110"+ "\4\u0252\3\110\1\u0252\1\110\1\u0252\5\110\1\u0252\15\110"+ "\4\262\1\u024c\4\262\1\u024d\2\262\3\0\3\262\1\0"+ "\5\262\1\110\66\262\3\u0253\1\266\1\262\2\u0253\4\262"+ "\3\0\3\262\1\0\5\262\1\110\7\262\1\u0253\1\262"+ "\1\u0253\1\262\1\u0253\5\262\1\u0253\3\262\2\u0253\1\262"+ "\4\u0253\3\262\1\u0253\1\262\1\u0253\5\262\1\u0253\15\262"+ "\1\110\3\u0220\2\110\2\u0220\16\110\1\261\1\110\1\262"+ "\1\263\1\0\1\110\1\0\3\110\1\u0220\1\110\1\u0220"+ "\1\110\1\u0220\5\110\1\u0220\3\110\2\u0220\1\110\4\u0220"+ "\3\110\1\u0220\1\110\1\u0220\5\110\1\u0220\15\110\1\262"+ "\3\u0222\1\266\1\262\2\u0222\4\262\3\0\3\262\1\0"+ "\5\262\1\110\7\262\1\u0222\1\262\1\u0222\1\262\1\u0222"+ "\5\262\1\u0222\3\262\2\u0222\1\262\4\u0222\3\262\1\u0222"+ "\1\262\1\u0222\5\262\1\u0222\15\262"; private static int [] zzUnpackTrans() { int [] result = new int[36426]; int offset = 0; offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result); return result; } private static int zzUnpackTrans(String packed, int offset, int [] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); value--; do result[j++] = value; while (--count > 0); } return j; } /* error codes */ private static final int ZZ_UNKNOWN_ERROR = 0; private static final int ZZ_NO_MATCH = 1; private static final int ZZ_PUSHBACK_2BIG = 2; /* error messages for the codes above */ private static final String[] ZZ_ERROR_MSG = { "Unknown 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 = "\1\1\3\0\1\1\15\0\1\1\5\0\2\1\1\11"+ "\2\1\1\11\3\1\1\11\5\1\2\11\3\1\1\11"+ "\1\1\1\11\3\1\1\11\5\1\2\11\3\1\11\11"+ "\5\1\2\11\2\1\1\11\1\1\1\11\5\1\1\11"+ "\2\1\1\11\4\1\3\11\1\1\2\11\3\1\1\11"+ "\2\1\1\11\1\1\1\11\2\1\1\11\1\1\1\11"+ "\2\1\1\0\1\11\1\0\2\11\2\0\1\11\2\0"+ "\1\11\1\0\1\11\20\0\1\1\1\11\1\1\1\0"+ "\1\11\3\0\1\11\3\0\1\11\5\1\1\11\1\1"+ "\1\11\1\0\1\11\1\1\5\0\1\11\3\0\1\1"+ "\4\0\16\1\1\11\1\0\2\11\1\1\1\11\1\1"+ "\2\11\2\1\2\0\1\1\45\0\1\11\3\0\1\11"+ "\5\0\1\1\7\0\1\11\1\0\1\11\1\1\1\0"+ "\2\11\2\1\3\0\1\1\17\0\1\1\33\0\1\1"+ "\5\0\1\11\1\0\3\1\10\0\1\11\1\0\1\11"+ "\4\0\1\11\3\0\1\11\10\0\1\11\5\0\2\11"+ "\4\0\1\11\11\0\3\1\2\0\2\1\1\0\1\11"+ "\14\0\1\11\2\0\1\11\6\0\1\11\3\0\1\11"+ "\1\0\1\11\1\0\1\1\1\11\13\0\1\1\4\0"+ "\1\11\20\0\1\11\2\0\1\11\3\0\2\11\1\1"+ "\1\11\4\0\1\11\5\0\1\1\6\0\1\11\1\0"+ "\3\11\2\0\2\11\1\0\1\11\6\0\1\11\3\0"+ "\1\11\2\0\1\11\4\0\2\1\10\0\1\1\2\11"+ "\1\0\1\11\1\0\2\11\7\0\1\1\2\0\2\1"+ "\5\0\1\1\2\0\1\11\3\0\1\11\1\0\1\11"+ "\3\0\4\1\2\0\4\11\1\1\2\11\5\0\3\1"+ "\1\0\2\11\3\0\1\1\2\0\1\1\1\0"; private static int [] zzUnpackAttribute() { int [] result = new int[595]; int offset = 0; offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result); return result; } private static int zzUnpackAttribute(String packed, int offset, int [] result) { int i = 0; /* index in packed string */ int j = offset; /* index in unpacked array */ int l = packed.length(); while (i < l) { int count = packed.charAt(i++); int value = packed.charAt(i++); do result[j++] = value; while (--count > 0); } return j; } /** the input device */ private java.io.Reader zzReader; /** the current state of the DFA */ private int zzState; /** the current lexical state */ private int zzLexicalState = YYINITIAL; /** this buffer contains the current text to be matched and is the source of the yytext() string */ private CharSequence zzBuffer = ""; /** the textposition at the last accepting state */ private int zzMarkedPos; /** the current text position in the buffer */ private int zzCurrentPos; /** startRead marks the beginning of the yytext() string in the buffer */ private int zzStartRead; /** endRead marks the last character in the buffer, that has been read from input */ private int zzEndRead; /** * zzAtBOL == true <=> the scanner is currently at the beginning of a line */ private boolean zzAtBOL = true; /** zzAtEOF == true <=> the scanner is at the EOF */ private boolean zzAtEOF; /** denotes if the user-EOF-code has already been executed */ private boolean zzEOFDone; /** For the backwards DFA of general lookahead statements */ private boolean [] zzFin = new boolean [ZZ_BUFFERSIZE+1]; /* user code: */ int nextState; boolean macroDefinition; int braceCount; int bracketCount; int commentCount; public _JFlexLexer() { this((java.io.Reader)null); } /** * Creates a new scanner * * @param in the java.io.Reader to read input from. */ public _JFlexLexer(java.io.Reader in) { this.zzReader = in; } /** * Unpacks the compressed character translation table. * * @param packed the packed character translation table * @return the unpacked character translation table */ private static char [] zzUnpackCMap(String packed) { int size = 0; for (int i = 0, length = packed.length(); i < length; i += 2) { size += packed.charAt(i); } char[] map = new char[size]; int i = 0; /* index in packed string */ int j = 0; /* index in unpacked array */ while (i < packed.length()) { 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; zzCurrentPos = zzMarkedPos = zzStartRead = start; 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 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; } /** * 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; int [] zzTransL = ZZ_TRANS; int [] zzRowMapL = ZZ_ROWMAP; int [] zzAttrL = ZZ_ATTRIBUTE; while (true) { zzMarkedPosL = zzMarkedPos; if (zzMarkedPosL > zzStartRead) { switch (zzBufferL.charAt(zzMarkedPosL-1)) { case '\n': case '\u000B': case '\u000C': case '\u0085': case '\u2028': case '\u2029': zzAtBOL = true; break; case '\r': if (zzMarkedPosL < zzEndReadL) zzAtBOL = zzBufferL.charAt(zzMarkedPosL) != '\n'; else if (zzAtEOF) zzAtBOL = false; else { boolean eof = zzRefill(); zzMarkedPosL = zzMarkedPos; zzEndReadL = zzEndRead; zzBufferL = zzBuffer; if (eof) zzAtBOL = false; else zzAtBOL = zzBufferL.charAt(zzMarkedPosL) != '\n'; } break; default: zzAtBOL = false; } } zzAction = -1; zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; if (zzAtBOL) zzState = ZZ_LEXSTATE[zzLexicalState+1]; else zzState = ZZ_LEXSTATE[zzLexicalState]; // set up zzAction for empty match case: int zzAttributes = zzAttrL[zzState]; if ( (zzAttributes & 1) == 1 ) { zzAction = zzState; } zzForAction: { while (true) { if (zzCurrentPosL < zzEndReadL) { zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL/*, zzEndReadL*/); zzCurrentPosL += Character.charCount(zzInput); } else if (zzAtEOF) { zzInput = YYEOF; break zzForAction; } else { // store back cached positions zzCurrentPos = zzCurrentPosL; zzMarkedPos = zzMarkedPosL; boolean eof = zzRefill(); // get translated positions and possibly new buffer zzCurrentPosL = zzCurrentPos; zzMarkedPosL = zzMarkedPos; zzBufferL = zzBuffer; zzEndReadL = zzEndRead; if (eof) { zzInput = YYEOF; break zzForAction; } else { zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL/*, zzEndReadL*/); zzCurrentPosL += Character.charCount(zzInput); } } int zzNext = zzTransL[ zzRowMapL[zzState] + ZZ_CMAP(zzInput) ]; if (zzNext == -1) break zzForAction; zzState = zzNext; zzAttributes = zzAttrL[zzState]; if ( (zzAttributes & 1) == 1 ) { zzAction = zzState; zzMarkedPosL = zzCurrentPosL; if ( (zzAttributes & 8) == 8 ) break zzForAction; } } } // store back cached position zzMarkedPos = zzMarkedPosL; if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { zzAtEOF = true; switch (zzLexicalState) { case COMMENT: { yybegin(REPORT_UNCLOSED); return FLEX_BLOCK_COMMENT; } case 596: break; case CODE: { yybegin(REPORT_UNCLOSED); return FLEX_RAW; } case 597: break; case STATES: { nextState=REGEXPSTART; yybegin(REPORT_UNCLOSED); } case 598: break; case ACTION_CODE: { nextState=REGEXPSTART; yybegin(REPORT_UNCLOSED); return FLEX_RAW; } case 599: break; case STRING_CONTENT: { yybegin(REPORT_UNCLOSED); return FLEX_STRING; } case 600: break; case CHARCLASS: { nextState=REGEXP; yybegin(REPORT_UNCLOSED); return FLEX_BRACK2; } case 601: break; default: return null; } } else { switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { case 1: { return FLEX_RAW; } case 137: break; case 2: { return FLEX_LINE_COMMENT; } case 138: break; case 3: { return BAD_CHARACTER; } case 139: break; case 4: { } case 140: break; case 5: { return FLEX_NUMBER; } case 141: break; case 6: { return FLEX_ID; } case 142: break; case 7: { return FLEX_DOT; } case 143: break; case 8: { return WHITE_SPACE; } case 144: break; case 9: { return FLEX_NEWLINE; } case 145: break; case 10: { return FLEX_COMMA; } case 146: break; case 11: { yybegin(REGEXP); return FLEX_EQ; } case 147: break; case 12: { yypushback(yylength()); yybegin(REGEXP); } case 148: break; case 13: { return FLEX_BRACE2; } case 149: break; case 14: { yybegin(STATES); return FLEX_ANGLE1; } case 150: break; case 15: { return FLEX_CHAR; } case 151: break; case 16: { yypushback(yylength()); if (macroDefinition) yybegin(MACROS); else yybegin(REGEXPSTART); } case 152: break; case 17: { return FLEX_FSLASH; } case 153: break; case 18: { return FLEX_STAR; } case 154: break; case 19: { nextState=REGEXP; yybegin(STRING_CONTENT); } case 155: break; case 20: { if (macroDefinition) return FLEX_CHAR; else yybegin(ACTION_CODE); return FLEX_BRACE1; } case 156: break; case 21: { yybegin(CHARCLASS); return FLEX_BRACK1; } case 157: break; case 22: { if (macroDefinition) yybegin(EXPRBAR); return FLEX_BAR; } case 158: break; case 23: { return FLEX_HAT; } case 159: break; case 24: { return FLEX_DOLLAR; } case 160: break; case 25: { return FLEX_BANG; } case 161: break; case 26: { return FLEX_TILDE; } case 162: break; case 27: { return FLEX_PAREN1; } case 163: break; case 28: { return FLEX_PAREN2; } case 164: break; case 29: { return FLEX_PLUS; } case 165: break; case 30: { return FLEX_QUESTION; } case 166: break; case 31: { nextState=REGEXP; yybegin(SKIP_WSNL); return FLEX_ANGLE2; } case 167: break; case 32: { if (braceCount > 0) braceCount--; else { yypushback(1); yybegin(REGEXPSTART); return FLEX_RAW; } } case 168: break; case 33: { braceCount++; } case 169: break; case 34: { yypushback(yylength()); yybegin(nextState); return FLEX_STRING; } case 170: break; case 35: { yybegin(nextState); return FLEX_STRING; } case 171: break; case 36: { yypushback(yylength()); yybegin(CLASSCHARS); } case 172: break; case 37: { bracketCount=0; yypushback(yylength()); nextState=REGEXP; yybegin(REPORT_UNCLOSED); } case 173: break; case 38: { nextState=CHARCLASS; yybegin(STRING_CONTENT); } case 174: break; case 39: { bracketCount++; return FLEX_BRACK1; } case 175: break; case 40: { if (bracketCount > 0) bracketCount--; else yybegin(REGEXP); return FLEX_BRACK2; } case 176: break; case 41: { yypushback(yylength()); yybegin(nextState); } case 177: break; case 42: { yybegin(nextState); return FLEX_BRACE2; } case 178: break; case 43: { yypushback(yylength()); yybegin(CHARCLASS); return FLEX_CHAR; } case 179: break; case 44: { yypushback(yylength()); yybegin(CHARCLASS); } case 180: break; case 45: { yybegin(CHARCLASS); return FLEX_CHAR; } case 181: break; case 46: { return FLEX_DASH; } case 182: break; case 47: { yybegin(REGEXP); return FLEX_BRACE2; } case 183: break; case 48: { yypushback(yylength()); yybegin(REPORT_UNCLOSED); return FLEX_STRING; } case 184: break; case 49: { yybegin(STRING_CONTENT); } case 185: break; case 50: { yybegin(nextState); return FLEX_NEWLINE; } case 186: break; case 51: { yypushback(yylength()); yybegin(nextState); return FLEX_UNCLOSED; } case 187: break; case 52: { yybegin(REGEXPSTART); return FLEX_BRACE1; } case 188: break; case 53: { macroDefinition=true; nextState=MACROS; yybegin(SKIP_TOEOL); return FLEX_TWO_PERCS; } case 189: break; case 54: { commentCount++; } case 190: break; case 55: { if (commentCount > 0) commentCount--; else { yybegin(nextState); return FLEX_BLOCK_COMMENT; } } case 191: break; case 56: { nextState=MACROS; yybegin(COMMENT); } case 192: break; case 57: { return FLEX_STRING; } case 193: break; case 58: { nextState=CODE; yybegin(SKIP_TOEOL); return FLEX_OPT_CODE1; } case 194: break; case 59: { return FLEX_OPT_XSTATE; } case 195: break; case 60: { macroDefinition=false; nextState=REGEXPSTART; yybegin(SKIP_TOEOL); return FLEX_TWO_PERCS; } case 196: break; case 61: { return FLEX_OPT_STATE; } case 197: break; case 62: { nextState=MACROS; yybegin(SKIP_TOEOL); return FLEX_OPT_CODE2; } case 198: break; case 63: { nextState=REGEXPSTART; yybegin(COMMENT); } case 199: break; case 64: { return FLEX_CHAR_ESC; } case 200: break; case 65: { return FLEX_CHAR_CLASS; } case 201: break; case 66: // general lookahead, find correct zzMarkedPos { int zzFState = 22; int zzFPos = zzStartRead; if (zzFin.length <= zzBufferL.length()) { zzFin = new boolean[zzBufferL.length()+1]; } boolean zzFinL[] = zzFin; while (zzFState != -1 && zzFPos < zzMarkedPos) { zzFinL[zzFPos] = ((zzAttrL[zzFState] & 1) == 1); zzInput = Character.codePointAt(zzBufferL, zzFPos/*, zzMarkedPos*/); zzFPos += Character.charCount(zzInput); zzFState = zzTransL[ zzRowMapL[zzFState] + ZZ_CMAP(zzInput) ]; } if (zzFState != -1) { zzFinL[zzFPos++] = ((zzAttrL[zzFState] & 1) == 1); } while (zzFPos <= zzMarkedPos) { zzFinL[zzFPos++] = false; } zzFState = 23; zzFPos = zzMarkedPos; while (!zzFinL[zzFPos] || (zzAttrL[zzFState] & 1) != 1) { zzInput = Character.codePointBefore(zzBufferL, zzFPos/*, zzStartRead*/); zzFPos -= Character.charCount(zzInput); zzFState = zzTransL[ zzRowMapL[zzFState] + ZZ_CMAP(zzInput) ]; }; zzMarkedPos = zzFPos; } { yypushback(yylength()); nextState=REGEXP; yybegin(SKIP_WSNL); } case 202: break; case 67: { nextState=REGEXP; yybegin(COMMENT); } case 203: break; case 68: // lookahead expression with fixed base length zzMarkedPos = Character.offsetByCodePoints (zzBufferL/*, zzStartRead, zzEndRead - zzStartRead*/, zzStartRead, 1); { nextState=REGEXP; yybegin(REPEATEXP); return FLEX_BRACE1; } case 204: break; case 69: // lookahead expression with fixed base length zzMarkedPos = Character.offsetByCodePoints (zzBufferL/*, zzStartRead, zzEndRead - zzStartRead*/, zzStartRead, 1); { nextState=REGEXPSTART0; yybegin(SKIP_WSNL); return FLEX_ANGLE2; } case 205: break; case 70: // lookahead expression with fixed base length zzMarkedPos = Character.offsetByCodePoints (zzBufferL/*, zzStartRead, zzEndRead - zzStartRead*/, zzStartRead, 1); { yybegin(CHARRANGE); return FLEX_CHAR; } case 206: break; case 71: { return FLEX_BARBAR; } case 207: break; case 72: { return FLEX_TILDETILDE; } case 208: break; case 73: { return FLEX_DASHDASH; } case 209: break; case 74: { return FLEX_AMPAMP; } case 210: break; case 75: // lookahead expression with fixed base length zzMarkedPos = Character.offsetByCodePoints (zzBufferL/*, zzStartRead, zzEndRead - zzStartRead*/, zzStartRead, 1); { yypushback(yylength()); yybegin(CHARCLASS); return FLEX_CHAR; } case 211: break; case 76: { yybegin(CHARCLASS); return FLEX_CHAR_ESC; } case 212: break; case 77: { yypushback(1); yybegin(CHARCLASS); return FLEX_CHAR; } case 213: break; case 78: { return FLEX_VERSION; } case 214: break; case 79: { yybegin(REGEXP_CODEPOINT); } case 215: break; case 80: // lookahead expression with fixed base length zzMarkedPos = Character.offsetByCodePoints (zzBufferL/*, zzStartRead, zzEndRead - zzStartRead*/, zzStartRead, 1); { nextState=REGEXP; yybegin(MACROUSE); return FLEX_BRACE1; } case 216: break; case 81: { yybegin(STRING_CODEPOINT); } case 217: break; case 82: // lookahead expression with fixed base length zzMarkedPos = Character.offsetByCodePoints (zzBufferL/*, zzStartRead, zzEndRead - zzStartRead*/, zzStartRead, 1); { return FLEX_CHAR; } case 218: break; case 83: // lookahead expression with fixed base length zzMarkedPos = Character.offsetByCodePoints (zzBufferL/*, zzStartRead, zzEndRead - zzStartRead*/, zzStartRead, 2); { yybegin(CHARRANGE); return FLEX_CHAR_ESC; } case 219: break; case 84: // lookahead expression with fixed base length zzMarkedPos = Character.offsetByCodePoints (zzBufferL/*, zzStartRead, zzEndRead - zzStartRead*/, zzStartRead, 1); { nextState=CHARCLASS; yybegin(MACROUSE); return FLEX_BRACE1; } case 220: break; case 85: // lookahead expression with fixed base length zzMarkedPos = Character.offsetByCodePoints (zzBufferL/*, zzStartRead, zzEndRead - zzStartRead*/, zzStartRead, 1); { yybegin(CHARCLASS); return FLEX_CHAR; } case 221: break; case 86: { return FLEX_OPT_INT; } case 222: break; case 87: { return FLEX_OPT_CUP; } case 223: break; case 88: // lookahead expression with fixed base length zzMarkedPos = Character.offsetByCodePoints (zzBufferL/*, zzStartRead, zzEndRead - zzStartRead*/, zzStartRead, 2); { return FLEX_CHAR_ESC; } case 224: break; case 89: { return FLEX_OPT_TYPE; } case 225: break; case 90: { nextState=CODE; yybegin(SKIP_TOEOL); return FLEX_OPT_EOF1; } case 226: break; case 91: { return FLEX_OPT_FULL; } case 227: break; case 92: { return FLEX_OPT_LINE; } case 228: break; case 93: { return FLEX_OPT_CHAR; } case 229: break; case 94: { return FLEX_OPT_7BIT; } case 230: break; case 95: { return FLEX_OPT_8BIT; } case 231: break; case 96: { nextState=MACROS; yybegin(SKIP_TOEOL); return FLEX_OPT_EOF2; } case 232: break; case 97: { nextState=CODE; yybegin(SKIP_TOEOL); return FLEX_OPT_INIT1; } case 233: break; case 98: { return FLEX_OPT_FINAL; } case 234: break; case 99: { return FLEX_OPT_YYEOF; } case 235: break; case 100: { return FLEX_OPT_CLASS; } case 236: break; case 101: { return FLEX_OPT_DEBUG; } case 237: break; case 102: { return FLEX_OPT16BIT; } case 238: break; case 103: { nextState=MACROS; yybegin(SKIP_TOEOL); return FLEX_OPT_INIT2; } case 239: break; case 104: { return FLEX_OPT_CUPSYM; } case 240: break; case 105: { return FLEX_OPT_COLUMN; } case 241: break; case 106: { return FLEX_OPT_PUBLIC; } case 242: break; case 107: { return FLEX_OPT_BUFFER; } case 243: break; case 108: { return FLEX_EOF; } case 244: break; case 109: { return FLEX_OPT_UNICODE; } case 245: break; case 110: { return FLEX_OPT_INTEGER; } case 246: break; case 111: { return FLEX_OPT_INTWRAP; } case 247: break; case 112: { return FLEX_OPT_INCLUDE; } case 248: break; case 113: { return FLEX_OPT_NOTUNIX; } case 249: break; case 114: { return FLEX_OPT_EXTENDS; } case 250: break; case 115: { nextState=CODE; yybegin(SKIP_TOEOL); return FLEX_OPT_EOFVAL1; } case 251: break; case 116: { return FLEX_OPT_CTORARG; } case 252: break; case 117: { nextState=MACROS; yybegin(SKIP_TOEOL); return FLEX_OPT_EOFVAL2; } case 253: break; case 118: { return FLEX_OPT_EOFTHROW; } case 254: break; case 119: { return FLEX_OPT_EOFCLOSE; } case 255: break; case 120: { return FLEX_OPT_FUNCTION; } case 256: break; case 121: { return FLEX_OPT_ABSTRACT; } case 257: break; case 122: { return FLEX_OPT_CUPDEBUG; } case 258: break; case 123: { return FLEX_OPT_CASELESS; } case 259: break; case 124: { return FLEX_OPT_INITTHROW; } case 260: break; case 125: { nextState=CODE; yybegin(SKIP_TOEOL); return FLEX_OPT_EOFTHROW1; } case 261: break; case 126: { return FLEX_OPT_SCANERROR; } case 262: break; case 127: { nextState=MACROS; yybegin(SKIP_TOEOL); return FLEX_OPT_EOFTHROW2; } case 263: break; case 128: { nextState=CODE; yybegin(SKIP_TOEOL); return FLEX_OPT_INITTHROW1; } case 264: break; case 129: { return FLEX_OPT_IMPLEMENTS; } case 265: break; case 130: { return FLEX_OPT_IGNORECASE; } case 266: break; case 131: { return FLEX_OPT_APIPRIVATE; } case 267: break; case 132: { return FLEX_OPT_YYLEXTHROW; } case 268: break; case 133: { return FLEX_OPT_STANDALONE; } case 269: break; case 134: { nextState=MACROS; yybegin(SKIP_TOEOL); return FLEX_OPT_INITTHROW2; } case 270: break; case 135: { nextState=CODE; yybegin(SKIP_TOEOL); return FLEX_OPT_YYLEXTHROW1; } case 271: break; case 136: { nextState=MACROS; yybegin(SKIP_TOEOL); return FLEX_OPT_YYLEXTHROW2; } case 272: break; default: zzScanError(ZZ_NO_MATCH); } } } } }