UNPKG

rhombic

Version:

SQL parsing, lineage extraction and manipulation

1,675 lines 140 kB
"use strict"; // Generated from src/antlr/SqlBase.g4 by ANTLR 4.9.0-SNAPSHOT var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.SqlBaseLexer = void 0; const ATNDeserializer_1 = require("antlr4ts/atn/ATNDeserializer"); const Lexer_1 = require("antlr4ts/Lexer"); const LexerATNSimulator_1 = require("antlr4ts/atn/LexerATNSimulator"); const VocabularyImpl_1 = require("antlr4ts/VocabularyImpl"); const Utils = __importStar(require("antlr4ts/misc/Utils")); class SqlBaseLexer extends Lexer_1.Lexer { constructor(input) { super(input); // tslint:enable:no-trailing-whitespace this.doublequoted_identifier = false; this._interp = new LexerATNSimulator_1.LexerATNSimulator(SqlBaseLexer._ATN, this); } // @Override // @NotNull get vocabulary() { return SqlBaseLexer.VOCABULARY; } /** * Verify whether current token is a valid decimal token (which contains dot). * Returns true if the character that follows the token is not a digit or letter or underscore. * * For example: * For char stream "2.3", "2." is not a valid decimal token, because it is followed by digit '3'. * For char stream "2.3_", "2.3" is not a valid decimal token, because it is followed by '_'. * For char stream "2.3W", "2.3" is not a valid decimal token, because it is followed by 'W'. * For char stream "12.0D 34.E2+0.12 " 12.0D is a valid decimal token because it is followed * by a space. 34.E2 is a valid decimal token because it is followed by symbol '+' * which is not a digit or letter or underscore. */ isValidDecimal() { return true; // int nextChar = _input.LA(1); // if (nextChar >= 'A' && nextChar <= 'Z' || nextChar >= '0' && nextChar <= '9' || // nextChar == '_') { // return false; // } else { // return true; // } } /** * This method will be called when we see '/*' and try to match it as a bracketed comment. * If the next character is '+', it should be parsed as hint later, and we cannot match * it as a bracketed comment. * * Returns true if the next character is '+'. */ isHint() { return false; // int nextChar = _input.LA(1); // if (nextChar == '+') { // return true; // } else { // return false; // } } // @Override get grammarFileName() { return "SqlBase.g4"; } // @Override get ruleNames() { return SqlBaseLexer.ruleNames; } // @Override get serializedATN() { return SqlBaseLexer._serializedATN; } // @Override get channelNames() { return SqlBaseLexer.channelNames; } // @Override get modeNames() { return SqlBaseLexer.modeNames; } // @Override sempred(_localctx, ruleIndex, predIndex) { switch (ruleIndex) { case 291: return this.STRING_sempred(_localctx, predIndex); case 296: return this.EXPONENT_VALUE_sempred(_localctx, predIndex); case 297: return this.DECIMAL_VALUE_sempred(_localctx, predIndex); case 298: return this.FLOAT_LITERAL_sempred(_localctx, predIndex); case 299: return this.DOUBLE_LITERAL_sempred(_localctx, predIndex); case 300: return this.BIGDECIMAL_LITERAL_sempred(_localctx, predIndex); case 309: return this.BRACKETED_COMMENT_sempred(_localctx, predIndex); } return true; } STRING_sempred(_localctx, predIndex) { switch (predIndex) { case 0: return !this.doublequoted_identifier; } return true; } EXPONENT_VALUE_sempred(_localctx, predIndex) { switch (predIndex) { case 1: return this.isValidDecimal(); } return true; } DECIMAL_VALUE_sempred(_localctx, predIndex) { switch (predIndex) { case 2: return this.isValidDecimal(); } return true; } FLOAT_LITERAL_sempred(_localctx, predIndex) { switch (predIndex) { case 3: return this.isValidDecimal(); } return true; } DOUBLE_LITERAL_sempred(_localctx, predIndex) { switch (predIndex) { case 4: return this.isValidDecimal(); } return true; } BIGDECIMAL_LITERAL_sempred(_localctx, predIndex) { switch (predIndex) { case 5: return this.isValidDecimal(); } return true; } BRACKETED_COMMENT_sempred(_localctx, predIndex) { switch (predIndex) { case 6: return !this.isHint(); } return true; } static get _ATN() { if (!SqlBaseLexer.__ATN) { SqlBaseLexer.__ATN = new ATNDeserializer_1.ATNDeserializer().deserialize(Utils.toCharArray(SqlBaseLexer._serializedATN)); } return SqlBaseLexer.__ATN; } } exports.SqlBaseLexer = SqlBaseLexer; SqlBaseLexer.T__0 = 1; SqlBaseLexer.T__1 = 2; SqlBaseLexer.T__2 = 3; SqlBaseLexer.T__3 = 4; SqlBaseLexer.T__4 = 5; SqlBaseLexer.T__5 = 6; SqlBaseLexer.T__6 = 7; SqlBaseLexer.T__7 = 8; SqlBaseLexer.T__8 = 9; SqlBaseLexer.T__9 = 10; SqlBaseLexer.T__10 = 11; SqlBaseLexer.T__11 = 12; SqlBaseLexer.T__12 = 13; SqlBaseLexer.T__13 = 14; SqlBaseLexer.T__14 = 15; SqlBaseLexer.ADD = 16; SqlBaseLexer.AFTER = 17; SqlBaseLexer.ALL = 18; SqlBaseLexer.ALTER = 19; SqlBaseLexer.ANALYZE = 20; SqlBaseLexer.AND = 21; SqlBaseLexer.ANTI = 22; SqlBaseLexer.ANY = 23; SqlBaseLexer.ARCHIVE = 24; SqlBaseLexer.ARRAY = 25; SqlBaseLexer.AS = 26; SqlBaseLexer.ASC = 27; SqlBaseLexer.AT = 28; SqlBaseLexer.AUTHORIZATION = 29; SqlBaseLexer.BETWEEN = 30; SqlBaseLexer.BOTH = 31; SqlBaseLexer.BUCKET = 32; SqlBaseLexer.BUCKETS = 33; SqlBaseLexer.BY = 34; SqlBaseLexer.CACHE = 35; SqlBaseLexer.CASCADE = 36; SqlBaseLexer.CASE = 37; SqlBaseLexer.CAST = 38; SqlBaseLexer.CHANGE = 39; SqlBaseLexer.CHECK = 40; SqlBaseLexer.CLEAR = 41; SqlBaseLexer.CLUSTER = 42; SqlBaseLexer.CLUSTERED = 43; SqlBaseLexer.CODEGEN = 44; SqlBaseLexer.COLLATE = 45; SqlBaseLexer.COLLECTION = 46; SqlBaseLexer.COLUMN = 47; SqlBaseLexer.COLUMNS = 48; SqlBaseLexer.COMMENT = 49; SqlBaseLexer.COMMIT = 50; SqlBaseLexer.COMPACT = 51; SqlBaseLexer.COMPACTIONS = 52; SqlBaseLexer.COMPUTE = 53; SqlBaseLexer.CONCATENATE = 54; SqlBaseLexer.CONSTRAINT = 55; SqlBaseLexer.COST = 56; SqlBaseLexer.CREATE = 57; SqlBaseLexer.CROSS = 58; SqlBaseLexer.CUBE = 59; SqlBaseLexer.CURRENT = 60; SqlBaseLexer.CURRENT_DATE = 61; SqlBaseLexer.CURRENT_TIME = 62; SqlBaseLexer.CURRENT_TIMESTAMP = 63; SqlBaseLexer.CURRENT_USER = 64; SqlBaseLexer.DAY = 65; SqlBaseLexer.DATA = 66; SqlBaseLexer.DATABASE = 67; SqlBaseLexer.DATABASES = 68; SqlBaseLexer.DBPROPERTIES = 69; SqlBaseLexer.DEFINED = 70; SqlBaseLexer.DELETE = 71; SqlBaseLexer.DELIMITED = 72; SqlBaseLexer.DESC = 73; SqlBaseLexer.DESCRIBE = 74; SqlBaseLexer.DFS = 75; SqlBaseLexer.DIRECTORIES = 76; SqlBaseLexer.DIRECTORY = 77; SqlBaseLexer.DISTINCT = 78; SqlBaseLexer.DISTRIBUTE = 79; SqlBaseLexer.DIV = 80; SqlBaseLexer.DROP = 81; SqlBaseLexer.ELSE = 82; SqlBaseLexer.END = 83; SqlBaseLexer.ESCAPE = 84; SqlBaseLexer.ESCAPED = 85; SqlBaseLexer.EXCEPT = 86; SqlBaseLexer.EXCHANGE = 87; SqlBaseLexer.EXISTS = 88; SqlBaseLexer.EXPLAIN = 89; SqlBaseLexer.EXPORT = 90; SqlBaseLexer.EXTENDED = 91; SqlBaseLexer.EXTERNAL = 92; SqlBaseLexer.EXTRACT = 93; SqlBaseLexer.FALSE = 94; SqlBaseLexer.FETCH = 95; SqlBaseLexer.FIELDS = 96; SqlBaseLexer.FILTER = 97; SqlBaseLexer.FILEFORMAT = 98; SqlBaseLexer.FIRST = 99; SqlBaseLexer.FOLLOWING = 100; SqlBaseLexer.FOR = 101; SqlBaseLexer.FOREIGN = 102; SqlBaseLexer.FORMAT = 103; SqlBaseLexer.FORMATTED = 104; SqlBaseLexer.FROM = 105; SqlBaseLexer.FULL = 106; SqlBaseLexer.FUNCTION = 107; SqlBaseLexer.FUNCTIONS = 108; SqlBaseLexer.GLOBAL = 109; SqlBaseLexer.GRANT = 110; SqlBaseLexer.GROUP = 111; SqlBaseLexer.GROUPING = 112; SqlBaseLexer.HAVING = 113; SqlBaseLexer.HOUR = 114; SqlBaseLexer.IF = 115; SqlBaseLexer.IGNORE = 116; SqlBaseLexer.IMPORT = 117; SqlBaseLexer.IN = 118; SqlBaseLexer.INDEX = 119; SqlBaseLexer.INDEXES = 120; SqlBaseLexer.INNER = 121; SqlBaseLexer.INPATH = 122; SqlBaseLexer.INPUTFORMAT = 123; SqlBaseLexer.INSERT = 124; SqlBaseLexer.INTERSECT = 125; SqlBaseLexer.INTERVAL = 126; SqlBaseLexer.INTO = 127; SqlBaseLexer.IS = 128; SqlBaseLexer.ITEMS = 129; SqlBaseLexer.JOIN = 130; SqlBaseLexer.KEYS = 131; SqlBaseLexer.LAST = 132; SqlBaseLexer.LATERAL = 133; SqlBaseLexer.LAZY = 134; SqlBaseLexer.LEADING = 135; SqlBaseLexer.LEFT = 136; SqlBaseLexer.LIKE = 137; SqlBaseLexer.LIMIT = 138; SqlBaseLexer.LINES = 139; SqlBaseLexer.LIST = 140; SqlBaseLexer.LOAD = 141; SqlBaseLexer.LOCAL = 142; SqlBaseLexer.LOCATION = 143; SqlBaseLexer.LOCK = 144; SqlBaseLexer.LOCKS = 145; SqlBaseLexer.LOGICAL = 146; SqlBaseLexer.MACRO = 147; SqlBaseLexer.MAP = 148; SqlBaseLexer.MATCHED = 149; SqlBaseLexer.MERGE = 150; SqlBaseLexer.MINUTE = 151; SqlBaseLexer.MONTH = 152; SqlBaseLexer.MSCK = 153; SqlBaseLexer.NAMESPACE = 154; SqlBaseLexer.NAMESPACES = 155; SqlBaseLexer.NATURAL = 156; SqlBaseLexer.NO = 157; SqlBaseLexer.NOT = 158; SqlBaseLexer.NULL = 159; SqlBaseLexer.NULLS = 160; SqlBaseLexer.OF = 161; SqlBaseLexer.ON = 162; SqlBaseLexer.ONLY = 163; SqlBaseLexer.OPTION = 164; SqlBaseLexer.OPTIONS = 165; SqlBaseLexer.OR = 166; SqlBaseLexer.ORDER = 167; SqlBaseLexer.OUT = 168; SqlBaseLexer.OUTER = 169; SqlBaseLexer.OUTPUTFORMAT = 170; SqlBaseLexer.OVER = 171; SqlBaseLexer.OVERLAPS = 172; SqlBaseLexer.OVERLAY = 173; SqlBaseLexer.OVERWRITE = 174; SqlBaseLexer.PARTITION = 175; SqlBaseLexer.PARTITIONED = 176; SqlBaseLexer.PARTITIONS = 177; SqlBaseLexer.PERCENTLIT = 178; SqlBaseLexer.PIVOT = 179; SqlBaseLexer.PLACING = 180; SqlBaseLexer.POSITION = 181; SqlBaseLexer.PRECEDING = 182; SqlBaseLexer.PRIMARY = 183; SqlBaseLexer.PRINCIPALS = 184; SqlBaseLexer.PROPERTIES = 185; SqlBaseLexer.PURGE = 186; SqlBaseLexer.QUERY = 187; SqlBaseLexer.RANGE = 188; SqlBaseLexer.RECORDREADER = 189; SqlBaseLexer.RECORDWRITER = 190; SqlBaseLexer.RECOVER = 191; SqlBaseLexer.REDUCE = 192; SqlBaseLexer.REFERENCES = 193; SqlBaseLexer.REFRESH = 194; SqlBaseLexer.RENAME = 195; SqlBaseLexer.REPAIR = 196; SqlBaseLexer.REPLACE = 197; SqlBaseLexer.RESET = 198; SqlBaseLexer.RESPECT = 199; SqlBaseLexer.RESTRICT = 200; SqlBaseLexer.REVOKE = 201; SqlBaseLexer.RIGHT = 202; SqlBaseLexer.RLIKE = 203; SqlBaseLexer.ROLE = 204; SqlBaseLexer.ROLES = 205; SqlBaseLexer.ROLLBACK = 206; SqlBaseLexer.ROLLUP = 207; SqlBaseLexer.ROW = 208; SqlBaseLexer.ROWS = 209; SqlBaseLexer.SECOND = 210; SqlBaseLexer.SCHEMA = 211; SqlBaseLexer.SELECT = 212; SqlBaseLexer.SEMI = 213; SqlBaseLexer.SEPARATED = 214; SqlBaseLexer.SERDE = 215; SqlBaseLexer.SERDEPROPERTIES = 216; SqlBaseLexer.SESSION_USER = 217; SqlBaseLexer.SET = 218; SqlBaseLexer.SETMINUS = 219; SqlBaseLexer.SETS = 220; SqlBaseLexer.SHOW = 221; SqlBaseLexer.SKEWED = 222; SqlBaseLexer.SOME = 223; SqlBaseLexer.SORT = 224; SqlBaseLexer.SORTED = 225; SqlBaseLexer.START = 226; SqlBaseLexer.STATISTICS = 227; SqlBaseLexer.STORED = 228; SqlBaseLexer.STRATIFY = 229; SqlBaseLexer.STRUCT = 230; SqlBaseLexer.SUBSTR = 231; SqlBaseLexer.SUBSTRING = 232; SqlBaseLexer.SYNC = 233; SqlBaseLexer.TABLE = 234; SqlBaseLexer.TABLES = 235; SqlBaseLexer.TABLESAMPLE = 236; SqlBaseLexer.TBLPROPERTIES = 237; SqlBaseLexer.TEMPORARY = 238; SqlBaseLexer.TERMINATED = 239; SqlBaseLexer.THEN = 240; SqlBaseLexer.TIME = 241; SqlBaseLexer.TO = 242; SqlBaseLexer.TOUCH = 243; SqlBaseLexer.TRAILING = 244; SqlBaseLexer.TRANSACTION = 245; SqlBaseLexer.TRANSACTIONS = 246; SqlBaseLexer.TRANSFORM = 247; SqlBaseLexer.TRIM = 248; SqlBaseLexer.TRUE = 249; SqlBaseLexer.TRUNCATE = 250; SqlBaseLexer.TRY_CAST = 251; SqlBaseLexer.TYPE = 252; SqlBaseLexer.UNARCHIVE = 253; SqlBaseLexer.UNBOUNDED = 254; SqlBaseLexer.UNCACHE = 255; SqlBaseLexer.UNION = 256; SqlBaseLexer.UNIQUE = 257; SqlBaseLexer.UNKNOWN = 258; SqlBaseLexer.UNLOCK = 259; SqlBaseLexer.UNSET = 260; SqlBaseLexer.UPDATE = 261; SqlBaseLexer.USE = 262; SqlBaseLexer.USER = 263; SqlBaseLexer.USING = 264; SqlBaseLexer.VALUES = 265; SqlBaseLexer.VIEW = 266; SqlBaseLexer.VIEWS = 267; SqlBaseLexer.WHEN = 268; SqlBaseLexer.WHERE = 269; SqlBaseLexer.WINDOW = 270; SqlBaseLexer.WITH = 271; SqlBaseLexer.YEAR = 272; SqlBaseLexer.ZONE = 273; SqlBaseLexer.EQ = 274; SqlBaseLexer.NSEQ = 275; SqlBaseLexer.NEQ = 276; SqlBaseLexer.NEQJ = 277; SqlBaseLexer.LT = 278; SqlBaseLexer.LTE = 279; SqlBaseLexer.GT = 280; SqlBaseLexer.GTE = 281; SqlBaseLexer.PLUS = 282; SqlBaseLexer.MINUS = 283; SqlBaseLexer.ASTERISK = 284; SqlBaseLexer.SLASH = 285; SqlBaseLexer.PERCENT = 286; SqlBaseLexer.TILDE = 287; SqlBaseLexer.AMPERSAND = 288; SqlBaseLexer.PIPE = 289; SqlBaseLexer.CONCAT_PIPE = 290; SqlBaseLexer.HAT = 291; SqlBaseLexer.STRING = 292; SqlBaseLexer.BIGINT_LITERAL = 293; SqlBaseLexer.SMALLINT_LITERAL = 294; SqlBaseLexer.TINYINT_LITERAL = 295; SqlBaseLexer.INTEGER_VALUE = 296; SqlBaseLexer.EXPONENT_VALUE = 297; SqlBaseLexer.DECIMAL_VALUE = 298; SqlBaseLexer.FLOAT_LITERAL = 299; SqlBaseLexer.DOUBLE_LITERAL = 300; SqlBaseLexer.BIGDECIMAL_LITERAL = 301; SqlBaseLexer.IDENTIFIER = 302; SqlBaseLexer.BACKQUOTED_IDENTIFIER = 303; SqlBaseLexer.DOUBLEQUOTED_IDENTIFIER = 304; SqlBaseLexer.SIMPLE_COMMENT = 305; SqlBaseLexer.BRACKETED_COMMENT = 306; SqlBaseLexer.WS = 307; SqlBaseLexer.UNRECOGNIZED = 308; // tslint:disable:no-trailing-whitespace SqlBaseLexer.channelNames = ["DEFAULT_TOKEN_CHANNEL", "HIDDEN"]; // tslint:disable:no-trailing-whitespace SqlBaseLexer.modeNames = ["DEFAULT_MODE"]; SqlBaseLexer.ruleNames = [ "T__0", "T__1", "T__2", "T__3", "T__4", "T__5", "T__6", "T__7", "T__8", "T__9", "T__10", "T__11", "T__12", "T__13", "T__14", "ADD", "AFTER", "ALL", "ALTER", "ANALYZE", "AND", "ANTI", "ANY", "ARCHIVE", "ARRAY", "AS", "ASC", "AT", "AUTHORIZATION", "BETWEEN", "BOTH", "BUCKET", "BUCKETS", "BY", "CACHE", "CASCADE", "CASE", "CAST", "CHANGE", "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", "DATA", "DATABASE", "DATABASES", "DBPROPERTIES", "DEFINED", "DELETE", "DELIMITED", "DESC", "DESCRIBE", "DFS", "DIRECTORIES", "DIRECTORY", "DISTINCT", "DISTRIBUTE", "DIV", "DROP", "ELSE", "END", "ESCAPE", "ESCAPED", "EXCEPT", "EXCHANGE", "EXISTS", "EXPLAIN", "EXPORT", "EXTENDED", "EXTERNAL", "EXTRACT", "FALSE", "FETCH", "FIELDS", "FILTER", "FILEFORMAT", "FIRST", "FOLLOWING", "FOR", "FOREIGN", "FORMAT", "FORMATTED", "FROM", "FULL", "FUNCTION", "FUNCTIONS", "GLOBAL", "GRANT", "GROUP", "GROUPING", "HAVING", "HOUR", "IF", "IGNORE", "IMPORT", "IN", "INDEX", "INDEXES", "INNER", "INPATH", "INPUTFORMAT", "INSERT", "INTERSECT", "INTERVAL", "INTO", "IS", "ITEMS", "JOIN", "KEYS", "LAST", "LATERAL", "LAZY", "LEADING", "LEFT", "LIKE", "LIMIT", "LINES", "LIST", "LOAD", "LOCAL", "LOCATION", "LOCK", "LOCKS", "LOGICAL", "MACRO", "MAP", "MATCHED", "MERGE", "MINUTE", "MONTH", "MSCK", "NAMESPACE", "NAMESPACES", "NATURAL", "NO", "NOT", "NULL", "NULLS", "OF", "ON", "ONLY", "OPTION", "OPTIONS", "OR", "ORDER", "OUT", "OUTER", "OUTPUTFORMAT", "OVER", "OVERLAPS", "OVERLAY", "OVERWRITE", "PARTITION", "PARTITIONED", "PARTITIONS", "PERCENTLIT", "PIVOT", "PLACING", "POSITION", "PRECEDING", "PRIMARY", "PRINCIPALS", "PROPERTIES", "PURGE", "QUERY", "RANGE", "RECORDREADER", "RECORDWRITER", "RECOVER", "REDUCE", "REFERENCES", "REFRESH", "RENAME", "REPAIR", "REPLACE", "RESET", "RESPECT", "RESTRICT", "REVOKE", "RIGHT", "RLIKE", "ROLE", "ROLES", "ROLLBACK", "ROLLUP", "ROW", "ROWS", "SECOND", "SCHEMA", "SELECT", "SEMI", "SEPARATED", "SERDE", "SERDEPROPERTIES", "SESSION_USER", "SET", "SETMINUS", "SETS", "SHOW", "SKEWED", "SOME", "SORT", "SORTED", "START", "STATISTICS", "STORED", "STRATIFY", "STRUCT", "SUBSTR", "SUBSTRING", "SYNC", "TABLE", "TABLES", "TABLESAMPLE", "TBLPROPERTIES", "TEMPORARY", "TERMINATED", "THEN", "TIME", "TO", "TOUCH", "TRAILING", "TRANSACTION", "TRANSACTIONS", "TRANSFORM", "TRIM", "TRUE", "TRUNCATE", "TRY_CAST", "TYPE", "UNARCHIVE", "UNBOUNDED", "UNCACHE", "UNION", "UNIQUE", "UNKNOWN", "UNLOCK", "UNSET", "UPDATE", "USE", "USER", "USING", "VALUES", "VIEW", "VIEWS", "WHEN", "WHERE", "WINDOW", "WITH", "YEAR", "ZONE", "EQ", "NSEQ", "NEQ", "NEQJ", "LT", "LTE", "GT", "GTE", "PLUS", "MINUS", "ASTERISK", "SLASH", "PERCENT", "TILDE", "AMPERSAND", "PIPE", "CONCAT_PIPE", "HAT", "STRING", "BIGINT_LITERAL", "SMALLINT_LITERAL", "TINYINT_LITERAL", "INTEGER_VALUE", "EXPONENT_VALUE", "DECIMAL_VALUE", "FLOAT_LITERAL", "DOUBLE_LITERAL", "BIGDECIMAL_LITERAL", "IDENTIFIER", "BACKQUOTED_IDENTIFIER", "DOUBLEQUOTED_IDENTIFIER", "DECIMAL_DIGITS", "EXPONENT", "DIGIT", "LETTER", "SIMPLE_COMMENT", "BRACKETED_COMMENT", "WS", "UNRECOGNIZED" ]; SqlBaseLexer._LITERAL_NAMES = [ undefined, "';'", "'('", "')'", "','", "'.'", "'/*+'", "'*/'", "'->'", "'['", "']'", "'::'", "'->>'", "'#>'", "'#>>'", "':'", "'ADD'", "'AFTER'", "'ALL'", "'ALTER'", "'ANALYZE'", "'AND'", "'ANTI'", "'ANY'", "'ARCHIVE'", "'ARRAY'", "'AS'", "'ASC'", "'AT'", "'AUTHORIZATION'", "'BETWEEN'", "'BOTH'", "'BUCKET'", "'BUCKETS'", "'BY'", "'CACHE'", "'CASCADE'", "'CASE'", "'CAST'", "'CHANGE'", "'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'", "'DATA'", "'DATABASE'", undefined, "'DBPROPERTIES'", "'DEFINED'", "'DELETE'", "'DELIMITED'", "'DESC'", "'DESCRIBE'", "'DFS'", "'DIRECTORIES'", "'DIRECTORY'", "'DISTINCT'", "'DISTRIBUTE'", "'DIV'", "'DROP'", "'ELSE'", "'END'", "'ESCAPE'", "'ESCAPED'", "'EXCEPT'", "'EXCHANGE'", "'EXISTS'", "'EXPLAIN'", "'EXPORT'", "'EXTENDED'", "'EXTERNAL'", "'EXTRACT'", "'FALSE'", "'FETCH'", "'FIELDS'", "'FILTER'", "'FILEFORMAT'", "'FIRST'", "'FOLLOWING'", "'FOR'", "'FOREIGN'", "'FORMAT'", "'FORMATTED'", "'FROM'", "'FULL'", "'FUNCTION'", "'FUNCTIONS'", "'GLOBAL'", "'GRANT'", "'GROUP'", "'GROUPING'", "'HAVING'", "'HOUR'", "'IF'", "'IGNORE'", "'IMPORT'", "'IN'", "'INDEX'", "'INDEXES'", "'INNER'", "'INPATH'", "'INPUTFORMAT'", "'INSERT'", "'INTERSECT'", "'INTERVAL'", "'INTO'", "'IS'", "'ITEMS'", "'JOIN'", "'KEYS'", "'LAST'", "'LATERAL'", "'LAZY'", "'LEADING'", "'LEFT'", "'LIKE'", "'LIMIT'", "'LINES'", "'LIST'", "'LOAD'", "'LOCAL'", "'LOCATION'", "'LOCK'", "'LOCKS'", "'LOGICAL'", "'MACRO'", "'MAP'", "'MATCHED'", "'MERGE'", "'MINUTE'", "'MONTH'", "'MSCK'", "'NAMESPACE'", "'NAMESPACES'", "'NATURAL'", "'NO'", undefined, "'NULL'", "'NULLS'", "'OF'", "'ON'", "'ONLY'", "'OPTION'", "'OPTIONS'", "'OR'", "'ORDER'", "'OUT'", "'OUTER'", "'OUTPUTFORMAT'", "'OVER'", "'OVERLAPS'", "'OVERLAY'", "'OVERWRITE'", "'PARTITION'", "'PARTITIONED'", "'PARTITIONS'", "'PERCENT'", "'PIVOT'", "'PLACING'", "'POSITION'", "'PRECEDING'", "'PRIMARY'", "'PRINCIPALS'", "'PROPERTIES'", "'PURGE'", "'QUERY'", "'RANGE'", "'RECORDREADER'", "'RECORDWRITER'", "'RECOVER'", "'REDUCE'", "'REFERENCES'", "'REFRESH'", "'RENAME'", "'REPAIR'", "'REPLACE'", "'RESET'", "'RESPECT'", "'RESTRICT'", "'REVOKE'", "'RIGHT'", undefined, "'ROLE'", "'ROLES'", "'ROLLBACK'", "'ROLLUP'", "'ROW'", "'ROWS'", "'SECOND'", "'SCHEMA'", "'SELECT'", "'SEMI'", "'SEPARATED'", "'SERDE'", "'SERDEPROPERTIES'", "'SESSION_USER'", "'SET'", "'MINUS'", "'SETS'", "'SHOW'", "'SKEWED'", "'SOME'", "'SORT'", "'SORTED'", "'START'", "'STATISTICS'", "'STORED'", "'STRATIFY'", "'STRUCT'", "'SUBSTR'", "'SUBSTRING'", "'SYNC'", "'TABLE'", "'TABLES'", "'TABLESAMPLE'", "'TBLPROPERTIES'", undefined, "'TERMINATED'", "'THEN'", "'TIME'", "'TO'", "'TOUCH'", "'TRAILING'", "'TRANSACTION'", "'TRANSACTIONS'", "'TRANSFORM'", "'TRIM'", "'TRUE'", "'TRUNCATE'", "'TRY_CAST'", "'TYPE'", "'UNARCHIVE'", "'UNBOUNDED'", "'UNCACHE'", "'UNION'", "'UNIQUE'", "'UNKNOWN'", "'UNLOCK'", "'UNSET'", "'UPDATE'", "'USE'", "'USER'", "'USING'", "'VALUES'", "'VIEW'", "'VIEWS'", "'WHEN'", "'WHERE'", "'WINDOW'", "'WITH'", "'YEAR'", "'ZONE'", undefined, "'<=>'", "'<>'", "'!='", "'<'", undefined, "'>'", undefined, "'+'", "'-'", "'*'", "'/'", "'%'", "'~'", "'&'", "'|'", "'||'", "'^'" ]; SqlBaseLexer._SYMBOLIC_NAMES = [ undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, "ADD", "AFTER", "ALL", "ALTER", "ANALYZE", "AND", "ANTI", "ANY", "ARCHIVE", "ARRAY", "AS", "ASC", "AT", "AUTHORIZATION", "BETWEEN", "BOTH", "BUCKET", "BUCKETS", "BY", "CACHE", "CASCADE", "CASE", "CAST", "CHANGE", "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", "DATA", "DATABASE", "DATABASES", "DBPROPERTIES", "DEFINED", "DELETE", "DELIMITED", "DESC", "DESCRIBE", "DFS", "DIRECTORIES", "DIRECTORY", "DISTINCT", "DISTRIBUTE", "DIV", "DROP", "ELSE", "END", "ESCAPE", "ESCAPED", "EXCEPT", "EXCHANGE", "EXISTS", "EXPLAIN", "EXPORT", "EXTENDED", "EXTERNAL", "EXTRACT", "FALSE", "FETCH", "FIELDS", "FILTER", "FILEFORMAT", "FIRST", "FOLLOWING", "FOR", "FOREIGN", "FORMAT", "FORMATTED", "FROM", "FULL", "FUNCTION", "FUNCTIONS", "GLOBAL", "GRANT", "GROUP", "GROUPING", "HAVING", "HOUR", "IF", "IGNORE", "IMPORT", "IN", "INDEX", "INDEXES", "INNER", "INPATH", "INPUTFORMAT", "INSERT", "INTERSECT", "INTERVAL", "INTO", "IS", "ITEMS", "JOIN", "KEYS", "LAST", "LATERAL", "LAZY", "LEADING", "LEFT", "LIKE", "LIMIT", "LINES", "LIST", "LOAD", "LOCAL", "LOCATION", "LOCK", "LOCKS", "LOGICAL", "MACRO", "MAP", "MATCHED", "MERGE", "MINUTE", "MONTH", "MSCK", "NAMESPACE", "NAMESPACES", "NATURAL", "NO", "NOT", "NULL", "NULLS", "OF", "ON", "ONLY", "OPTION", "OPTIONS", "OR", "ORDER", "OUT", "OUTER", "OUTPUTFORMAT", "OVER", "OVERLAPS", "OVERLAY", "OVERWRITE", "PARTITION", "PARTITIONED", "PARTITIONS", "PERCENTLIT", "PIVOT", "PLACING", "POSITION", "PRECEDING", "PRIMARY", "PRINCIPALS", "PROPERTIES", "PURGE", "QUERY", "RANGE", "RECORDREADER", "RECORDWRITER", "RECOVER", "REDUCE", "REFERENCES", "REFRESH", "RENAME", "REPAIR", "REPLACE", "RESET", "RESPECT", "RESTRICT", "REVOKE", "RIGHT", "RLIKE", "ROLE", "ROLES", "ROLLBACK", "ROLLUP", "ROW", "ROWS", "SECOND", "SCHEMA", "SELECT", "SEMI", "SEPARATED", "SERDE", "SERDEPROPERTIES", "SESSION_USER", "SET", "SETMINUS", "SETS", "SHOW", "SKEWED", "SOME", "SORT", "SORTED", "START", "STATISTICS", "STORED", "STRATIFY", "STRUCT", "SUBSTR", "SUBSTRING", "SYNC", "TABLE", "TABLES", "TABLESAMPLE", "TBLPROPERTIES", "TEMPORARY", "TERMINATED", "THEN", "TIME", "TO", "TOUCH", "TRAILING", "TRANSACTION", "TRANSACTIONS", "TRANSFORM", "TRIM", "TRUE", "TRUNCATE", "TRY_CAST", "TYPE", "UNARCHIVE", "UNBOUNDED", "UNCACHE", "UNION", "UNIQUE", "UNKNOWN", "UNLOCK", "UNSET", "UPDATE", "USE", "USER", "USING", "VALUES", "VIEW", "VIEWS", "WHEN", "WHERE", "WINDOW", "WITH", "YEAR", "ZONE", "EQ", "NSEQ", "NEQ", "NEQJ", "LT", "LTE", "GT", "GTE", "PLUS", "MINUS", "ASTERISK", "SLASH", "PERCENT", "TILDE", "AMPERSAND", "PIPE", "CONCAT_PIPE", "HAT", "STRING", "BIGINT_LITERAL", "SMALLINT_LITERAL", "TINYINT_LITERAL", "INTEGER_VALUE", "EXPONENT_VALUE", "DECIMAL_VALUE", "FLOAT_LITERAL", "DOUBLE_LITERAL", "BIGDECIMAL_LITERAL", "IDENTIFIER", "BACKQUOTED_IDENTIFIER", "DOUBLEQUOTED_IDENTIFIER", "SIMPLE_COMMENT", "BRACKETED_COMMENT", "WS", "UNRECOGNIZED" ]; SqlBaseLexer.VOCABULARY = new VocabularyImpl_1.VocabularyImpl(SqlBaseLexer._LITERAL_NAMES, SqlBaseLexer._SYMBOLIC_NAMES, []); SqlBaseLexer._serializedATNSegments = 5; SqlBaseLexer._serializedATNSegment0 = "\x03\uC91D\uCABA\u058D\uAFBA\u4F53\u0607\uEA8B\uC241\x02\u0136\u0B1B\b" + "\x01\x04\x02\t\x02\x04\x03\t\x03\x04\x04\t\x04\x04\x05\t\x05\x04\x06\t" + "\x06\x04\x07\t\x07\x04\b\t\b\x04\t\t\t\x04\n\t\n\x04\v\t\v\x04\f\t\f\x04" + "\r\t\r\x04\x0E\t\x0E\x04\x0F\t\x0F\x04\x10\t\x10\x04\x11\t\x11\x04\x12" + "\t\x12\x04\x13\t\x13\x04\x14\t\x14\x04\x15\t\x15\x04\x16\t\x16\x04\x17" + "\t\x17\x04\x18\t\x18\x04\x19\t\x19\x04\x1A\t\x1A\x04\x1B\t\x1B\x04\x1C" + '\t\x1C\x04\x1D\t\x1D\x04\x1E\t\x1E\x04\x1F\t\x1F\x04 \t \x04!\t!\x04"' + "\t\"\x04#\t#\x04$\t$\x04%\t%\x04&\t&\x04'\t'\x04(\t(\x04)\t)\x04*\t" + "*\x04+\t+\x04,\t,\x04-\t-\x04.\t.\x04/\t/\x040\t0\x041\t1\x042\t2\x04" + "3\t3\x044\t4\x045\t5\x046\t6\x047\t7\x048\t8\x049\t9\x04:\t:\x04;\t;\x04" + "<\t<\x04=\t=\x04>\t>\x04?\t?\x04@\t@\x04A\tA\x04B\tB\x04C\tC\x04D\tD\x04" + "E\tE\x04F\tF\x04G\tG\x04H\tH\x04I\tI\x04J\tJ\x04K\tK\x04L\tL\x04M\tM\x04" + "N\tN\x04O\tO\x04P\tP\x04Q\tQ\x04R\tR\x04S\tS\x04T\tT\x04U\tU\x04V\tV\x04" + "W\tW\x04X\tX\x04Y\tY\x04Z\tZ\x04[\t[\x04\\\t\\\x04]\t]\x04^\t^\x04_\t" + "_\x04`\t`\x04a\ta\x04b\tb\x04c\tc\x04d\td\x04e\te\x04f\tf\x04g\tg\x04" + "h\th\x04i\ti\x04j\tj\x04k\tk\x04l\tl\x04m\tm\x04n\tn\x04o\to\x04p\tp\x04" + "q\tq\x04r\tr\x04s\ts\x04t\tt\x04u\tu\x04v\tv\x04w\tw\x04x\tx\x04y\ty\x04" + "z\tz\x04{\t{\x04|\t|\x04}\t}\x04~\t~\x04\x7F\t\x7F\x04\x80\t\x80\x04\x81" + "\t\x81\x04\x82\t\x82\x04\x83\t\x83\x04\x84\t\x84\x04\x85\t\x85\x04\x86" + "\t\x86\x04\x87\t\x87\x04\x88\t\x88\x04\x89\t\x89\x04\x8A\t\x8A\x04\x8B" + "\t\x8B\x04\x8C\t\x8C\x04\x8D\t\x8D\x04\x8E\t\x8E\x04\x8F\t\x8F\x04\x90" + "\t\x90\x04\x91\t\x91\x04\x92\t\x92\x04\x93\t\x93\x04\x94\t\x94\x04\x95" + "\t\x95\x04\x96\t\x96\x04\x97\t\x97\x04\x98\t\x98\x04\x99\t\x99\x04\x9A" + "\t\x9A\x04\x9B\t\x9B\x04\x9C\t\x9C\x04\x9D\t\x9D\x04\x9E\t\x9E\x04\x9F" + "\t\x9F\x04\xA0\t\xA0\x04\xA1\t\xA1\x04\xA2\t\xA2\x04\xA3\t\xA3\x04\xA4" + "\t\xA4\x04\xA5\t\xA5\x04\xA6\t\xA6\x04\xA7\t\xA7\x04\xA8\t\xA8\x04\xA9" + "\t\xA9\x04\xAA\t\xAA\x04\xAB\t\xAB\x04\xAC\t\xAC\x04\xAD\t\xAD\x04\xAE" + "\t\xAE\x04\xAF\t\xAF\x04\xB0\t\xB0\x04\xB1\t\xB1\x04\xB2\t\xB2\x04\xB3" + "\t\xB3\x04\xB4\t\xB4\x04\xB5\t\xB5\x04\xB6\t\xB6\x04\xB7\t\xB7\x04\xB8" + "\t\xB8\x04\xB9\t\xB9\x04\xBA\t\xBA\x04\xBB\t\xBB\x04\xBC\t\xBC\x04\xBD" + "\t\xBD\x04\xBE\t\xBE\x04\xBF\t\xBF\x04\xC0\t\xC0\x04\xC1\t\xC1\x04\xC2" + "\t\xC2\x04\xC3\t\xC3\x04\xC4\t\xC4\x04\xC5\t\xC5\x04\xC6\t\xC6\x04\xC7" + "\t\xC7\x04\xC8\t\xC8\x04\xC9\t\xC9\x04\xCA\t\xCA\x04\xCB\t\xCB\x04\xCC" + "\t\xCC\x04\xCD\t\xCD\x04\xCE\t\xCE\x04\xCF\t\xCF\x04\xD0\t\xD0\x04\xD1" + "\t\xD1\x04\xD2\t\xD2\x04\xD3\t\xD3\x04\xD4\t\xD4\x04\xD5\t\xD5\x04\xD6" + "\t\xD6\x04\xD7\t\xD7\x04\xD8\t\xD8\x04\xD9\t\xD9\x04\xDA\t\xDA\x04\xDB" + "\t\xDB\x04\xDC\t\xDC\x04\xDD\t\xDD\x04\xDE\t\xDE\x04\xDF\t\xDF\x04\xE0" + "\t\xE0\x04\xE1\t\xE1\x04\xE2\t\xE2\x04\xE3\t\xE3\x04\xE4\t\xE4\x04\xE5" + "\t\xE5\x04\xE6\t\xE6\x04\xE7\t\xE7\x04\xE8\t\xE8\x04\xE9\t\xE9\x04\xEA" + "\t\xEA\x04\xEB\t\xEB\x04\xEC\t\xEC\x04\xED\t\xED\x04\xEE\t\xEE\x04\xEF" + "\t\xEF\x04\xF0\t\xF0\x04\xF1\t\xF1\x04\xF2\t\xF2\x04\xF3\t\xF3\x04\xF4" + "\t\xF4\x04\xF5\t\xF5\x04\xF6\t\xF6\x04\xF7\t\xF7\x04\xF8\t\xF8\x04\xF9" + "\t\xF9\x04\xFA\t\xFA\x04\xFB\t\xFB\x04\xFC\t\xFC\x04\xFD\t\xFD\x04\xFE" + "\t\xFE\x04\xFF\t\xFF\x04\u0100\t\u0100\x04\u0101\t\u0101\x04\u0102\t\u0102" + "\x04\u0103\t\u0103\x04\u0104\t\u0104\x04\u0105\t\u0105\x04\u0106\t\u0106" + "\x04\u0107\t\u0107\x04\u0108\t\u0108\x04\u0109\t\u0109\x04\u010A\t\u010A" + "\x04\u010B\t\u010B\x04\u010C\t\u010C\x04\u010D\t\u010D\x04\u010E\t\u010E" + "\x04\u010F\t\u010F\x04\u0110\t\u0110\x04\u0111\t\u0111\x04\u0112\t\u0112" + "\x04\u0113\t\u0113\x04\u0114\t\u0114\x04\u0115\t\u0115\x04\u0116\t\u0116" + "\x04\u0117\t\u0117\x04\u0118\t\u0118\x04\u0119\t\u0119\x04\u011A\t\u011A" + "\x04\u011B\t\u011B\x04\u011C\t\u011C\x04\u011D\t\u011D\x04\u011E\t\u011E" + "\x04\u011F\t\u011F\x04\u0120\t\u0120\x04\u0121\t\u0121\x04\u0122\t\u0122" + "\x04\u0123\t\u0123\x04\u0124\t\u0124\x04\u0125\t\u0125\x04\u0126\t\u0126" + "\x04\u0127\t\u0127\x04\u0128\t\u0128\x04\u0129\t\u0129\x04\u012A\t\u012A" + "\x04\u012B\t\u012B\x04\u012C\t\u012C\x04\u012D\t\u012D\x04\u012E\t\u012E" + "\x04\u012F\t\u012F\x04\u0130\t\u0130\x04\u0131\t\u0131\x04\u0132\t\u0132" + "\x04\u0133\t\u0133\x04\u0134\t\u0134\x04\u0135\t\u0135\x04\u0136\t\u0136" + "\x04\u0137\t\u0137\x04\u0138\t\u0138\x04\u0139\t\u0139\x03\x02\x03\x02" + "\x03\x03\x03\x03\x03\x04\x03\x04\x03\x05\x03\x05\x03\x06\x03\x06\x03\x07" + "\x03\x07\x03\x07\x03\x07\x03\b\x03\b\x03\b\x03\t\x03\t\x03\t\x03\n\x03" + "\n\x03\v\x03\v\x03\f\x03\f\x03\f\x03\r\x03\r\x03\r\x03\r\x03\x0E\x03\x0E" + "\x03\x0E\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x10\x03\x10\x03\x11\x03\x11" + "\x03\x11\x03\x11\x03\x12\x03\x12\x03\x12\x03\x12\x03\x12\x03\x12\x03\x13" + "\x03\x13\x03\x13\x03\x13\x03\x14\x03\x14\x03\x14\x03\x14\x03\x14\x03\x14" + "\x03\x15\x03\x15\x03\x15\x03\x15\x03\x15\x03\x15\x03\x15\x03\x15\x03\x16" + "\x03\x16\x03\x16\x03\x16\x03\x17\x03\x17\x03\x17\x03\x17\x03\x17\x03\x18" + "\x03\x18\x03\x18\x03\x18\x03\x19\x03\x19\x03\x19\x03\x19\x03\x19\x03\x19" + "\x03\x19\x03\x19\x03\x1A\x03\x1A\x03\x1A\x03\x1A\x03\x1A\x03\x1A\x03\x1B" + "\x03\x1B\x03\x1B\x03\x1C\x03\x1C\x03\x1C\x03\x1C\x03\x1D\x03\x1D\x03\x1D" + "\x03\x1E\x03\x1E\x03\x1E\x03\x1E\x03\x1E\x03\x1E\x03\x1E\x03\x1E\x03\x1E" + "\x03\x1E\x03\x1E\x03\x1E\x03\x1E\x03\x1E\x03\x1F\x03\x1F\x03\x1F\x03\x1F" + "\x03\x1F\x03\x1F\x03\x1F\x03\x1F\x03 \x03 \x03 \x03 \x03 \x03!\x03!\x03" + '!\x03!\x03!\x03!\x03!\x03"\x03"\x03"\x03"\x03"\x03"\x03"\x03"' + "\x03#\x03#\x03#\x03$\x03$\x03$\x03$\x03$\x03$\x03%\x03%\x03%\x03%\x03" + "%\x03%\x03%\x03%\x03&\x03&\x03&\x03&\x03&\x03'\x03'\x03'\x03'\x03" + "'\x03(\x03(\x03(\x03(\x03(\x03(\x03(\x03)\x03)\x03)\x03)\x03)\x03)\x03" + "*\x03*\x03*\x03*\x03*\x03*\x03+\x03+\x03+\x03+\x03+\x03+\x03+\x03+\x03" + ",\x03,\x03,\x03,\x03,\x03,\x03,\x03,\x03,\x03,\x03-\x03-\x03-\x03-\x03" + "-\x03-\x03-\x03-\x03.\x03.\x03.\x03.\x03.\x03.\x03.\x03.\x03/\x03/\x03" + "/\x03/\x03/\x03/\x03/\x03/\x03/\x03/\x03/\x030\x030\x030\x030\x030\x03" + "0\x030\x031\x031\x031\x031\x031\x031\x031\x031\x032\x032\x032\x032\x03" + "2\x032\x032\x032\x033\x033\x033\x033\x033\x033\x033\x034\x034\x034\x03" + "4\x034\x034\x034\x034\x035\x035\x035\x035\x035\x035\x035\x035\x035\x03" + "5\x035\x035\x036\x036\x036\x036\x036\x036\x036\x036\x037\x037\x037\x03" + "7\x037\x037\x037\x037\x037\x037\x037\x037\x038\x038\x038\x038\x038\x03" + "8\x038\x038\x038\x038\x038\x039\x039\x039\x039\x039\x03:\x03:\x03:\x03" + ":\x03:\x03:\x03:\x03;\x03;\x03;\x03;\x03;\x03;\x03<\x03<\x03<\x03<\x03" + "<\x03=\x03=\x03=\x03=\x03=\x03=\x03=\x03=\x03>\x03>\x03>\x03>\x03>\x03" + ">\x03>\x03>\x03>\x03>\x03>\x03>\x03>\x03?\x03?\x03?\x03?\x03?\x03?\x03" + "?\x03?\x03?\x03?\x03?\x03?\x03?\x03@\x03@\x03@\x03@\x03@\x03@\x03@\x03" + "@\x03@\x03@\x03@\x03@\x03@\x03@\x03@\x03@\x03@\x03@\x03A\x03A\x03A\x03" + "A\x03A\x03A\x03A\x03A\x03A\x03A\x03A\x03A\x03A\x03B\x03B\x03B\x03B\x03" + "C\x03C\x03C\x03C\x03C\x03D\x03D\x03D\x03D\x03D\x03D\x03D\x03D\x03D\x03" + "E\x03E\x03E\x03E\x03E\x03E\x03E\x03E\x03E\x03E\x03E\x03E\x03E\x03E\x03" + "E\x03E\x05E\u042D\nE\x03F\x03F\x03F\x03F\x03F\x03F\x03F\x03F\x03F\x03" + "F\x03F\x03F\x03F\x03G\x03G\x03G\x03G\x03G\x03G\x03G\x03G\x03H\x03H\x03" + "H\x03H\x03H\x03H\x03H\x03I\x03I\x03I\x03I\x03I\x03I\x03I\x03I\x03I\x03" + "I\x03J\x03J\x03J\x03J\x03J\x03K\x03K\x03K\x03K\x03K\x03K\x03K\x03K\x03" + "K\x03L\x03L\x03L\x03L\x03M\x03M\x03M\x03M\x03M\x03M\x03M\x03M\x03M\x03" + "M\x03M\x03M\x03N\x03N\x03N\x03N\x03N\x03N\x03N\x03N\x03N\x03N\x03O\x03" + "O\x03O\x03O\x03O\x03O\x03O\x03O\x03O\x03P\x03P\x03P\x03P\x03P\x03P\x03" + "P\x03P\x03P\x03P\x03P\x03Q\x03Q\x03Q\x03Q\x03R\x03R\x03R\x03R\x03R\x03" + "S\x03S\x03S\x03S\x03S\x03T\x03T\x03T\x03T\x03U\x03U\x03U\x03U\x03U\x03" + "U\x03U\x03V\x03V\x03V\x03V\x03V\x03V\x03V\x03V\x03W\x03W\x03W\x03W\x03" + "W\x03W\x03W\x03X\x03X\x03X\x03X\x03X\x03X\x03X\x03X\x03X\x03Y\x03Y\x03" + "Y\x03Y\x03Y\x03Y\x03Y\x03Z\x03Z\x03Z\x03Z\x03Z\x03Z\x03Z\x03Z\x03[\x03" + "[\x03[\x03[\x03[\x03[\x03[\x03\\\x03\\\x03\\\x03\\\x03\\\x03\\\x03\\\x03" + "\\\x03\\\x03]\x03]\x03]\x03]\x03]\x03]\x03]\x03]\x03]\x03^\x03^\x03^\x03" + "^\x03^\x03^\x03^\x03^\x03_\x03_\x03_\x03_\x03_\x03_\x03`\x03`\x03`\x03" + "`\x03`\x03`\x03a\x03a\x03a\x03a\x03a\x03a\x03a\x03b\x03b\x03b\x03b\x03" + "b\x03b\x03b\x03c\x03c\x03c\x03c\x03c\x03c\x03c\x03c\x03c\x03c\x03c\x03" + "d\x03d\x03d\x03d\x03d\x03d\x03e\x03e\x03e\x03e\x03e\x03e\x03e\x03e\x03" + "e\x03e\x03f\x03f\x03f\x03f\x03g\x03g\x03g\x03g\x03g\x03g\x03g\x03g\x03" + "h\x03h\x03h\x03h\x03h\x03h\x03h\x03i\x03i\x03i\x03i\x03i\x03i\x03i\x03" + "i\x03i\x03i\x03j\x03j\x03j\x03j\x03j\x03k\x03k\x03k\x03k\x03k\x03l\x03" + "l\x03l\x03l\x03l\x03l\x03l\x03l\x03l\x03m\x03m\x03m\x03m\x03m\x03m\x03" + "m\x03m\x03m\x03m\x03n\x03n\x03n\x03n\x03n\x03n\x03n\x03o\x03o\x03o\x03" + "o\x03o\x03o\x03p\x03p\x03p\x03p\x03p\x03p\x03q\x03q\x03q\x03q\x03q\x03" + "q\x03q\x03q\x03q\x03r\x03r\x03r\x03r\x03r\x03r\x03r\x03s\x03s\x03s\x03" + "s\x03s\x03t\x03t\x03t\x03u\x03u\x03u\x03u\x03u\x03u\x03u\x03v\x03v\x03" + "v\x03v\x03v\x03v\x03v\x03w\x03w\x03w\x03x\x03x\x03x\x03x\x03x\x03x\x03" + "y\x03y\x03y\x03y\x03y\x03y\x03y\x03y\x03z\x03z\x03z\x03z\x03z\x03z\x03" + "{\x03{\x03{\x03{\x03{\x03{\x03{\x03|\x03|\x03|\x03|\x03|\x03|\x03|\x03" + "|\x03|\x03|\x03|\x03|\x03}\x03}\x03}\x03}\x03}\x03}\x03}\x03~\x03~\x03" + "~\x03~\x03~\x03~\x03~\x03~\x03~\x03~\x03\x7F\x03\x7F\x03\x7F\x03\x7F\x03" + "\x7F\x03\x7F\x03\x7F\x03\x7F\x03\x7F\x03\x80\x03\x80\x03\x80\x03\x80\x03" + "\x80\x03\x81\x03\x81\x03\x81\x03\x82\x03\x82\x03\x82\x03\x82\x03\x82\x03" + "\x82\x03\x83\x03\x83\x03\x83\x03\x83\x03\x83\x03\x84\x03\x84\x03\x84\x03" + "\x84\x03\x84\x03\x85\x03\x85\x03\x85\x03\x85\x03\x85\x03\x86\x03\x86\x03" + "\x86\x03\x86\x03\x86\x03\x86\x03\x86\x03\x86\x03\x87\x03\x87\x03\x87\x03" + "\x87\x03\x87\x03\x88\x03\x88\x03\x88\x03\x88\x03\x88\x03\x88\x03\x88\x03" + "\x88\x03\x89\x03\x89\x03\x89\x03\x89\x03\x89\x03\x8A\x03\x8A\x03\x8A\x03" + "\x8A\x03\x8A\x03\x8B\x03\x8B\x03\x8B\x03\x8B\x03\x8B\x03\x8B\x03\x8C\x03" + "\x8C\x03\x8C\x03\x8C\x03\x8C\x03\x8C\x03\x8D\x03\x8D\x03\x8D\x03\x8D\x03" + "\x8D\x03\x8E\x03\x8E\x03\x8E\x03\x8E\x03\x8E\x03\x8F\x03\x8F\x03\x8F\x03" + "\x8F\x03\x8F\x03\x8F\x03\x90\x03\x90\x03\x90\x03\x90\x03\x90\x03\x90\x03" + "\x90\x03\x90\x03\x90\x03\x91\x03\x91\x03\x91\x03\x91\x03\x91\x03\x92\x03" + "\x92\x03\x92\x03\x92\x03\x92\x03\x92\x03\x93\x03\x93\x03\x93\x03\x93\x03" + "\x93\x03\x93\x03\x93\x03\x93\x03\x94\x03\x94\x03\x94\x03\x94\x03\x94\x03" + "\x94\x03\x95\x03\x95\x03\x95\x03\x95\x03\x96\x03\x96\x03\x96\x03\x96\x03" + "\x96\x03\x96\x03\x96\x03\x96\x03\x97\x03\x97\x03\x97\x03\x97\x03\x97\x03" + "\x97\x03\x98\x03\x98\x03\x98\x03\x98\x03\x98\x03\x98\x03\x98\x03\x99\x03" + "\x99\x03\x99\x03\x99\x03\x99\x03\x99\x03\x9A\x03\x9A\x03\x9A\x03\x9A\x03" + "\x9A\x03\x9B\x03\x9B\x03\x9B\x03\x9B\x03\x9B\x03\x9B\x03\x9B\x03\x9B\x03" + "\x9B\x03\x9B\x03\x9C\x03\x9C\x03\x9C\x03\x9C\x03\x9C\x03\x9C\x03\x9C\x03" + "\x9C\x03\x9C\x03\x9C\x03\x9C\x03\x9D\x03\x9D\x03\x9D\x03\x9D\x03\x9D\x03" + "\x9D\x03\x9D\x03\x9D\x03\x9E\x03\x9E\x03\x9E\x03\x9F\x03\x9F\x03\x9F\x03" + "\x9F\x05\x9F\u06A0\n\x9F\x03\xA0\x03\xA0\x03\xA0\x03\xA0\x03\xA0\x03\xA1" + "\x03\xA1\x03\xA1\x03\xA1\x03\xA1\x03\xA1\x03\xA2\x03\xA2\x03\xA2\x03\xA3" + "\x03\xA3\x03\xA3\x03\xA4\x03\xA4\x03\xA4\x03\xA4\x03\xA4\x03\xA5\x03\xA5" + "\x03\xA5\x03\xA5\x03\xA5\x03\xA5\x03\xA5\x03\xA6\x03\xA6\x03\xA6\x03\xA6" + "\x03\xA6\x03\xA6\x03\xA6\x03\xA6\x03\xA7\x03\xA7\x03\xA7\x03\xA8\x03\xA8" + "\x03\xA8\x03\xA8\x03\xA8\x03\xA8\x03\xA9\x03\xA9\x03\xA9\x03\xA9\x03\xAA" + "\x03\xAA\x03\xAA\x03\xAA\x03\xAA\x03\xAA\x03\xAB\x03\xAB\x03\xAB\x03\xAB" + "\x03\xAB\x03\xAB\x03\xAB\x03\xAB\x03\xAB\x03\xAB\x03\xAB\x03\xAB\x03\xAB" + "\x03\xAC\x03\xAC\x03\xAC\x03\xAC\x03\xAC\x03\xAD\x03\xAD\x03\xAD\x03\xAD" + "\x03\xAD\x03\xAD\x03\xAD\x03\xAD\x03\xAD\x03\xAE\x03\xAE\x03\xAE\x03\xAE" + "\x03\xAE\x03\xAE\x03\xAE\x03\xAE\x03\xAF\x03\xAF\x03\xAF\x03\xAF\x03\xAF" + "\x03\xAF\x03\xAF\x03\xAF\x03\xAF\x03\xAF\x03\xB0\x03\xB0\x03\xB0\x03\xB0" + "\x03\xB0\x03\xB0\x03\xB0\x03\xB0\x03\xB0\x03\xB0\x03\xB1\x03\xB1\x03\xB1" + "\x03\xB1\x03\xB1\x03\xB1\x03\xB1\x03\xB1\x03\xB1\x03\xB1\x03\xB1\x03\xB1" + "\x03\xB2\x03\xB2\x03\xB2\x03\xB2\x03\xB2\x03\xB2\x03\xB2\x03\xB2\x03\xB2" + "\x03\xB2\x03\xB2\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3" + "\x03\xB3\x03\xB4\x03\xB4\x03\xB4\x03\xB4\x03\xB4\x03\xB4\x03\xB5\x03\xB5" + "\x03\xB5\x03\xB5\x03\xB5\x03\xB5\x03\xB5\x03\xB5\x03\xB6\x03\xB6\x03\xB6" + "\x03\xB6\x03\xB6\x03\xB6\x03\xB6\x03\xB6\x03\xB6\x03\xB7\x03\xB7\x03\xB7" + "\x03\xB7\x03\xB7\x03\xB7\x03\xB7\x03\xB7\x03\xB7\x03\xB7\x03\xB8\x03\xB8" + "\x03\xB8\x03\xB8\x03\xB8\x03\xB8\x03\xB8\x03\xB8\x03\xB9\x03\xB9\x03\xB9" + "\x03\xB9\x03\xB9\x03\xB9\x03\xB9\x03\xB9\x03\xB9\x03\xB9\x03\xB9\x03\xBA" + "\x03\xBA\x03\xBA\x03\xBA\x03\xBA\x03\xBA\x03\xBA\x03\xBA\x03\xBA\x03\xBA" + "\x03\xBA\x03\xBB\x03\xBB\x03\xBB\x03\xBB\x03\xBB\x03\xBB\x03\xBC\x03\xBC" + "\x03\xBC\x03\xBC\x03\xBC\x03\xBC\x03\xBD\x03\xBD\x03\xBD\x03\xBD\x03\xBD" + "\x03\xBD\x03\xBE\x03\xBE\x03\xBE\x03\xBE\x03\xBE\x03\xBE\x03\xBE\x03\xBE" + "\x03\xBE\x03\xBE\x03\xBE\x03\xBE\x03\xBE\x03\xBF\x03\xBF\x03\xBF\x03\xBF" + "\x03\xBF\x03\xBF\x03\xBF\x03\xBF\x03\xBF\x03\xBF\x03\xBF\x03\xBF\x03\xBF" + "\x03\xC0\x03\xC0\x03\xC0\x03\xC0\x03\xC0\x03\xC0\x03\xC0\x03\xC0\x03\xC1" + "\x03\xC1\x03\xC1\x03\xC1\x03\xC1\x03\xC1\x03\xC1\x03\xC2\x03\xC2\x03\xC2" + "\x03\xC2\x03\xC2\x03\xC2\x03\xC2\x03\xC2\x03\xC2\x03\xC2\x03\xC2\x03\xC3" + "\x03\xC3\x03\xC3\x03\xC3\x03\xC3\x03\xC3\x03\xC3\x03\xC3\x03\xC4\x03\xC4" + "\x03\xC4\x03\xC4\x03\xC4\x03\xC4\x03\xC4\x03\xC5\x03\xC5\x03\xC5\x03\xC5" + "\x03\xC5\x03\xC5\x03\xC5\x03\xC6\x03\xC6\x03\xC6\x03\xC6\x03\xC6\x03\xC6" + "\x03\xC6\x03\xC6\x03\xC7\x03\xC7\x03\xC7\x03\xC7\x03\xC7\x03\xC7\x03\xC8" + "\x03\xC8\x03\xC8\x03\xC8\x03\xC8\x03\xC8\x03\xC8\x03\xC8\x03\xC9\x03\xC9" + "\x03\xC9\x03\xC9\x03\xC9\x03\xC9\x03\xC9\x03\xC9\x03\xC9\x03\xCA\x03\xCA" + "\x03\xCA\x03\xCA\x03\xCA\x03\xCA\x03\xCA\x03\xCB\x03\xCB\x03\xCB\x03\xCB" + "\x03\xCB\x03\xCB\x03\xCC\x03\xCC\x03\xCC\x03\xCC\x03\xCC\x03\xCC\x03\xCC" + "\x03\xCC\x03\xCC\x03\xCC\x03\xCC\x05\xCC\u0802\n\xCC\x03\xCD\x03\xCD\x03" + "\xCD\x03\xCD\x03\xCD\x03\xCE\x03\xCE\x03\xCE\x03\xCE\x03\xCE\x03\xCE\x03" + "\xCF\x03\xCF\x03\xCF\x03\xCF\x03\xCF\x03\xCF\x03\xCF\x03\xCF\x03\xCF\x03" + "\xD0\x03\xD0\x03\xD0\x03\xD0\x03\xD0\x03\xD0\x03\xD0\x03\xD1\x03\xD1\x03" + "\xD1\x03\xD1\x03\xD2\x03\xD2\x03\xD2\x03\xD2\x03\xD2\x03\xD3\x03\xD3\x03" + "\xD3\x03\xD3\x03\xD3\x03\xD3\x03\xD3\x03\xD4\x03\xD4\x03\xD4\x03\xD4\x03" + "\xD4\x03\xD4\x03\xD4\x03\xD5\x03\xD5\x03\xD5\x03\xD5\x03\xD5\x03\xD5\x03" + "\xD5\x03\xD6\x03\xD6\x03\xD6\x03\xD6\x03\xD6\x03\xD7\x03\xD7\x03\xD7\x03" + "\xD7\x03\xD7\x03\xD7\x03\xD7\x03\xD7\x03\xD7\x03\xD7\x03\xD8\x03\xD8\x03" + "\xD8\x03\xD8\x03\xD8\x03\xD8\x03\xD9\x03\xD9\x03\xD9\x03\xD9\x03\xD9\x03" + "\xD9\x03\xD9\x03\xD9\x03\xD9\x03\xD9\x03\xD9\x03\xD9\x03\xD9\x03\xD9\x03" + "\xD9\x03\xD9\x03\xDA\x03\xDA\x03\xDA\x03\xDA\x03\xDA\x03\xDA\x03\xDA\x03" + "\xDA\x03\xDA\x03\xDA\x03\xDA\x03\xDA\x03\xDA\x03\xDB\x03\xDB\x03\xDB\x03" + "\xDB\x03\xDC\x03\xDC\x03\xDC\x03\xDC\x03\xDC\x03\xDC\x03\xDD\x03\xDD\x03" + "\xDD\x03\xDD\x03\xDD\x03\xDE\x03\xDE\x03\xDE\x03\xDE\x03\xDE\x03\xDF\x03" + "\xDF\x03\xDF\x03\xDF\x03\xDF\x03\xDF\x03\xDF\x03\xE0\x03\xE0\x03\xE0\x03" + "\xE0\x03\xE0\x03\xE1\x03\xE1\x03\xE1\x03\xE1\x03\xE1\x03\xE2\x03\xE2\x03" + "\xE2\x03\xE2\x03\xE2\x03\xE2\x03\xE2\x03\xE3\x03\xE3\x03\xE3\x03\xE3\x03" + "\xE3\x03\xE3\x03\xE4\x03\xE4\x03\xE4\x03\xE4\x03\xE4\x03\xE4\x03\xE4\x03" + "\xE4\x03\xE4\x03\xE4\x03\xE4\x03\xE5\x03\xE5\x03\xE5\x03\xE5\x03\xE5\x03" + "\xE5\x03\xE5\x03\xE6\x03\xE6\x03\xE6\x03\xE6\x03\xE6\x03\xE6\x03\xE6\x03" + "\xE6\x03\xE6\x03\xE7\x03\xE7\x03\xE7\x03\xE7\x03\xE7\x03\xE7\x03\xE7\x03" + "\xE8\x03\xE8\x03\xE8\x03\xE8\x03\xE8\x03\xE8\x03\xE8\x03\xE9\x03\xE9\x03" + "\xE9\x03\xE9\x03\xE9\x03\xE9\x03\xE9\x03\xE9\x03\xE9\x03\xE9\x03\xEA\x03" + "\xEA\x03\xEA\x03\xEA\x03\xEA\x03\xEB\x03\xEB\x03\xEB\x03\xEB\x03\xEB\x03" + "\xEB\x03\xEC\x03\xEC\x03\xEC\x03\xEC\x03\xEC\x03\xEC\x03\xEC\x03\xED\x03" + "\xED\x03\xED\x03\xED\x03\xED\x03\xED\x03\xED\x03\xED\x03\xED\x03\xED\x03" + "\xED\x03\xED\x03\xEE\x03\xEE\x03\xEE\x03\xEE\x03\xEE\x03\xEE\x03\xEE\x03" + "\xEE\x03\xEE\x03\xEE\x03\xEE\x03\xEE\x03\xEE\x03\xEE\x03\xEF\x03\xEF\x03" + "\xEF\x03\xEF\x03\xEF\x03\xEF\x03\xEF\x03\xEF\x03\xEF\x03\xEF\x03\xEF\x03" + "\xEF\x03\xEF\x05\xEF\u090D\n\xEF\x03\xF0\x03\xF0\x03\xF0\x03\xF0\x03\xF0" + "\x03\xF0\x03\xF0\x03\xF0\x03\xF0\x03\xF0\x03\xF0\x03\xF1\x03\xF1\x03\xF1" + "\x03\xF1\x03\xF1\x03\xF2\x03\xF2\x03\xF2\x03\xF2\x03\xF2\x03\xF3\x03\xF3" + "\x03\xF3\x03\xF4\x03\xF4\x03\xF4\x03\xF4\x03\xF4\x03\xF4\x03\xF5\x03\xF5" + "\x03\xF5\x03\xF5\x03\xF5\x03\xF5\x03\xF5\x03\xF5\x03\xF5\x03\xF6\x03\xF6" + "\x03\xF6\x03\xF6\x03\xF6\x03\xF6\x03\xF6\x03\xF6\x03\xF6\x03\xF6\x03\xF6" + "\x03\xF6\x03\xF7\x03\xF7\x03\xF7\x03\xF7\x03\xF7\x03\xF7\x03\xF7\x03\xF7" + "\x03\xF7\x03\xF7\x03\xF7\x03\xF7\x03\xF7\x03\xF8\x03\xF8\x03\xF8\x03\xF8" + "\x03\xF8\x03\xF8\x03\xF8\x03\xF8\x03\xF8\x03\xF8\x03\xF9\x03\xF9\x03\xF9" + "\x03\xF9\x03\xF9\x03\xFA\x03\xFA\x03\xFA\x03\xFA\x03\xFA\x03\xFB\x03\xFB" + "\x03\xFB\x03\xFB\x03\xFB\x03\xFB\x03\xFB\x03\xFB\x03\xFB\x03\xFC\x03\xFC" + "\x03\xFC\x03\xFC\x03\xFC\x03\xFC\x03\xFC\x03\xFC\x03\xFC\x03\xFD\x03\xFD" + "\x03\xFD\x03\xFD\x03\xFD\x03\xFE\x03\xFE\x03\xFE\x03\xFE\x03\xFE\x03\xFE" + "\x03\xFE\x03\xFE\x03\xFE\x03\xFE\x03\xFF\x03\xFF\x03\xFF\x03\xFF\x03\xFF" + "\x03\xFF\x03\xFF\x03\xFF\x03\xFF\x03\xFF\x03\u0100\x03\u0100\x03\u0100" + "\x03\u0100\x03\u0100\x03\u0100\x03\u0100\x03\u0100\x03\u0101\x03\u0101" + "\x03\u0101\x03\u0101\x03\u0101\x03\u0101\x03\u0102\x03\u0102\x03\u0102" + "\x03\u0102\x03\u0102\x03\u0102\x03\u0102\x03\u0103\x03\u0103\x03\u0103" + "\x03\u0103\x03\u0103\x03\u0103\x03\u0103\x03\u0103\x03\u0104\x03\u0104" + "\x03\u0104\x03\u0104\x03\u0104\x03\u0104\x03\u0104\x03\u0105\x03\u0105" + "\x03\u0105\x03\u0105\x03\u0105\x03\u0105\x03\u0106\x03\u0106\x03\u0106" + "\x03\u0106\x03\u0106\x03\u0106\x03\u0106"; SqlBaseLexer._serializedATNSegment1 = "\x03\u0107\x03\u0107\x03\u0107\x03\u0107\x03\u0108\x03\u0108\x03\u0108" + "\x03\u0108\x03\u0108\x03\u0109\x03\u0109\x03\u0109\x03\u0109\x03\u0109" + "\x03\u0109\x03\u010A\x03\u010A\x03\u010A\x03\u010A\x03\u010A\x03\u010A" + "\x03\u010A\x03\u010B\x03\u010B\x03\u010B\x03\u010B\x03\u010B\x03\u010C" + "\x03\u010C\x03\u010C\x03\u010C\x03\u010C\x03\u010C\x03\u010D\x03\u010D" + "\x03\u010D\x03\u010D\x03\u010D\x03\u010E\x03\u010E\x03\u010E\x03\u010E" + "\x03\u010E\x03\u010E\x03\u010F\x03\u010F\x03\u010F\x03\u010F\x03\u010F" + "\x03\u010F\x03\u010F\x03\u0110\x03\u0110\x03\u0110\x03\u0110\x03\u0110" + "\x03\u0111\x03\u0111\x03\u0111\x03\u0111\x03\u0111\x03\u0112\x03\u0112" + "\x03\u0112\x03\u0112\x03\u0112\x03\u0113\x03\u0113\x03\u0113\x05\u0113" + "\u0A04\n\u0113\x03\u0114\x03\u0114\x03\u0114\x03\u0114\x03\u0115\x03\u0115" + "\x03\u0115\x03\u0116\x03\u0116\x03\u0116\x03\u0117\x03\u0117\x03\u0118" + "\x03\u0118\x03\u0118\x03\u0118\x05\u0118\u0A16\n\u0118\x03\u0119\x03\u0119" + "\x03\u011A\x03\u011A\x03\u011A\x03\u011A\x05\u011A\u0A1E\n\u011A\x03\u011B" + "\x03\u011B\x03\u011C\x03\u011C\x03\u011D\x03\u011D\x03\u011E\x03\u011E" + "\x03\u011F\x03\u011F\x03\u0120\x03\u0120\x03\u0121\x03\u0121\x03\u0122" + "\x03\u0122\x03\u0123\x03\u0123\x03\u0123\x03\u0124\x03\u0124\x03\u0125" + "\x03\u0125\x03\u0125\x03\u0125\x07\u0125\u0A39\n\u0125\f\u0125\x0E\u0125" + "\u0A3C\v\u0125\x03\u0125\x03\u0125\x03\u0125\x03\u0125\x03\u0125\x07\u0125" + "\u0A43\n\u0125\f\u0125\x0E\u0125\u0A46\v\u0125\x03\u0125\x03\u0125\x05" + "\u0125\u0A4A\n\u0125\x03\u0126\x06\u0126\u0A4D\n\u0126\r\u0126\x0E\u0126" + "\u0A4E\x03\u0126\x03\u0126\x03\u0127\x06\u0127\u0A54\n\u0127\r\u0127\x0E" + "\u0127\u0A55\x03\u0127\x03\u0127\x03\u0128\x06\u0128\u0A5B\n\u0128\r\u0128" + "\x0E\u0128\u0A5C\x03\u0128\x03\u0128\x03\u0129\x06\u0129\u0A62\n\u0129" + "\r\u0129\x0E\u0129\u0A63\x03\u012A\x06\u012A\u0A67\n\u012A\r\u012A\x0E" + "\u012A\u0A68\x03\u012A\x03\u012A\x03\u012A\x03\u012A\x03\u012A\x03\u012A" + "\x05\u012A\u0A71\n\u012A\x03\u012B\x03\u012B\x03\u012B\x03\u012C\x06\u012C" + "\u0A77\n\u012C\r\u012C\x0E\u012C\u0A78\x03\u012C\x05\u012C\u0A7C\n\u012C" + "\x03\u012C\x03\u012C\x03\u012C\x03\u012C\x05\u012C\u0A82\n\u012C\