dt-sql-parser
Version:
SQL Parsers for BigData, built with antlr4
885 lines (884 loc) • 159 kB
JavaScript
// Generated from dt-sql-parser/src/grammar/spark/SparkSqlLexer.g4 by ANTLR 4.13.1
// @ts-nocheck
import * as antlr from "antlr4ng";
export class SparkSqlLexer extends antlr.Lexer {
/**
* This method will be called when the character stream ends and try to find out the
* unclosed bracketed comment.
* If the method be called, it means the end of the entire character stream match,
* and we set the flag and fail later.
*/
markUnclosedComment() {
this.has_unclosed_bracketed_comment = true;
}
constructor(input) {
super(input);
/**
* When true, parser should throw ParseException for unclosed bracketed comment.
*/
this.has_unclosed_bracketed_comment = false;
this.interpreter = new antlr.LexerATNSimulator(this, SparkSqlLexer._ATN, SparkSqlLexer.decisionsToDFA, new antlr.PredictionContextCache());
}
get grammarFileName() { return "SparkSqlLexer.g4"; }
get literalNames() { return SparkSqlLexer.literalNames; }
get symbolicNames() { return SparkSqlLexer.symbolicNames; }
get ruleNames() { return SparkSqlLexer.ruleNames; }
get serializedATN() { return SparkSqlLexer._serializedATN; }
get channelNames() { return SparkSqlLexer.channelNames; }
get modeNames() { return SparkSqlLexer.modeNames; }
action(localContext, ruleIndex, actionIndex) {
switch (ruleIndex) {
case 394:
this.BRACKETED_COMMENT_action(localContext, actionIndex);
break;
}
}
BRACKETED_COMMENT_action(localContext, actionIndex) {
switch (actionIndex) {
case 0:
this.markUnclosedComment();
break;
}
}
static get _ATN() {
if (!SparkSqlLexer.__ATN) {
SparkSqlLexer.__ATN = new antlr.ATNDeserializer().deserialize(SparkSqlLexer._serializedATN);
}
return SparkSqlLexer.__ATN;
}
get vocabulary() {
return SparkSqlLexer.vocabulary;
}
}
SparkSqlLexer.SEMICOLON = 1;
SparkSqlLexer.LEFT_PAREN = 2;
SparkSqlLexer.RIGHT_PAREN = 3;
SparkSqlLexer.COMMA = 4;
SparkSqlLexer.DOT = 5;
SparkSqlLexer.LEFT_BRACKET = 6;
SparkSqlLexer.RIGHT_BRACKET = 7;
SparkSqlLexer.KW_ADD = 8;
SparkSqlLexer.KW_AFTER = 9;
SparkSqlLexer.KW_ALL = 10;
SparkSqlLexer.KW_ALTER = 11;
SparkSqlLexer.KW_ALWAYS = 12;
SparkSqlLexer.KW_ANALYZE = 13;
SparkSqlLexer.KW_AND = 14;
SparkSqlLexer.KW_ANTI = 15;
SparkSqlLexer.KW_ANY = 16;
SparkSqlLexer.KW_ANY_VALUE = 17;
SparkSqlLexer.KW_ARCHIVE = 18;
SparkSqlLexer.KW_ARRAY = 19;
SparkSqlLexer.KW_AS = 20;
SparkSqlLexer.KW_ASC = 21;
SparkSqlLexer.KW_AT = 22;
SparkSqlLexer.KW_AUTHORIZATION = 23;
SparkSqlLexer.KW_BETWEEN = 24;
SparkSqlLexer.KW_BIGINT = 25;
SparkSqlLexer.KW_BINARY = 26;
SparkSqlLexer.KW_BOOLEAN = 27;
SparkSqlLexer.KW_BOTH = 28;
SparkSqlLexer.KW_BUCKET = 29;
SparkSqlLexer.KW_BUCKETS = 30;
SparkSqlLexer.KW_BY = 31;
SparkSqlLexer.KW_BYTE = 32;
SparkSqlLexer.KW_CACHE = 33;
SparkSqlLexer.KW_CASCADE = 34;
SparkSqlLexer.KW_CASE = 35;
SparkSqlLexer.KW_CAST = 36;
SparkSqlLexer.KW_CATALOG = 37;
SparkSqlLexer.KW_CATALOGS = 38;
SparkSqlLexer.KW_CHANGE = 39;
SparkSqlLexer.KW_CHAR = 40;
SparkSqlLexer.KW_CHARACTER = 41;
SparkSqlLexer.KW_CHECK = 42;
SparkSqlLexer.KW_CLEAR = 43;
SparkSqlLexer.KW_CLUSTER = 44;
SparkSqlLexer.KW_CLUSTERED = 45;
SparkSqlLexer.KW_CODEGEN = 46;
SparkSqlLexer.KW_COLLATE = 47;
SparkSqlLexer.KW_COLLECTION = 48;
SparkSqlLexer.KW_COLUMN = 49;
SparkSqlLexer.KW_COLUMNS = 50;
SparkSqlLexer.KW_COMMENT = 51;
SparkSqlLexer.KW_COMMIT = 52;
SparkSqlLexer.KW_COMPACT = 53;
SparkSqlLexer.KW_COMPACTIONS = 54;
SparkSqlLexer.KW_COMPUTE = 55;
SparkSqlLexer.KW_CONCATENATE = 56;
SparkSqlLexer.KW_CONSTRAINT = 57;
SparkSqlLexer.KW_COST = 58;
SparkSqlLexer.KW_CREATE = 59;
SparkSqlLexer.KW_CROSS = 60;
SparkSqlLexer.KW_CUBE = 61;
SparkSqlLexer.KW_CURRENT = 62;
SparkSqlLexer.KW_CURRENT_DATE = 63;
SparkSqlLexer.KW_CURRENT_TIME = 64;
SparkSqlLexer.KW_CURRENT_TIMESTAMP = 65;
SparkSqlLexer.KW_CURRENT_USER = 66;
SparkSqlLexer.KW_DAY = 67;
SparkSqlLexer.KW_DAYS = 68;
SparkSqlLexer.KW_DAYOFYEAR = 69;
SparkSqlLexer.KW_DATA = 70;
SparkSqlLexer.KW_DATE = 71;
SparkSqlLexer.KW_DATABASE = 72;
SparkSqlLexer.KW_DATABASES = 73;
SparkSqlLexer.KW_DATEADD = 74;
SparkSqlLexer.KW_DATE_ADD = 75;
SparkSqlLexer.KW_DATEDIFF = 76;
SparkSqlLexer.KW_DATE_DIFF = 77;
SparkSqlLexer.KW_DBPROPERTIES = 78;
SparkSqlLexer.KW_DEC = 79;
SparkSqlLexer.KW_DECIMAL = 80;
SparkSqlLexer.KW_DECLARE = 81;
SparkSqlLexer.KW_DEFAULT = 82;
SparkSqlLexer.KW_DEFINED = 83;
SparkSqlLexer.KW_DELETE = 84;
SparkSqlLexer.KW_DELIMITED = 85;
SparkSqlLexer.KW_DESC = 86;
SparkSqlLexer.KW_DESCRIBE = 87;
SparkSqlLexer.KW_DFS = 88;
SparkSqlLexer.KW_DIRECTORIES = 89;
SparkSqlLexer.KW_DIRECTORY = 90;
SparkSqlLexer.KW_DISABLE = 91;
SparkSqlLexer.KW_DISTINCT = 92;
SparkSqlLexer.KW_DISTRIBUTE = 93;
SparkSqlLexer.KW_DIV = 94;
SparkSqlLexer.KW_DOUBLE = 95;
SparkSqlLexer.KW_DROP = 96;
SparkSqlLexer.KW_ELSE = 97;
SparkSqlLexer.KW_ENABLE = 98;
SparkSqlLexer.KW_END = 99;
SparkSqlLexer.KW_ESCAPE = 100;
SparkSqlLexer.KW_ESCAPED = 101;
SparkSqlLexer.KW_EXCEPT = 102;
SparkSqlLexer.KW_EXCHANGE = 103;
SparkSqlLexer.KW_EXCLUDE = 104;
SparkSqlLexer.KW_EXISTS = 105;
SparkSqlLexer.KW_EXPLAIN = 106;
SparkSqlLexer.KW_EXPORT = 107;
SparkSqlLexer.KW_EXTENDED = 108;
SparkSqlLexer.KW_EXTERNAL = 109;
SparkSqlLexer.KW_EXTRACT = 110;
SparkSqlLexer.KW_FALSE = 111;
SparkSqlLexer.KW_FETCH = 112;
SparkSqlLexer.KW_FIELDS = 113;
SparkSqlLexer.KW_FILTER = 114;
SparkSqlLexer.KW_FILEFORMAT = 115;
SparkSqlLexer.KW_FIRST = 116;
SparkSqlLexer.KW_FLOAT = 117;
SparkSqlLexer.KW_FOLLOWING = 118;
SparkSqlLexer.KW_FOR = 119;
SparkSqlLexer.KW_FOREIGN = 120;
SparkSqlLexer.KW_FORMAT = 121;
SparkSqlLexer.KW_FORMATTED = 122;
SparkSqlLexer.KW_FROM = 123;
SparkSqlLexer.KW_FULL = 124;
SparkSqlLexer.KW_FUNCTION = 125;
SparkSqlLexer.KW_FUNCTIONS = 126;
SparkSqlLexer.KW_GENERATED = 127;
SparkSqlLexer.KW_GLOBAL = 128;
SparkSqlLexer.KW_GRANT = 129;
SparkSqlLexer.KW_GROUP = 130;
SparkSqlLexer.KW_GROUPING = 131;
SparkSqlLexer.KW_HAVING = 132;
SparkSqlLexer.KW_BINARY_HEX = 133;
SparkSqlLexer.KW_HOUR = 134;
SparkSqlLexer.KW_HOURS = 135;
SparkSqlLexer.KW_IDENTIFIER = 136;
SparkSqlLexer.KW_IF = 137;
SparkSqlLexer.KW_IGNORE = 138;
SparkSqlLexer.KW_IMPORT = 139;
SparkSqlLexer.KW_IN = 140;
SparkSqlLexer.KW_INCLUDE = 141;
SparkSqlLexer.KW_INDEX = 142;
SparkSqlLexer.KW_INDEXES = 143;
SparkSqlLexer.KW_INNER = 144;
SparkSqlLexer.KW_INPATH = 145;
SparkSqlLexer.KW_INPUTFORMAT = 146;
SparkSqlLexer.KW_INSERT = 147;
SparkSqlLexer.KW_INTERSECT = 148;
SparkSqlLexer.KW_INTERVAL = 149;
SparkSqlLexer.KW_INT = 150;
SparkSqlLexer.KW_INTEGER = 151;
SparkSqlLexer.KW_INTO = 152;
SparkSqlLexer.KW_IS = 153;
SparkSqlLexer.KW_ITEMS = 154;
SparkSqlLexer.KW_JOIN = 155;
SparkSqlLexer.KW_KEYS = 156;
SparkSqlLexer.KW_LAST = 157;
SparkSqlLexer.KW_LATERAL = 158;
SparkSqlLexer.KW_LAZY = 159;
SparkSqlLexer.KW_LEADING = 160;
SparkSqlLexer.KW_LEFT = 161;
SparkSqlLexer.KW_LIFECYCLE = 162;
SparkSqlLexer.KW_LIKE = 163;
SparkSqlLexer.KW_ILIKE = 164;
SparkSqlLexer.KW_LIMIT = 165;
SparkSqlLexer.KW_LINES = 166;
SparkSqlLexer.KW_LIST = 167;
SparkSqlLexer.KW_LOAD = 168;
SparkSqlLexer.KW_LOCAL = 169;
SparkSqlLexer.KW_LOCATION = 170;
SparkSqlLexer.KW_LOCK = 171;
SparkSqlLexer.KW_LOCKS = 172;
SparkSqlLexer.KW_LOGICAL = 173;
SparkSqlLexer.KW_LONG = 174;
SparkSqlLexer.KW_MACRO = 175;
SparkSqlLexer.KW_MATERIALIZED = 176;
SparkSqlLexer.KW_MAP = 177;
SparkSqlLexer.KW_MATCHED = 178;
SparkSqlLexer.KW_MERGE = 179;
SparkSqlLexer.KW_MICROSECOND = 180;
SparkSqlLexer.KW_MICROSECONDS = 181;
SparkSqlLexer.KW_MILLISECOND = 182;
SparkSqlLexer.KW_MILLISECONDS = 183;
SparkSqlLexer.KW_MINUTE = 184;
SparkSqlLexer.KW_MINUTES = 185;
SparkSqlLexer.KW_MONTH = 186;
SparkSqlLexer.KW_MONTHS = 187;
SparkSqlLexer.KW_MSCK = 188;
SparkSqlLexer.KW_NAME = 189;
SparkSqlLexer.KW_NAMESPACE = 190;
SparkSqlLexer.KW_NAMESPACES = 191;
SparkSqlLexer.KW_NANOSECOND = 192;
SparkSqlLexer.KW_NANOSECONDS = 193;
SparkSqlLexer.KW_NATURAL = 194;
SparkSqlLexer.KW_NO = 195;
SparkSqlLexer.KW_NOSCAN = 196;
SparkSqlLexer.KW_NOT = 197;
SparkSqlLexer.KW_NULL = 198;
SparkSqlLexer.KW_NULLS = 199;
SparkSqlLexer.KW_NUMERIC = 200;
SparkSqlLexer.KW_OF = 201;
SparkSqlLexer.KW_OFFSET = 202;
SparkSqlLexer.KW_ON = 203;
SparkSqlLexer.KW_ONLY = 204;
SparkSqlLexer.KW_OPTIMIZE = 205;
SparkSqlLexer.KW_OPTION = 206;
SparkSqlLexer.KW_OPTIONS = 207;
SparkSqlLexer.KW_OR = 208;
SparkSqlLexer.KW_ORDER = 209;
SparkSqlLexer.KW_OUT = 210;
SparkSqlLexer.KW_OUTER = 211;
SparkSqlLexer.KW_OUTPUTFORMAT = 212;
SparkSqlLexer.KW_OVER = 213;
SparkSqlLexer.KW_OVERLAPS = 214;
SparkSqlLexer.KW_OVERLAY = 215;
SparkSqlLexer.KW_OVERWRITE = 216;
SparkSqlLexer.KW_PARTITION = 217;
SparkSqlLexer.KW_PARTITIONED = 218;
SparkSqlLexer.KW_PARTITIONS = 219;
SparkSqlLexer.KW_PERCENTILE_CONT = 220;
SparkSqlLexer.KW_PERCENTILE_DISC = 221;
SparkSqlLexer.KW_PERCENTLIT = 222;
SparkSqlLexer.KW_PIVOT = 223;
SparkSqlLexer.KW_PLACING = 224;
SparkSqlLexer.KW_POSITION = 225;
SparkSqlLexer.KW_PRECEDING = 226;
SparkSqlLexer.KW_PRIMARY = 227;
SparkSqlLexer.KW_PRINCIPALS = 228;
SparkSqlLexer.KW_PROPERTIES = 229;
SparkSqlLexer.KW_PURGE = 230;
SparkSqlLexer.KW_QUARTER = 231;
SparkSqlLexer.KW_QUERY = 232;
SparkSqlLexer.KW_RANGE = 233;
SparkSqlLexer.KW_REAL = 234;
SparkSqlLexer.KW_RECORDREADER = 235;
SparkSqlLexer.KW_RECORDWRITER = 236;
SparkSqlLexer.KW_RECOVER = 237;
SparkSqlLexer.KW_REDUCE = 238;
SparkSqlLexer.KW_REFERENCES = 239;
SparkSqlLexer.KW_REFRESH = 240;
SparkSqlLexer.KW_RENAME = 241;
SparkSqlLexer.KW_REPAIR = 242;
SparkSqlLexer.KW_REPEATABLE = 243;
SparkSqlLexer.KW_REPLACE = 244;
SparkSqlLexer.KW_RESET = 245;
SparkSqlLexer.KW_RESPECT = 246;
SparkSqlLexer.KW_RESTRICT = 247;
SparkSqlLexer.KW_REWRITE = 248;
SparkSqlLexer.KW_REVOKE = 249;
SparkSqlLexer.KW_RIGHT = 250;
SparkSqlLexer.KW_RLIKE = 251;
SparkSqlLexer.KW_REGEXP = 252;
SparkSqlLexer.KW_ROLE = 253;
SparkSqlLexer.KW_ROLES = 254;
SparkSqlLexer.KW_ROLLBACK = 255;
SparkSqlLexer.KW_ROLLUP = 256;
SparkSqlLexer.KW_ROW = 257;
SparkSqlLexer.KW_ROWS = 258;
SparkSqlLexer.KW_SECOND = 259;
SparkSqlLexer.KW_SECONDS = 260;
SparkSqlLexer.KW_SCHEMA = 261;
SparkSqlLexer.KW_SCHEMAS = 262;
SparkSqlLexer.KW_SELECT = 263;
SparkSqlLexer.KW_SEMI = 264;
SparkSqlLexer.KW_SEPARATED = 265;
SparkSqlLexer.KW_SERDE = 266;
SparkSqlLexer.KW_SERDEPROPERTIES = 267;
SparkSqlLexer.KW_SESSION_USER = 268;
SparkSqlLexer.KW_SET = 269;
SparkSqlLexer.KW_MINUS = 270;
SparkSqlLexer.KW_SETS = 271;
SparkSqlLexer.KW_SHORT = 272;
SparkSqlLexer.KW_SHOW = 273;
SparkSqlLexer.KW_SINGLE = 274;
SparkSqlLexer.KW_SKEWED = 275;
SparkSqlLexer.KW_SMALLINT = 276;
SparkSqlLexer.KW_SOME = 277;
SparkSqlLexer.KW_SORT = 278;
SparkSqlLexer.KW_SORTED = 279;
SparkSqlLexer.KW_SOURCE = 280;
SparkSqlLexer.KW_START = 281;
SparkSqlLexer.KW_STATISTICS = 282;
SparkSqlLexer.KW_STORED = 283;
SparkSqlLexer.KW_STRATIFY = 284;
SparkSqlLexer.KW_STRING = 285;
SparkSqlLexer.KW_STRUCT = 286;
SparkSqlLexer.KW_SUBSTR = 287;
SparkSqlLexer.KW_SUBSTRING = 288;
SparkSqlLexer.KW_SYNC = 289;
SparkSqlLexer.KW_SYSTEM = 290;
SparkSqlLexer.KW_SYSTEM_TIME = 291;
SparkSqlLexer.KW_SYSTEM_VERSION = 292;
SparkSqlLexer.KW_TABLE = 293;
SparkSqlLexer.KW_TABLES = 294;
SparkSqlLexer.KW_TABLESAMPLE = 295;
SparkSqlLexer.KW_TARGET = 296;
SparkSqlLexer.KW_TBLPROPERTIES = 297;
SparkSqlLexer.KW_TEMPORARY = 298;
SparkSqlLexer.KW_TERMINATED = 299;
SparkSqlLexer.KW_THEN = 300;
SparkSqlLexer.KW_TIME = 301;
SparkSqlLexer.KW_TIMEDIFF = 302;
SparkSqlLexer.KW_TIMESTAMP = 303;
SparkSqlLexer.KW_TIMESTAMP_LTZ = 304;
SparkSqlLexer.KW_TIMESTAMP_NTZ = 305;
SparkSqlLexer.KW_TIMESTAMPADD = 306;
SparkSqlLexer.KW_TIMESTAMPDIFF = 307;
SparkSqlLexer.KW_TINYINT = 308;
SparkSqlLexer.KW_TO = 309;
SparkSqlLexer.KW_TOUCH = 310;
SparkSqlLexer.KW_TRAILING = 311;
SparkSqlLexer.KW_TRANSACTION = 312;
SparkSqlLexer.KW_TRANSACTIONS = 313;
SparkSqlLexer.KW_TRANSFORM = 314;
SparkSqlLexer.KW_TRIM = 315;
SparkSqlLexer.KW_TRUE = 316;
SparkSqlLexer.KW_TRUNCATE = 317;
SparkSqlLexer.KW_TRY_CAST = 318;
SparkSqlLexer.KW_TYPE = 319;
SparkSqlLexer.KW_UNARCHIVE = 320;
SparkSqlLexer.KW_UNBOUNDED = 321;
SparkSqlLexer.KW_UNCACHE = 322;
SparkSqlLexer.KW_UNION = 323;
SparkSqlLexer.KW_UNIQUE = 324;
SparkSqlLexer.KW_UNKNOWN = 325;
SparkSqlLexer.KW_UNLOCK = 326;
SparkSqlLexer.KW_UNPIVOT = 327;
SparkSqlLexer.KW_UNSET = 328;
SparkSqlLexer.KW_UPDATE = 329;
SparkSqlLexer.KW_USE = 330;
SparkSqlLexer.KW_USER = 331;
SparkSqlLexer.KW_USING = 332;
SparkSqlLexer.KW_VALUES = 333;
SparkSqlLexer.KW_VARCHAR = 334;
SparkSqlLexer.KW_VAR = 335;
SparkSqlLexer.KW_VARIABLE = 336;
SparkSqlLexer.KW_VERSION = 337;
SparkSqlLexer.KW_VIEW = 338;
SparkSqlLexer.KW_VIEWS = 339;
SparkSqlLexer.KW_VOID = 340;
SparkSqlLexer.KW_WEEK = 341;
SparkSqlLexer.KW_WEEKS = 342;
SparkSqlLexer.KW_WHEN = 343;
SparkSqlLexer.KW_WHERE = 344;
SparkSqlLexer.KW_WINDOW = 345;
SparkSqlLexer.KW_WITH = 346;
SparkSqlLexer.KW_WITHIN = 347;
SparkSqlLexer.KW_YEAR = 348;
SparkSqlLexer.KW_YEARS = 349;
SparkSqlLexer.KW_ZONE = 350;
SparkSqlLexer.KW_ZORDER = 351;
SparkSqlLexer.EQ = 352;
SparkSqlLexer.NSEQ = 353;
SparkSqlLexer.NEQ = 354;
SparkSqlLexer.NEQJ = 355;
SparkSqlLexer.LT = 356;
SparkSqlLexer.LTE = 357;
SparkSqlLexer.GT = 358;
SparkSqlLexer.GTE = 359;
SparkSqlLexer.NOT = 360;
SparkSqlLexer.PLUS = 361;
SparkSqlLexer.MINUS = 362;
SparkSqlLexer.ASTERISK = 363;
SparkSqlLexer.SLASH = 364;
SparkSqlLexer.PERCENT = 365;
SparkSqlLexer.TILDE = 366;
SparkSqlLexer.AMPERSAND = 367;
SparkSqlLexer.PIPE = 368;
SparkSqlLexer.CONCAT_PIPE = 369;
SparkSqlLexer.HAT = 370;
SparkSqlLexer.COLON = 371;
SparkSqlLexer.ARROW = 372;
SparkSqlLexer.FAT_ARROW = 373;
SparkSqlLexer.HENT_START = 374;
SparkSqlLexer.HENT_END = 375;
SparkSqlLexer.QUESTION = 376;
SparkSqlLexer.STRING_LITERAL = 377;
SparkSqlLexer.DOUBLEQUOTED_STRING = 378;
SparkSqlLexer.BIGINT_LITERAL = 379;
SparkSqlLexer.SMALLINT_LITERAL = 380;
SparkSqlLexer.TINYINT_LITERAL = 381;
SparkSqlLexer.INTEGER_VALUE = 382;
SparkSqlLexer.EXPONENT_VALUE = 383;
SparkSqlLexer.DECIMAL_VALUE = 384;
SparkSqlLexer.FLOAT_LITERAL = 385;
SparkSqlLexer.DOUBLE_LITERAL = 386;
SparkSqlLexer.BIGDECIMAL_LITERAL = 387;
SparkSqlLexer.IDENTIFIER = 388;
SparkSqlLexer.BACKQUOTED_IDENTIFIER = 389;
SparkSqlLexer.LINE_COMMENT = 390;
SparkSqlLexer.BRACKETED_COMMENT = 391;
SparkSqlLexer.WHITE_SPACE = 392;
SparkSqlLexer.UNRECOGNIZED = 393;
SparkSqlLexer.channelNames = [
"DEFAULT_TOKEN_CHANNEL", "HIDDEN"
];
SparkSqlLexer.literalNames = [
null, "';'", "'('", "')'", "','", "'.'", "'['", "']'", "'ADD'",
"'AFTER'", "'ALL'", "'ALTER'", "'ALWAYS'", "'ANALYZE'", "'AND'",
"'ANTI'", "'ANY'", "'ANY_VALUE'", "'ARCHIVE'", "'ARRAY'", "'AS'",
"'ASC'", "'AT'", "'AUTHORIZATION'", "'BETWEEN'", "'BIGINT'", "'BINARY'",
"'BOOLEAN'", "'BOTH'", "'BUCKET'", "'BUCKETS'", "'BY'", "'BYTE'",
"'CACHE'", "'CASCADE'", "'CASE'", "'CAST'", "'CATALOG'", "'CATALOGS'",
"'CHANGE'", "'CHAR'", "'CHARACTER'", "'CHECK'", "'CLEAR'", "'CLUSTER'",
"'CLUSTERED'", "'CODEGEN'", "'COLLATE'", "'COLLECTION'", "'COLUMN'",
"'COLUMNS'", "'COMMENT'", "'COMMIT'", "'COMPACT'", "'COMPACTIONS'",
"'COMPUTE'", "'CONCATENATE'", "'CONSTRAINT'", "'COST'", "'CREATE'",
"'CROSS'", "'CUBE'", "'CURRENT'", "'CURRENT_DATE'", "'CURRENT_TIME'",
"'CURRENT_TIMESTAMP'", "'CURRENT_USER'", "'DAY'", "'DAYS'", "'DAYOFYEAR'",
"'DATA'", "'DATE'", "'DATABASE'", "'DATABASES'", "'DATEADD'", "'DATE_ADD'",
"'DATEDIFF'", "'DATE_DIFF'", "'DBPROPERTIES'", "'DEC'", "'DECIMAL'",
"'DECLARE'", "'DEFAULT'", "'DEFINED'", "'DELETE'", "'DELIMITED'",
"'DESC'", "'DESCRIBE'", "'DFS'", "'DIRECTORIES'", "'DIRECTORY'",
"'DISABLE'", "'DISTINCT'", "'DISTRIBUTE'", "'DIV'", "'DOUBLE'",
"'DROP'", "'ELSE'", "'ENABLE'", "'END'", "'ESCAPE'", "'ESCAPED'",
"'EXCEPT'", "'EXCHANGE'", "'EXCLUDE'", "'EXISTS'", "'EXPLAIN'",
"'EXPORT'", "'EXTENDED'", "'EXTERNAL'", "'EXTRACT'", "'FALSE'",
"'FETCH'", "'FIELDS'", "'FILTER'", "'FILEFORMAT'", "'FIRST'", "'FLOAT'",
"'FOLLOWING'", "'FOR'", "'FOREIGN'", "'FORMAT'", "'FORMATTED'",
"'FROM'", "'FULL'", "'FUNCTION'", "'FUNCTIONS'", "'GENERATED'",
"'GLOBAL'", "'GRANT'", "'GROUP'", "'GROUPING'", "'HAVING'", "'X'",
"'HOUR'", "'HOURS'", "'IDENTIFIER'", "'IF'", "'IGNORE'", "'IMPORT'",
"'IN'", "'INCLUDE'", "'INDEX'", "'INDEXES'", "'INNER'", "'INPATH'",
"'INPUTFORMAT'", "'INSERT'", "'INTERSECT'", "'INTERVAL'", "'INT'",
"'INTEGER'", "'INTO'", "'IS'", "'ITEMS'", "'JOIN'", "'KEYS'", "'LAST'",
"'LATERAL'", "'LAZY'", "'LEADING'", "'LEFT'", "'LIFECYCLE'", "'LIKE'",
"'ILIKE'", "'LIMIT'", "'LINES'", "'LIST'", "'LOAD'", "'LOCAL'",
"'LOCATION'", "'LOCK'", "'LOCKS'", "'LOGICAL'", "'LONG'", "'MACRO'",
"'MATERIALIZED'", "'MAP'", "'MATCHED'", "'MERGE'", "'MICROSECOND'",
"'MICROSECONDS'", "'MILLISECOND'", "'MILLISECONDS'", "'MINUTE'",
"'MINUTES'", "'MONTH'", "'MONTHS'", "'MSCK'", "'NAME'", "'NAMESPACE'",
"'NAMESPACES'", "'NANOSECOND'", "'NANOSECONDS'", "'NATURAL'", "'NO'",
"'NOSCAN'", "'NOT'", "'NULL'", "'NULLS'", "'NUMERIC'", "'OF'", "'OFFSET'",
"'ON'", "'ONLY'", "'OPTIMIZE'", "'OPTION'", "'OPTIONS'", "'OR'",
"'ORDER'", "'OUT'", "'OUTER'", "'OUTPUTFORMAT'", "'OVER'", "'OVERLAPS'",
"'OVERLAY'", "'OVERWRITE'", "'PARTITION'", "'PARTITIONED'", "'PARTITIONS'",
"'PERCENTILE_CONT'", "'PERCENTILE_DISC'", "'PERCENT'", "'PIVOT'",
"'PLACING'", "'POSITION'", "'PRECEDING'", "'PRIMARY'", "'PRINCIPALS'",
"'PROPERTIES'", "'PURGE'", "'QUARTER'", "'QUERY'", "'RANGE'", "'REAL'",
"'RECORDREADER'", "'RECORDWRITER'", "'RECOVER'", "'REDUCE'", "'REFERENCES'",
"'REFRESH'", "'RENAME'", "'REPAIR'", "'REPEATABLE'", "'REPLACE'",
"'RESET'", "'RESPECT'", "'RESTRICT'", "'REWRITE'", "'REVOKE'", "'RIGHT'",
"'RLIKE'", "'REGEXP'", "'ROLE'", "'ROLES'", "'ROLLBACK'", "'ROLLUP'",
"'ROW'", "'ROWS'", "'SECOND'", "'SECONDS'", "'SCHEMA'", "'SCHEMAS'",
"'SELECT'", "'SEMI'", "'SEPARATED'", "'SERDE'", "'SERDEPROPERTIES'",
"'SESSION_USER'", "'SET'", "'MINUS'", "'SETS'", "'SHORT'", "'SHOW'",
"'SINGLE'", "'SKEWED'", "'SMALLINT'", "'SOME'", "'SORT'", "'SORTED'",
"'SOURCE'", "'START'", "'STATISTICS'", "'STORED'", "'STRATIFY'",
"'STRING'", "'STRUCT'", "'SUBSTR'", "'SUBSTRING'", "'SYNC'", "'SYSTEM'",
"'SYSTEM_TIME'", "'SYSTEM_VERSION'", "'TABLE'", "'TABLES'", "'TABLESAMPLE'",
"'TARGET'", "'TBLPROPERTIES'", "'TEMPORARY'", "'TERMINATED'", "'THEN'",
"'TIME'", "'TIMEDIFF'", "'TIMESTAMP'", "'TIMESTAMP_LTZ'", "'TIMESTAMP_NTZ'",
"'TIMESTAMPADD'", "'TIMESTAMPDIFF'", "'TINYINT'", "'TO'", "'TOUCH'",
"'TRAILING'", "'TRANSACTION'", "'TRANSACTIONS'", "'TRANSFORM'",
"'TRIM'", "'TRUE'", "'TRUNCATE'", "'TRY_CAST'", "'TYPE'", "'UNARCHIVE'",
"'UNBOUNDED'", "'UNCACHE'", "'UNION'", "'UNIQUE'", "'UNKNOWN'",
"'UNLOCK'", "'UNPIVOT'", "'UNSET'", "'UPDATE'", "'USE'", "'USER'",
"'USING'", "'VALUES'", "'VARCHAR'", "'VAR'", "'VARIABLE'", "'VERSION'",
"'VIEW'", "'VIEWS'", "'VOID'", "'WEEK'", "'WEEKS'", "'WHEN'", "'WHERE'",
"'WINDOW'", "'WITH'", "'WITHIN'", "'YEAR'", "'YEARS'", "'ZONE'",
"'ZORDER'", null, "'<=>'", "'<>'", "'!='", "'<'", null, "'>'", null,
"'!'", "'+'", "'-'", "'*'", "'/'", "'%'", "'~'", "'&'", "'|'", "'||'",
"'^'", "':'", "'->'", "'=>'", "'/*+'", "'*/'", "'?'"
];
SparkSqlLexer.symbolicNames = [
null, "SEMICOLON", "LEFT_PAREN", "RIGHT_PAREN", "COMMA", "DOT",
"LEFT_BRACKET", "RIGHT_BRACKET", "KW_ADD", "KW_AFTER", "KW_ALL",
"KW_ALTER", "KW_ALWAYS", "KW_ANALYZE", "KW_AND", "KW_ANTI", "KW_ANY",
"KW_ANY_VALUE", "KW_ARCHIVE", "KW_ARRAY", "KW_AS", "KW_ASC", "KW_AT",
"KW_AUTHORIZATION", "KW_BETWEEN", "KW_BIGINT", "KW_BINARY", "KW_BOOLEAN",
"KW_BOTH", "KW_BUCKET", "KW_BUCKETS", "KW_BY", "KW_BYTE", "KW_CACHE",
"KW_CASCADE", "KW_CASE", "KW_CAST", "KW_CATALOG", "KW_CATALOGS",
"KW_CHANGE", "KW_CHAR", "KW_CHARACTER", "KW_CHECK", "KW_CLEAR",
"KW_CLUSTER", "KW_CLUSTERED", "KW_CODEGEN", "KW_COLLATE", "KW_COLLECTION",
"KW_COLUMN", "KW_COLUMNS", "KW_COMMENT", "KW_COMMIT", "KW_COMPACT",
"KW_COMPACTIONS", "KW_COMPUTE", "KW_CONCATENATE", "KW_CONSTRAINT",
"KW_COST", "KW_CREATE", "KW_CROSS", "KW_CUBE", "KW_CURRENT", "KW_CURRENT_DATE",
"KW_CURRENT_TIME", "KW_CURRENT_TIMESTAMP", "KW_CURRENT_USER", "KW_DAY",
"KW_DAYS", "KW_DAYOFYEAR", "KW_DATA", "KW_DATE", "KW_DATABASE",
"KW_DATABASES", "KW_DATEADD", "KW_DATE_ADD", "KW_DATEDIFF", "KW_DATE_DIFF",
"KW_DBPROPERTIES", "KW_DEC", "KW_DECIMAL", "KW_DECLARE", "KW_DEFAULT",
"KW_DEFINED", "KW_DELETE", "KW_DELIMITED", "KW_DESC", "KW_DESCRIBE",
"KW_DFS", "KW_DIRECTORIES", "KW_DIRECTORY", "KW_DISABLE", "KW_DISTINCT",
"KW_DISTRIBUTE", "KW_DIV", "KW_DOUBLE", "KW_DROP", "KW_ELSE", "KW_ENABLE",
"KW_END", "KW_ESCAPE", "KW_ESCAPED", "KW_EXCEPT", "KW_EXCHANGE",
"KW_EXCLUDE", "KW_EXISTS", "KW_EXPLAIN", "KW_EXPORT", "KW_EXTENDED",
"KW_EXTERNAL", "KW_EXTRACT", "KW_FALSE", "KW_FETCH", "KW_FIELDS",
"KW_FILTER", "KW_FILEFORMAT", "KW_FIRST", "KW_FLOAT", "KW_FOLLOWING",
"KW_FOR", "KW_FOREIGN", "KW_FORMAT", "KW_FORMATTED", "KW_FROM",
"KW_FULL", "KW_FUNCTION", "KW_FUNCTIONS", "KW_GENERATED", "KW_GLOBAL",
"KW_GRANT", "KW_GROUP", "KW_GROUPING", "KW_HAVING", "KW_BINARY_HEX",
"KW_HOUR", "KW_HOURS", "KW_IDENTIFIER", "KW_IF", "KW_IGNORE", "KW_IMPORT",
"KW_IN", "KW_INCLUDE", "KW_INDEX", "KW_INDEXES", "KW_INNER", "KW_INPATH",
"KW_INPUTFORMAT", "KW_INSERT", "KW_INTERSECT", "KW_INTERVAL", "KW_INT",
"KW_INTEGER", "KW_INTO", "KW_IS", "KW_ITEMS", "KW_JOIN", "KW_KEYS",
"KW_LAST", "KW_LATERAL", "KW_LAZY", "KW_LEADING", "KW_LEFT", "KW_LIFECYCLE",
"KW_LIKE", "KW_ILIKE", "KW_LIMIT", "KW_LINES", "KW_LIST", "KW_LOAD",
"KW_LOCAL", "KW_LOCATION", "KW_LOCK", "KW_LOCKS", "KW_LOGICAL",
"KW_LONG", "KW_MACRO", "KW_MATERIALIZED", "KW_MAP", "KW_MATCHED",
"KW_MERGE", "KW_MICROSECOND", "KW_MICROSECONDS", "KW_MILLISECOND",
"KW_MILLISECONDS", "KW_MINUTE", "KW_MINUTES", "KW_MONTH", "KW_MONTHS",
"KW_MSCK", "KW_NAME", "KW_NAMESPACE", "KW_NAMESPACES", "KW_NANOSECOND",
"KW_NANOSECONDS", "KW_NATURAL", "KW_NO", "KW_NOSCAN", "KW_NOT",
"KW_NULL", "KW_NULLS", "KW_NUMERIC", "KW_OF", "KW_OFFSET", "KW_ON",
"KW_ONLY", "KW_OPTIMIZE", "KW_OPTION", "KW_OPTIONS", "KW_OR", "KW_ORDER",
"KW_OUT", "KW_OUTER", "KW_OUTPUTFORMAT", "KW_OVER", "KW_OVERLAPS",
"KW_OVERLAY", "KW_OVERWRITE", "KW_PARTITION", "KW_PARTITIONED",
"KW_PARTITIONS", "KW_PERCENTILE_CONT", "KW_PERCENTILE_DISC", "KW_PERCENTLIT",
"KW_PIVOT", "KW_PLACING", "KW_POSITION", "KW_PRECEDING", "KW_PRIMARY",
"KW_PRINCIPALS", "KW_PROPERTIES", "KW_PURGE", "KW_QUARTER", "KW_QUERY",
"KW_RANGE", "KW_REAL", "KW_RECORDREADER", "KW_RECORDWRITER", "KW_RECOVER",
"KW_REDUCE", "KW_REFERENCES", "KW_REFRESH", "KW_RENAME", "KW_REPAIR",
"KW_REPEATABLE", "KW_REPLACE", "KW_RESET", "KW_RESPECT", "KW_RESTRICT",
"KW_REWRITE", "KW_REVOKE", "KW_RIGHT", "KW_RLIKE", "KW_REGEXP",
"KW_ROLE", "KW_ROLES", "KW_ROLLBACK", "KW_ROLLUP", "KW_ROW", "KW_ROWS",
"KW_SECOND", "KW_SECONDS", "KW_SCHEMA", "KW_SCHEMAS", "KW_SELECT",
"KW_SEMI", "KW_SEPARATED", "KW_SERDE", "KW_SERDEPROPERTIES", "KW_SESSION_USER",
"KW_SET", "KW_MINUS", "KW_SETS", "KW_SHORT", "KW_SHOW", "KW_SINGLE",
"KW_SKEWED", "KW_SMALLINT", "KW_SOME", "KW_SORT", "KW_SORTED", "KW_SOURCE",
"KW_START", "KW_STATISTICS", "KW_STORED", "KW_STRATIFY", "KW_STRING",
"KW_STRUCT", "KW_SUBSTR", "KW_SUBSTRING", "KW_SYNC", "KW_SYSTEM",
"KW_SYSTEM_TIME", "KW_SYSTEM_VERSION", "KW_TABLE", "KW_TABLES",
"KW_TABLESAMPLE", "KW_TARGET", "KW_TBLPROPERTIES", "KW_TEMPORARY",
"KW_TERMINATED", "KW_THEN", "KW_TIME", "KW_TIMEDIFF", "KW_TIMESTAMP",
"KW_TIMESTAMP_LTZ", "KW_TIMESTAMP_NTZ", "KW_TIMESTAMPADD", "KW_TIMESTAMPDIFF",
"KW_TINYINT", "KW_TO", "KW_TOUCH", "KW_TRAILING", "KW_TRANSACTION",
"KW_TRANSACTIONS", "KW_TRANSFORM", "KW_TRIM", "KW_TRUE", "KW_TRUNCATE",
"KW_TRY_CAST", "KW_TYPE", "KW_UNARCHIVE", "KW_UNBOUNDED", "KW_UNCACHE",
"KW_UNION", "KW_UNIQUE", "KW_UNKNOWN", "KW_UNLOCK", "KW_UNPIVOT",
"KW_UNSET", "KW_UPDATE", "KW_USE", "KW_USER", "KW_USING", "KW_VALUES",
"KW_VARCHAR", "KW_VAR", "KW_VARIABLE", "KW_VERSION", "KW_VIEW",
"KW_VIEWS", "KW_VOID", "KW_WEEK", "KW_WEEKS", "KW_WHEN", "KW_WHERE",
"KW_WINDOW", "KW_WITH", "KW_WITHIN", "KW_YEAR", "KW_YEARS", "KW_ZONE",
"KW_ZORDER", "EQ", "NSEQ", "NEQ", "NEQJ", "LT", "LTE", "GT", "GTE",
"NOT", "PLUS", "MINUS", "ASTERISK", "SLASH", "PERCENT", "TILDE",
"AMPERSAND", "PIPE", "CONCAT_PIPE", "HAT", "COLON", "ARROW", "FAT_ARROW",
"HENT_START", "HENT_END", "QUESTION", "STRING_LITERAL", "DOUBLEQUOTED_STRING",
"BIGINT_LITERAL", "SMALLINT_LITERAL", "TINYINT_LITERAL", "INTEGER_VALUE",
"EXPONENT_VALUE", "DECIMAL_VALUE", "FLOAT_LITERAL", "DOUBLE_LITERAL",
"BIGDECIMAL_LITERAL", "IDENTIFIER", "BACKQUOTED_IDENTIFIER", "LINE_COMMENT",
"BRACKETED_COMMENT", "WHITE_SPACE", "UNRECOGNIZED"
];
SparkSqlLexer.modeNames = [
"DEFAULT_MODE",
];
SparkSqlLexer.ruleNames = [
"SEMICOLON", "LEFT_PAREN", "RIGHT_PAREN", "COMMA", "DOT", "LEFT_BRACKET",
"RIGHT_BRACKET", "KW_ADD", "KW_AFTER", "KW_ALL", "KW_ALTER", "KW_ALWAYS",
"KW_ANALYZE", "KW_AND", "KW_ANTI", "KW_ANY", "KW_ANY_VALUE", "KW_ARCHIVE",
"KW_ARRAY", "KW_AS", "KW_ASC", "KW_AT", "KW_AUTHORIZATION", "KW_BETWEEN",
"KW_BIGINT", "KW_BINARY", "KW_BOOLEAN", "KW_BOTH", "KW_BUCKET",
"KW_BUCKETS", "KW_BY", "KW_BYTE", "KW_CACHE", "KW_CASCADE", "KW_CASE",
"KW_CAST", "KW_CATALOG", "KW_CATALOGS", "KW_CHANGE", "KW_CHAR",
"KW_CHARACTER", "KW_CHECK", "KW_CLEAR", "KW_CLUSTER", "KW_CLUSTERED",
"KW_CODEGEN", "KW_COLLATE", "KW_COLLECTION", "KW_COLUMN", "KW_COLUMNS",
"KW_COMMENT", "KW_COMMIT", "KW_COMPACT", "KW_COMPACTIONS", "KW_COMPUTE",
"KW_CONCATENATE", "KW_CONSTRAINT", "KW_COST", "KW_CREATE", "KW_CROSS",
"KW_CUBE", "KW_CURRENT", "KW_CURRENT_DATE", "KW_CURRENT_TIME", "KW_CURRENT_TIMESTAMP",
"KW_CURRENT_USER", "KW_DAY", "KW_DAYS", "KW_DAYOFYEAR", "KW_DATA",
"KW_DATE", "KW_DATABASE", "KW_DATABASES", "KW_DATEADD", "KW_DATE_ADD",
"KW_DATEDIFF", "KW_DATE_DIFF", "KW_DBPROPERTIES", "KW_DEC", "KW_DECIMAL",
"KW_DECLARE", "KW_DEFAULT", "KW_DEFINED", "KW_DELETE", "KW_DELIMITED",
"KW_DESC", "KW_DESCRIBE", "KW_DFS", "KW_DIRECTORIES", "KW_DIRECTORY",
"KW_DISABLE", "KW_DISTINCT", "KW_DISTRIBUTE", "KW_DIV", "KW_DOUBLE",
"KW_DROP", "KW_ELSE", "KW_ENABLE", "KW_END", "KW_ESCAPE", "KW_ESCAPED",
"KW_EXCEPT", "KW_EXCHANGE", "KW_EXCLUDE", "KW_EXISTS", "KW_EXPLAIN",
"KW_EXPORT", "KW_EXTENDED", "KW_EXTERNAL", "KW_EXTRACT", "KW_FALSE",
"KW_FETCH", "KW_FIELDS", "KW_FILTER", "KW_FILEFORMAT", "KW_FIRST",
"KW_FLOAT", "KW_FOLLOWING", "KW_FOR", "KW_FOREIGN", "KW_FORMAT",
"KW_FORMATTED", "KW_FROM", "KW_FULL", "KW_FUNCTION", "KW_FUNCTIONS",
"KW_GENERATED", "KW_GLOBAL", "KW_GRANT", "KW_GROUP", "KW_GROUPING",
"KW_HAVING", "KW_BINARY_HEX", "KW_HOUR", "KW_HOURS", "KW_IDENTIFIER",
"KW_IF", "KW_IGNORE", "KW_IMPORT", "KW_IN", "KW_INCLUDE", "KW_INDEX",
"KW_INDEXES", "KW_INNER", "KW_INPATH", "KW_INPUTFORMAT", "KW_INSERT",
"KW_INTERSECT", "KW_INTERVAL", "KW_INT", "KW_INTEGER", "KW_INTO",
"KW_IS", "KW_ITEMS", "KW_JOIN", "KW_KEYS", "KW_LAST", "KW_LATERAL",
"KW_LAZY", "KW_LEADING", "KW_LEFT", "KW_LIFECYCLE", "KW_LIKE", "KW_ILIKE",
"KW_LIMIT", "KW_LINES", "KW_LIST", "KW_LOAD", "KW_LOCAL", "KW_LOCATION",
"KW_LOCK", "KW_LOCKS", "KW_LOGICAL", "KW_LONG", "KW_MACRO", "KW_MATERIALIZED",
"KW_MAP", "KW_MATCHED", "KW_MERGE", "KW_MICROSECOND", "KW_MICROSECONDS",
"KW_MILLISECOND", "KW_MILLISECONDS", "KW_MINUTE", "KW_MINUTES",
"KW_MONTH", "KW_MONTHS", "KW_MSCK", "KW_NAME", "KW_NAMESPACE", "KW_NAMESPACES",
"KW_NANOSECOND", "KW_NANOSECONDS", "KW_NATURAL", "KW_NO", "KW_NOSCAN",
"KW_NOT", "KW_NULL", "KW_NULLS", "KW_NUMERIC", "KW_OF", "KW_OFFSET",
"KW_ON", "KW_ONLY", "KW_OPTIMIZE", "KW_OPTION", "KW_OPTIONS", "KW_OR",
"KW_ORDER", "KW_OUT", "KW_OUTER", "KW_OUTPUTFORMAT", "KW_OVER",
"KW_OVERLAPS", "KW_OVERLAY", "KW_OVERWRITE", "KW_PARTITION", "KW_PARTITIONED",
"KW_PARTITIONS", "KW_PERCENTILE_CONT", "KW_PERCENTILE_DISC", "KW_PERCENTLIT",
"KW_PIVOT", "KW_PLACING", "KW_POSITION", "KW_PRECEDING", "KW_PRIMARY",
"KW_PRINCIPALS", "KW_PROPERTIES", "KW_PURGE", "KW_QUARTER", "KW_QUERY",
"KW_RANGE", "KW_REAL", "KW_RECORDREADER", "KW_RECORDWRITER", "KW_RECOVER",
"KW_REDUCE", "KW_REFERENCES", "KW_REFRESH", "KW_RENAME", "KW_REPAIR",
"KW_REPEATABLE", "KW_REPLACE", "KW_RESET", "KW_RESPECT", "KW_RESTRICT",
"KW_REWRITE", "KW_REVOKE", "KW_RIGHT", "KW_RLIKE", "KW_REGEXP",
"KW_ROLE", "KW_ROLES", "KW_ROLLBACK", "KW_ROLLUP", "KW_ROW", "KW_ROWS",
"KW_SECOND", "KW_SECONDS", "KW_SCHEMA", "KW_SCHEMAS", "KW_SELECT",
"KW_SEMI", "KW_SEPARATED", "KW_SERDE", "KW_SERDEPROPERTIES", "KW_SESSION_USER",
"KW_SET", "KW_MINUS", "KW_SETS", "KW_SHORT", "KW_SHOW", "KW_SINGLE",
"KW_SKEWED", "KW_SMALLINT", "KW_SOME", "KW_SORT", "KW_SORTED", "KW_SOURCE",
"KW_START", "KW_STATISTICS", "KW_STORED", "KW_STRATIFY", "KW_STRING",
"KW_STRUCT", "KW_SUBSTR", "KW_SUBSTRING", "KW_SYNC", "KW_SYSTEM",
"KW_SYSTEM_TIME", "KW_SYSTEM_VERSION", "KW_TABLE", "KW_TABLES",
"KW_TABLESAMPLE", "KW_TARGET", "KW_TBLPROPERTIES", "KW_TEMPORARY",
"KW_TERMINATED", "KW_THEN", "KW_TIME", "KW_TIMEDIFF", "KW_TIMESTAMP",
"KW_TIMESTAMP_LTZ", "KW_TIMESTAMP_NTZ", "KW_TIMESTAMPADD", "KW_TIMESTAMPDIFF",
"KW_TINYINT", "KW_TO", "KW_TOUCH", "KW_TRAILING", "KW_TRANSACTION",
"KW_TRANSACTIONS", "KW_TRANSFORM", "KW_TRIM", "KW_TRUE", "KW_TRUNCATE",
"KW_TRY_CAST", "KW_TYPE", "KW_UNARCHIVE", "KW_UNBOUNDED", "KW_UNCACHE",
"KW_UNION", "KW_UNIQUE", "KW_UNKNOWN", "KW_UNLOCK", "KW_UNPIVOT",
"KW_UNSET", "KW_UPDATE", "KW_USE", "KW_USER", "KW_USING", "KW_VALUES",
"KW_VARCHAR", "KW_VAR", "KW_VARIABLE", "KW_VERSION", "KW_VIEW",
"KW_VIEWS", "KW_VOID", "KW_WEEK", "KW_WEEKS", "KW_WHEN", "KW_WHERE",
"KW_WINDOW", "KW_WITH", "KW_WITHIN", "KW_YEAR", "KW_YEARS", "KW_ZONE",
"KW_ZORDER", "EQ", "NSEQ", "NEQ", "NEQJ", "LT", "LTE", "GT", "GTE",
"NOT", "PLUS", "MINUS", "ASTERISK", "SLASH", "PERCENT", "TILDE",
"AMPERSAND", "PIPE", "CONCAT_PIPE", "HAT", "COLON", "ARROW", "FAT_ARROW",
"HENT_START", "HENT_END", "QUESTION", "STRING_LITERAL", "DOUBLEQUOTED_STRING",
"BIGINT_LITERAL", "SMALLINT_LITERAL", "TINYINT_LITERAL", "INTEGER_VALUE",
"EXPONENT_VALUE", "DECIMAL_VALUE", "FLOAT_LITERAL", "DOUBLE_LITERAL",
"BIGDECIMAL_LITERAL", "IDENTIFIER", "BACKQUOTED_IDENTIFIER", "DECIMAL_DIGITS",
"EXPONENT", "DIGIT", "LETTER", "LINE_COMMENT", "BRACKETED_COMMENT",
"WHITE_SPACE", "UNRECOGNIZED",
];
SparkSqlLexer._serializedATN = [
4, 0, 393, 3706, 6, -1, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7,
5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12,
2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19,
7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25,
2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, 7, 31, 2, 32,
7, 32, 2, 33, 7, 33, 2, 34, 7, 34, 2, 35, 7, 35, 2, 36, 7, 36, 2, 37, 7, 37, 2, 38, 7, 38,
2, 39, 7, 39, 2, 40, 7, 40, 2, 41, 7, 41, 2, 42, 7, 42, 2, 43, 7, 43, 2, 44, 7, 44, 2, 45,
7, 45, 2, 46, 7, 46, 2, 47, 7, 47, 2, 48, 7, 48, 2, 49, 7, 49, 2, 50, 7, 50, 2, 51, 7, 51,
2, 52, 7, 52, 2, 53, 7, 53, 2, 54, 7, 54, 2, 55, 7, 55, 2, 56, 7, 56, 2, 57, 7, 57, 2, 58,
7, 58, 2, 59, 7, 59, 2, 60, 7, 60, 2, 61, 7, 61, 2, 62, 7, 62, 2, 63, 7, 63, 2, 64, 7, 64,
2, 65, 7, 65, 2, 66, 7, 66, 2, 67, 7, 67, 2, 68, 7, 68, 2, 69, 7, 69, 2, 70, 7, 70, 2, 71,
7, 71, 2, 72, 7, 72, 2, 73, 7, 73, 2, 74, 7, 74, 2, 75, 7, 75, 2, 76, 7, 76, 2, 77, 7, 77,
2, 78, 7, 78, 2, 79, 7, 79, 2, 80, 7, 80, 2, 81, 7, 81, 2, 82, 7, 82, 2, 83, 7, 83, 2, 84,
7, 84, 2, 85, 7, 85, 2, 86, 7, 86, 2, 87, 7, 87, 2, 88, 7, 88, 2, 89, 7, 89, 2, 90, 7, 90,
2, 91, 7, 91, 2, 92, 7, 92, 2, 93, 7, 93, 2, 94, 7, 94, 2, 95, 7, 95, 2, 96, 7, 96, 2, 97,
7, 97, 2, 98, 7, 98, 2, 99, 7, 99, 2, 100, 7, 100, 2, 101, 7, 101, 2, 102, 7, 102, 2, 103,
7, 103, 2, 104, 7, 104, 2, 105, 7, 105, 2, 106, 7, 106, 2, 107, 7, 107, 2, 108, 7, 108,
2, 109, 7, 109, 2, 110, 7, 110, 2, 111, 7, 111, 2, 112, 7, 112, 2, 113, 7, 113, 2, 114,
7, 114, 2, 115, 7, 115, 2, 116, 7, 116, 2, 117, 7, 117, 2, 118, 7, 118, 2, 119, 7, 119,
2, 120, 7, 120, 2, 121, 7, 121, 2, 122, 7, 122, 2, 123, 7, 123, 2, 124, 7, 124, 2, 125,
7, 125, 2, 126, 7, 126, 2, 127, 7, 127, 2, 128, 7, 128, 2, 129, 7, 129, 2, 130, 7, 130,
2, 131, 7, 131, 2, 132, 7, 132, 2, 133, 7, 133, 2, 134, 7, 134, 2, 135, 7, 135, 2, 136,
7, 136, 2, 137, 7, 137, 2, 138, 7, 138, 2, 139, 7, 139, 2, 140, 7, 140, 2, 141, 7, 141,
2, 142, 7, 142, 2, 143, 7, 143, 2, 144, 7, 144, 2, 145, 7, 145, 2, 146, 7, 146, 2, 147,
7, 147, 2, 148, 7, 148, 2, 149, 7, 149, 2, 150, 7, 150, 2, 151, 7, 151, 2, 152, 7, 152,
2, 153, 7, 153, 2, 154, 7, 154, 2, 155, 7, 155, 2, 156, 7, 156, 2, 157, 7, 157, 2, 158,
7, 158, 2, 159, 7, 159, 2, 160, 7, 160, 2, 161, 7, 161, 2, 162, 7, 162, 2, 163, 7, 163,
2, 164, 7, 164, 2, 165, 7, 165, 2, 166, 7, 166, 2, 167, 7, 167, 2, 168, 7, 168, 2, 169,
7, 169, 2, 170, 7, 170, 2, 171, 7, 171, 2, 172, 7, 172, 2, 173, 7, 173, 2, 174, 7, 174,
2, 175, 7, 175, 2, 176, 7, 176, 2, 177, 7, 177, 2, 178, 7, 178, 2, 179, 7, 179, 2, 180,
7, 180, 2, 181, 7, 181, 2, 182, 7, 182, 2, 183, 7, 183, 2, 184, 7, 184, 2, 185, 7, 185,
2, 186, 7, 186, 2, 187, 7, 187, 2, 188, 7, 188, 2, 189, 7, 189, 2, 190, 7, 190, 2, 191,
7, 191, 2, 192, 7, 192, 2, 193, 7, 193, 2, 194, 7, 194, 2, 195, 7, 195, 2, 196, 7, 196,
2, 197, 7, 197, 2, 198, 7, 198, 2, 199, 7, 199, 2, 200, 7, 200, 2, 201, 7, 201, 2, 202,
7, 202, 2, 203, 7, 203, 2, 204, 7, 204, 2, 205, 7, 205, 2, 206, 7, 206, 2, 207, 7, 207,
2, 208, 7, 208, 2, 209, 7, 209, 2, 210, 7, 210, 2, 211, 7, 211, 2, 212, 7, 212, 2, 213,
7, 213, 2, 214, 7, 214, 2, 215, 7, 215, 2, 216, 7, 216, 2, 217, 7, 217, 2, 218, 7, 218,
2, 219, 7, 219, 2, 220, 7, 220, 2, 221, 7, 221, 2, 222, 7, 222, 2, 223, 7, 223, 2, 224,
7, 224, 2, 225, 7, 225, 2, 226, 7, 226, 2, 227, 7, 227, 2, 228, 7, 228, 2, 229, 7, 229,
2, 230, 7, 230, 2, 231, 7, 231, 2, 232, 7, 232, 2, 233, 7, 233, 2, 234, 7, 234, 2, 235,
7, 235, 2, 236, 7, 236, 2, 237, 7, 237, 2, 238, 7, 238, 2, 239, 7, 239, 2, 240, 7, 240,
2, 241, 7, 241, 2, 242, 7, 242, 2, 243, 7, 243, 2, 244, 7, 244, 2, 245, 7, 245, 2, 246,
7, 246, 2, 247, 7, 247, 2, 248, 7, 248, 2, 249, 7, 249, 2, 250, 7, 250, 2, 251, 7, 251,
2, 252, 7, 252, 2, 253, 7, 253, 2, 254, 7, 254, 2, 255, 7, 255, 2, 256, 7, 256, 2, 257,
7, 257, 2, 258, 7, 258, 2, 259, 7, 259, 2, 260, 7, 260, 2, 261, 7, 261, 2, 262, 7, 262,
2, 263, 7, 263, 2, 264, 7, 264, 2, 265, 7, 265, 2, 266, 7, 266, 2, 267, 7, 267, 2, 268,
7, 268, 2, 269, 7, 269, 2, 270, 7, 270, 2, 271, 7, 271, 2, 272, 7, 272, 2, 273, 7, 273,
2, 274, 7, 274, 2, 275, 7, 275, 2, 276, 7, 276, 2, 277, 7, 277, 2, 278, 7, 278, 2, 279,
7, 279, 2, 280, 7, 280, 2, 281, 7, 281, 2, 282, 7, 282, 2, 283, 7, 283, 2, 284, 7, 284,
2, 285, 7, 285, 2, 286, 7, 286, 2, 287, 7, 287, 2, 288, 7, 288, 2, 289, 7, 289, 2, 290,
7, 290, 2, 291, 7, 291, 2, 292, 7, 292, 2, 293, 7, 293, 2, 294, 7, 294, 2, 295, 7, 295,
2, 296, 7, 296, 2, 297, 7, 297, 2, 298, 7, 298, 2, 299, 7, 299, 2, 300, 7, 300, 2, 301,
7, 301, 2, 302, 7, 302, 2, 303, 7, 303, 2, 304, 7, 304, 2, 305, 7, 305, 2, 306, 7, 306,
2, 307, 7, 307, 2, 308, 7, 308, 2, 309, 7, 309, 2, 310, 7, 310, 2, 311, 7, 311, 2, 312,
7, 312, 2, 313, 7, 313, 2, 314, 7, 314, 2, 315, 7, 315, 2, 316, 7, 316, 2, 317, 7, 317,
2, 318, 7, 318, 2, 319, 7, 319, 2, 320, 7, 320, 2, 321, 7, 321, 2, 322, 7, 322, 2, 323,
7, 323, 2, 324, 7, 324, 2, 325, 7, 325, 2, 326, 7, 326, 2, 327, 7, 327, 2, 328, 7, 328,
2, 329, 7, 329, 2, 330, 7, 330, 2, 331, 7, 331, 2, 332, 7, 332, 2, 333, 7, 333, 2, 334,
7, 334, 2, 335, 7, 335, 2, 336, 7, 336, 2, 337, 7, 337, 2, 338, 7, 338, 2, 339, 7, 339,
2, 340, 7, 340, 2, 341, 7, 341, 2, 342, 7, 342, 2, 343, 7, 343, 2, 344, 7, 344, 2, 345,
7, 345, 2, 346, 7, 346, 2, 347, 7, 347, 2, 348, 7, 348, 2, 349, 7, 349, 2, 350, 7, 350,
2, 351, 7, 351, 2, 352, 7, 352, 2, 353, 7, 353, 2, 354, 7, 354, 2, 355, 7, 355, 2, 356,
7, 356, 2, 357, 7, 357, 2, 358, 7, 358, 2, 359, 7, 359, 2, 360, 7, 360, 2, 361, 7, 361,
2, 362, 7, 362, 2, 363, 7, 363, 2, 364, 7, 364, 2, 365, 7, 365, 2, 366, 7, 366, 2, 367,
7, 367, 2, 368, 7, 368, 2, 369, 7, 369, 2, 370, 7, 370, 2, 371, 7, 371, 2, 372, 7, 372,
2, 373, 7, 373, 2, 374, 7, 374, 2, 375, 7, 375, 2, 376, 7, 376, 2, 377, 7, 377, 2, 378,
7, 378, 2, 379, 7, 379, 2, 380, 7, 380, 2, 381, 7, 381, 2, 382, 7, 382, 2, 383, 7, 383,
2, 384, 7, 384, 2, 385, 7, 385, 2, 386, 7, 386, 2, 387, 7, 387, 2, 388, 7, 388, 2, 389,
7, 389, 2, 390, 7, 390, 2, 391, 7, 391, 2, 392, 7, 392, 2, 393, 7, 393, 2, 394, 7, 394,
2, 395, 7, 395, 2, 396, 7, 396, 1, 0, 1, 0, 1, 1, 1, 1, 1, 2, 1, 2, 1, 3, 1, 3, 1, 4, 1, 4,
1, 5, 1, 5, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 1, 7, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 9, 1, 9,
1, 9, 1, 9, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1,
11, 1, 11, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 13, 1, 13, 1, 13, 1,
13, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 15, 1, 15, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 1,
16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1,
17, 1, 17, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 19, 1, 19, 1, 19, 1, 20, 1, 20, 1,
20, 1, 20, 1, 21, 1, 21, 1, 21, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1,
22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1,
23, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1,
25, 1, 25, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 27, 1, 27, 1, 27, 1,
27, 1, 27, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 29, 1, 29, 1, 29, 1, 29, 1,
29, 1, 29, 1, 29, 1, 29, 1, 30, 1, 30, 1, 30, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 32, 1,
32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1,
34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 36, 1, 36, 1, 36, 1,
36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1,
37, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1,
40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 41, 1, 41, 1, 41, 1,
41, 1, 41, 1, 41, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 43, 1, 43, 1, 43, 1, 43, 1,
43, 1, 43, 1, 43, 1, 43, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1,
44, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 46, 1, 46, 1, 46, 1, 46, 1,
46, 1, 46, 1, 46, 1, 46, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1,
47, 1, 47, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 49, 1, 49, 1, 49, 1, 49, 1,
49, 1, 49, 1, 49, 1, 49, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 51, 1,
51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 52, 1, 52, 1, 52, 1, 52, 1, 52, 1, 52, 1, 52, 1,
52, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1,
54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1,
55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1,
56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 58, 1, 58, 1, 58, 1,
58, 1, 58, 1, 58, 1, 58, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 60, 1, 60, 1, 60, 1,
60, 1, 60, 1, 61, 1, 61, 1, 61, 1, 61, 1, 61, 1, 61, 1, 61, 1, 61, 1, 62, 1, 62, 1, 62, 1,
62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 63, 1, 63, 1, 63, 1,
63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 64, 1, 64, 1, 64, 1,
64, 1, 64, 1, 64, 1, 64, 1, 64, 1, 64, 1, 64, 1, 64, 1, 64, 1, 64, 1, 64, 1, 64, 1, 64, 1,
64, 1, 64, 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1,
65, 1, 65, 1, 66, 1, 66, 1, 66, 1, 66, 1, 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, 68, 1, 68, 1,
68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1,
70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, 1,
71, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 73, 1, 73, 1,
73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1,
74, 1, 74, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 76, 1, 76, 1,
76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 77, 1, 77, 1, 77, 1, 77, 1, 77, 1,
77, 1, 77, 1, 77, 1, 77, 1, 77, 1, 77, 1, 77, 1, 77, 1, 78, 1, 78, 1, 78, 1, 78, 1, 79, 1,
79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 80, 1, 80, 1, 80, 1, 80, 1, 80, 1, 80, 1,
80, 1, 80, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 82, 1, 82, 1, 82, 1,
82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 84, 1,
84, 1, 84, 1, 84, 1, 84, 1, 84, 1, 84, 1, 84, 1, 84, 1, 84, 1, 85, 1, 85, 1, 85, 1, 85, 1,
85, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 87, 1, 87, 1, 87, 1,
87, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1,
89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 90, 1, 90, 1, 90, 1,
90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1,
91, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 93, 1,
93, 1, 93, 1, 93, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 95, 1, 95, 1, 95, 1,
95, 1, 95, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 97, 1, 97, 1, 97, 1, 97, 1, 97, 1, 97, 1,
97, 1, 98, 1, 98, 1, 98, 1, 98, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 100,
1, 100, 1, 100, 1, 100, 1, 100, 1, 100, 1, 100, 1, 100, 1, 101, 1, 101, 1, 101, 1, 101,
1, 101, 1, 101, 1, 101, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102,
1, 102, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 104, 1, 104,
1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105,
1, 105, 1, 105, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 107, 1, 107,
1, 107, 1, 107, 1, 107, 1, 107, 1, 107, 1, 107, 1, 107, 1, 108, 1, 108, 1, 108, 1, 108,
1, 108, 1, 108, 1, 108, 1, 108, 1, 108, 1, 109, 1, 109, 1, 109, 1, 109, 1, 109, 1, 109,
1, 109, 1, 109, 1, 110, 1, 110, 1, 110, 1, 110, 1, 110, 1, 110, 1, 111, 1, 111, 1, 111,
1, 111, 1, 111, 1, 111, 1, 112, 1, 112, 1, 112, 1, 112, 1, 112, 1, 112, 1, 112, 1, 113,
1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 114, 1, 114, 1, 114, 1, 114, 1, 114,
1, 114, 1, 114, 1, 114, 1, 114, 1, 114, 1, 114, 1, 115, 1, 115, 1, 115, 1, 115, 1, 115,
1, 115, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, 117, 1, 117, 1, 117, 1, 117,
1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 118, 1, 118, 1, 118, 1, 118, 1, 119,
1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 120, 1, 120, 1, 120, 1, 120,
1, 120, 1, 120, 1, 120, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121,
1, 121, 1, 121, 1, 122, 1, 122, 1, 122, 1, 122, 1, 122, 1, 123, 1, 123, 1, 123, 1, 123,
1, 123, 1, 124, 1, 124, 1, 124, 1, 124, 1, 124, 1, 124, 1, 124, 1, 124, 1, 124, 1, 125,
1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 126, 1, 126,
1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 127, 1, 127, 1, 127,
1, 127, 1, 127, 1, 127, 1, 127, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 129,
1, 129, 1, 129, 1, 129, 1, 129, 1, 129, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130,
1, 130, 1, 130, 1, 130, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, 132,
1, 132, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134,
1, 134, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135,
1, 135, 1, 136, 1, 136, 1, 136, 1, 137, 1, 137, 1, 137, 1, 137, 1, 137, 1, 137, 1, 137,
1, 138, 1, 138, 1, 138, 1, 138, 1, 138, 1, 138, 1, 138, 1, 139, 1, 139, 1, 139, 1, 140,
1, 140, 1, 140, 1, 140, 1, 140, 1, 140, 1, 140, 1, 140, 1, 141, 1, 141, 1, 141, 1, 141,
1, 141, 1, 141, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 143,
1, 143, 1, 143, 1, 143, 1, 143, 1, 143, 1, 144, 1, 144, 1, 144, 1, 144, 1, 144, 1, 144,
1, 144, 1, 145, 1, 145, 1, 145, 1, 145, 1, 145, 1, 145, 1, 145, 1, 145, 1, 145, 1, 145,
1, 145, 1, 145, 1, 146, 1, 146, 1, 146, 1, 146, 1, 146, 1, 146, 1, 146, 1, 147, 1, 147,
1, 147, 1, 147, 1, 147, 1, 147, 1, 147, 1, 147, 1, 147, 1, 147, 1, 148, 1, 148, 1, 148,
1, 148, 1, 148, 1, 148, 1, 148, 1, 148, 1, 148, 1, 149, 1, 149, 1, 149, 1, 149, 1, 150,
1, 150, 1, 150, 1, 150, 1, 150, 1, 150, 1, 150, 1, 150, 1, 151, 1, 151, 1, 151, 1, 151,
1, 151, 1, 152, 1, 152, 1, 152, 1, 153, 1, 153, 1, 153, 1, 153, 1, 153, 1, 153, 1, 154,
1, 154, 1, 154, 1, 154, 1, 154, 1, 155, 1, 155, 1, 155, 1, 155, 1, 155, 1, 156, 1, 156,
1, 156, 1, 156, 1, 156, 1, 157, 1, 157, 1, 157, 1, 157, 1, 157, 1, 157, 1, 157, 1, 157,
1, 158, 1, 158, 1, 158, 1, 158, 1, 158, 1, 159, 1, 159, 1, 159, 1, 159, 1, 159, 1, 159,
1, 159, 1, 159, 1, 160, 1, 160, 1, 160, 1, 160, 1, 160, 1, 161, 1, 161, 1, 161, 1, 161,
1, 161, 1, 161, 1, 161, 1, 161, 1, 161, 1, 161, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162,
1, 163, 1, 163, 1, 163, 1, 163, 1, 163, 1, 163, 1, 164, 1, 164, 1, 164, 1, 164, 1, 164,
1, 164, 1, 165, 1, 165, 1, 165, 1, 165, 1, 165, 1, 165, 1, 166, 1, 166, 1, 166, 1, 166,
1, 166, 1, 167, 1, 167, 1, 167, 1, 167, 1, 167, 1, 168, 1, 168, 1, 168, 1, 168, 1, 168,
1, 168, 1, 169, 1, 169, 1, 169, 1, 169, 1, 169, 1, 169, 1, 169, 1, 169, 1, 169, 1, 170,
1, 170, 1, 170, 1, 170, 1, 170, 1, 171, 1, 171, 1, 171, 1, 171, 1, 171, 1, 171, 1, 172,
1, 172, 1, 172, 1, 172, 1, 172, 1, 172, 1, 172, 1, 172, 1, 173, 1, 173, 1, 173, 1, 173,
1, 173, 1, 174, 1, 174, 1, 174, 1, 174, 1, 174, 1, 174, 1, 175, 1, 175, 1, 175, 1, 175,
1, 175, 1, 175, 1, 175, 1, 175, 1, 175, 1, 175, 1, 175, 1, 175, 1, 175, 1, 176, 1, 176,
1, 176, 1, 176, 1, 177, 1, 177, 1, 177, 1, 177, 1, 177, 1, 177, 1, 177, 1, 177, 1, 178,
1, 178, 1, 178, 1, 178, 1, 178, 1, 178, 1, 179, 1, 179, 1, 179, 1, 179, 1, 179, 1, 179,
1, 179, 1, 179, 1, 179, 1, 179, 1, 179, 1, 179, 1, 180, 1, 180, 1, 180, 1, 180, 1, 180,
1, 180, 1, 180, 1, 180, 1, 180, 1, 180, 1, 180, 1, 180, 1, 180, 1, 181, 1, 181, 1, 181,
1, 181, 1, 181, 1, 181, 1, 181, 1, 181, 1, 181, 1, 181, 1, 181, 1, 181, 1, 182, 1, 182,
1, 182, 1, 182, 1, 182, 1, 182, 1, 182, 1, 182, 1, 182, 1, 182, 1, 182, 1, 182, 1, 182,
1, 183, 1, 183, 1, 183, 1, 183, 1, 183, 1, 183, 1, 183, 1, 184, 1, 184, 1, 184, 1, 184,
1, 184, 1, 184, 1, 184, 1, 184, 1, 185, 1, 185, 1, 185, 1, 185, 1, 185, 1, 185, 1, 186,
1, 186, 1, 186, 1, 186, 1, 186, 1, 186, 1, 186, 1, 187, 1, 187, 1, 187, 1, 187, 1, 187,
1, 188, 1, 188, 1, 188, 1, 188, 1, 188, 1, 189, 1, 189, 1, 189, 1, 189, 1, 189, 1, 189,
1, 189, 1, 189, 1, 189, 1, 189, 1, 190, 1, 190, 1, 190, 1, 190, 1, 190, 1, 190, 1, 190,
1, 190, 1, 190, 1, 190, 1, 190, 1, 191, 1, 191, 1, 191, 1, 191, 1, 191, 1, 191, 1, 191,
1, 191, 1, 191, 1, 191, 1, 191, 1, 192, 1, 192, 1, 192, 1, 192, 1, 192, 1, 192, 1, 192,
1, 192, 1, 192, 1, 192, 1, 192, 1, 192, 1, 193, 1, 193, 1, 193, 1, 193, 1, 193, 1, 193,
1, 193, 1, 193, 1, 194, 1, 194, 1, 194, 1, 195, 1, 195, 1, 195, 1, 195, 1, 195, 1, 195,
1, 195, 1, 196, 1, 196, 1, 196, 1, 196, 1, 197, 1, 197, 1, 197, 1, 197, 1, 197, 1, 198,
1, 198, 1, 198, 1, 198, 1, 198, 1, 198, 1, 199, 1, 199, 1, 199, 1, 199, 1, 199, 1, 199,
1, 199, 1, 199, 1, 200, 1, 200, 1, 200, 1, 201, 1, 201, 1, 201, 1, 201, 1, 201, 1, 201,
1, 201, 1, 202, 1, 202, 1, 202, 1, 203, 1, 203, 1, 203, 1, 203, 1, 203, 1, 204, 1, 204,
1, 204, 1, 204, 1, 204, 1, 204, 1, 204, 1, 204, 1, 204, 1, 205, 1, 205, 1, 205, 1, 205,
1, 205, 1, 205, 1, 205, 1, 206, 1, 206, 1, 206, 1, 206, 1, 206, 1, 206, 1, 206, 1, 206,
1, 207, 1, 207, 1, 207, 1, 208, 1, 208, 1, 208, 1, 208, 1, 208, 1, 208, 1, 209, 1, 209,
1, 209, 1, 209, 1, 210, 1, 210, 1, 210, 1, 210, 1, 210, 1, 210, 1, 211, 1, 211, 1, 211,
1, 211, 1, 211, 1, 211, 1, 211, 1, 211, 1, 211, 1, 211, 1, 211, 1, 211, 1, 211, 1, 212,
1, 212, 1, 212, 1, 212, 1, 212, 1, 213, 1, 213, 1, 213, 1, 213, 1, 213, 1, 213, 1, 213,
1, 213, 1, 213, 1, 214, 1, 214, 1, 214, 1, 214, 1, 214, 1, 214, 1, 214, 1, 214, 1, 215,
1, 215, 1, 215, 1, 215, 1, 215, 1, 215, 1, 215, 1, 215, 1, 215, 1, 215, 1, 216, 1, 216,
1, 216, 1, 216, 1, 216, 1, 216, 1, 216, 1, 216, 1, 216, 1, 216, 1, 217, 1, 217, 1, 217,
1, 217, 1, 217, 1, 217, 1, 217, 1, 217, 1, 217, 1, 217, 1, 217, 1, 217, 1, 218, 1, 218,
1, 218, 1, 218, 1, 218, 1, 218, 1, 218, 1, 218, 1, 218, 1, 218, 1, 218, 1, 219, 1, 219,
1, 219, 1, 219, 1, 219, 1, 219, 1, 219, 1, 219, 1, 219, 1, 219, 1, 219, 1, 219, 1, 219,
1, 219, 1, 219, 1, 219, 1, 220, 1, 220, 1, 220, 1, 220, 1, 220, 1, 220, 1, 220, 1, 220,
1, 220, 1, 220, 1, 220, 1, 220, 1, 220, 1, 220, 1, 220, 1, 220, 1, 221, 1, 221, 1, 221,
1, 221, 1, 221, 1, 221, 1, 221, 1, 221, 1, 222, 1, 222, 1, 222, 1, 222, 1, 222, 1, 222,
1, 223, 1, 223, 1, 223, 1, 223, 1, 223, 1, 223, 1, 223, 1, 223, 1, 224, 1, 224, 1, 224,
1, 224, 1, 224, 1, 224, 1, 224, 1, 224, 1, 224, 1, 225, 1, 225, 1, 225, 1, 225, 1, 225,